mirror of
https://github.com/larvit/adf-codec.git
synced 2026-11-13 04:08:29 +01:00
194 lines
9.5 KiB
Markdown
194 lines
9.5 KiB
Markdown
# Comprehension history
|
|
|
|
## 2026-10-09T00:41:03Z, PR #19 at 859c952, against 9519606
|
|
|
|
Ruling: better
|
|
|
|
| Seat | Vote |
|
|
|---|---|
|
|
| Mid A | better |
|
|
| Inherited architect | better |
|
|
|
|
Mid A, decided by:
|
|
|
|
- `src/markdown/portable/task-ids.ts:7` `mintTaskIds`: one walk, no carried set filled by the parser as a side effect
|
|
- `src/markdown/parse/markdown-to-adf.ts:26` `Reading`: plain data, `codeBlockNode` no longer mutates `carried`
|
|
- `src/markdown/portable/conventions.ts:8` `flavourClaims`: one table states what each reader claims; branches name the claim they test
|
|
- `src/markdown/parse/markdown-to-adf.ts:161` `quoteNode`: the title is read in the reader's own flavour, no hop through `inlineLeaves`
|
|
- `src/index.ts:5` exports: each call named by its flavour; "plain" no longer means two things
|
|
|
|
Inherited architect, decided by:
|
|
|
|
- `src/markdown/parse/markdown-to-adf.ts:26` `Reading`: the hidden `carried` set and the retrying `mintTaskIds` are gone
|
|
- `src/markdown/parse/markdown-to-adf.ts:161` `quoteNode`: parser and emitter no longer correct only together
|
|
- `src/markdown/parse/markdown-to-adf.ts:113` `readBlock`: branches name the claim (`claims.alerts`, `claims.taskMarkers`)
|
|
- `src/index.ts:5` exports: flavour names say which file to open
|
|
- `src/markdown/portable/conventions.ts:3` `flavourClaims`: cost, all three flavours' rows live under `portable/`
|
|
|
|
## 2026-10-09T00:56:04Z, PR #19 at 5fc877e, against 9519606
|
|
|
|
Ruling: better
|
|
|
|
| Seat | Vote |
|
|
|---|---|
|
|
| Mid A | better |
|
|
| Inherited architect | better |
|
|
|
|
Mid A, decided by:
|
|
|
|
- `src/markdown/portable/conventions.ts:8` `flavourClaims`: one table says what each flavour reads; every gate reads a named field
|
|
- `src/markdown/portable/task-ids.ts:7` `mintTaskIds`: one pass, no carried set crossing modules
|
|
- `src/index.ts:5` exports: each name says which markdown it means
|
|
- `src/markdown/parse/markdown-to-adf.ts:161` `quoteNode`: no reach into the portable writer's reduction
|
|
- `src/markdown/portable/conventions.ts:20` `ReadClaims`: cost, `directiveNode` leans on a type in another file
|
|
|
|
Inherited architect, decided by:
|
|
|
|
- `src/markdown/portable/task-ids.ts:6` `mintTaskIds`: the retry loop and the parser-filled set are gone
|
|
- `src/markdown/parse/markdown-to-adf.ts:26` `Reading`: no hidden state; branches name the feature they gate
|
|
- `src/markdown/portable/conventions.ts:8` `flavourClaims`: cost, the table for all three flavours lives under `portable/`
|
|
- `src/markdown/emit/line-escaping.ts:92` `escapeClaims`: directive escaping under the flag the parser checks
|
|
- `src/markdown/emit/adf-to-markdown.ts:146` `spellPortableBlock`: no hard-coded lossless title
|
|
|
|
## 2026-10-09T01:43:11Z, PR #21 at c45320b, against 9a242c7
|
|
|
|
Ruling: better
|
|
|
|
| Seat | Vote |
|
|
|---|---|
|
|
| Mid A | better |
|
|
| Inherited architect | better |
|
|
|
|
Mid A, decided by:
|
|
|
|
- `src/markdown/parse/markdown-to-adf.ts:23` `MarkerParagraph`: the block kind says a marker's paragraph holds no lone image, where `readMarked` scanned its output afterwards
|
|
- `src/markdown/emit/image.ts:7` `tryImage`: builds what the reader would build and compares, where `imageShape` restated the shape by hand
|
|
- `src/markdown/parse/inline-content.ts:25` `InlineContent`: one rule replaces five image refusal sites over two files
|
|
- `src/markdown/external-image.ts:4` `centeredImage`: one builder for the shape three literals held
|
|
- `src/markdown/parse/inline-content.ts:550` `pieceNodes`: costs more — its image arm relies on `assemble` having linked every top-level image
|
|
|
|
Inherited architect, decided by:
|
|
|
|
- `src/markdown/external-image.ts:4` `centeredImage`: the image's ADF shape is defined once for reader, emitter and portable reducer
|
|
- `src/markdown/parse/markdown-to-adf.ts:23` `MarkerParagraph`: replaces `readMarked`'s after-the-fact search and its caller-computed flag
|
|
- `src/result.ts:1` `ConvertErrorCode`: `unmappable-image` and its refusal paths are gone
|
|
- `src/markdown/parse/inline-content.ts:43` `Image`: costs more — four functions must agree on the image's `link`
|
|
- `src/markdown/parse/inline-content.ts:26` `InlineContent`: costs more — no longer image xor nodes
|
|
|
|
## 2026-10-09T08:38:28Z, PR #21 at 1098b5e, against 9a242c7
|
|
|
|
Ruling: better
|
|
|
|
| Seat | Vote |
|
|
|---|---|
|
|
| Mid A | better |
|
|
| Inherited architect | better |
|
|
|
|
Mid A, decided by:
|
|
|
|
- `src/markdown/external-image.ts:4` `centeredImage`: one builder where three places built the image node by hand
|
|
- `src/markdown/emit/image.ts:7` `tryImage`: compares against what the reader builds, where `imageShape` restated the shape
|
|
- `src/markdown/parse/markdown-to-adf.ts:26` `TaskParagraph`: a named block kind replaces `readMarked`'s after-the-fact index search
|
|
- `src/markdown/parse/inline-content.ts:302` `assemble`: costs more — which of three readings an image takes hangs on a one-line condition and the `inLink` flag
|
|
- `src/markdown/parse/inline-content.ts:26` `InlineContent`: costs more — no longer image xor nodes
|
|
|
|
Inherited architect, decided by:
|
|
|
|
- `src/markdown/external-image.ts:4` `centeredImage`: the image shape is defined once for reader and both writers
|
|
- `src/markdown/emit/image.ts:7` `tryImage`: the emitter cannot drift from the reader
|
|
- `src/markdown/parse/markdown-to-adf.ts:136` `readBlock`: the task paragraph is routed where the block is classified
|
|
- `src/markdown/parse/inline-content.ts:302` `assemble`: costs more — the most expensive line to decode
|
|
- `src/markdown/parse/markdown-to-adf.ts:154` `paragraphsOf`: costs more — the name does not say it splits the marker line
|
|
|
|
## 2026-10-09T08:46:45Z, PR #21 at e7029c1, against 9a242c7
|
|
|
|
Ruling: better
|
|
|
|
| Seat | Vote |
|
|
|---|---|
|
|
| Mid A | better |
|
|
| Inherited architect | better |
|
|
|
|
Mid A, decided by:
|
|
|
|
- `src/markdown/emit/image.ts:7` `tryImage`: builds what the reader would build and compares, where `imageShape` restated the shape
|
|
- `src/markdown/external-image.ts:4` `centeredImage`: the image shape lives in one named file
|
|
- `src/markdown/parse/markdown-to-adf.ts:26` `TaskParagraph`: a typed block kind replaces `readMarked`'s after-the-fact search
|
|
- `src/markdown/parse/inline-content.ts:302` `assemble`: costs more — one dense ternary over `inLink`
|
|
- `src/markdown/parse/inline-content.ts:26` `InlineContent`: costs more — no longer a discriminated union
|
|
|
|
Inherited architect, decided by:
|
|
|
|
- `src/markdown/external-image.ts:4` `centeredImage`: one builder where three had to stay in step
|
|
- `src/markdown/parse/markdown-to-adf.ts:136` `readBlock`: the task paragraph is routed by a named block kind
|
|
- `src/result.ts:1` `ConvertErrorCode`: one rule no longer enforced at five sites
|
|
- `src/markdown/parse/inline-content.ts:26` `InlineContent`: costs more — `contentNode` drops `image` silently
|
|
- `src/markdown/parse/inline-content.ts:302` `assemble`: costs more — three routes from an image piece to text
|
|
|
|
## 2026-10-09T09:00:13Z, PR #22 at fe5c731, against 78655bc
|
|
|
|
Ruling: same
|
|
|
|
| Seat | Vote |
|
|
|---|---|
|
|
| Mid A | same |
|
|
| Inherited architect | same |
|
|
|
|
## 2026-10-09T09:52:41Z, PR #22 at 6f1a16b, against 78655bc
|
|
|
|
Ruling: worse
|
|
|
|
| Seat | Vote |
|
|
|---|---|
|
|
| Mid A | worse |
|
|
| Inherited architect | worse |
|
|
|
|
Mid A, decided by:
|
|
|
|
- `src/markdown/emit/inline-line.ts:106` `takeFallback`: a range may part joined breaks or carry, decided by state an earlier pass built
|
|
- `src/markdown/emit/inline-line.ts:316` `emitMarkedRun`: a carry that signals parting to `takeFallback` two levels up
|
|
- `src/markdown/emit/inline-line.ts:233` `joinsRun`: a lookahead whose shortcut holds only by `inlineRuns`' call order
|
|
- `src/markdown/emit/inline-line.ts:58` `portableLineFallback`: a second retry loop sharing the parting
|
|
- `src/adf/inline-nodes.ts:5` `InlineNodeModel.marks`: reads as "has marks", not "takes marks"
|
|
- `src/markdown/parse/inline-content.ts:328` `linkTo`: the comment hides that the breaks stay after the destination
|
|
|
|
Inherited architect, decided by:
|
|
|
|
- `src/markdown/emit/inline-line.ts:331` `emitMarkedRun`: the newline check returns a carry that is a parting signal, one fact over three functions
|
|
- `src/markdown/emit/inline-line.ts:106` `takeFallback`: two growing sets whose order matters
|
|
- `src/markdown/emit/inline-line.ts:58` `portableLineFallback`: a second retry loop with its own exit rule
|
|
- `src/markdown/emit/inline-line.ts:233` `joinsRun`: lookahead, shortcut and three conditions per break; `inlineRuns` takes the whole context
|
|
- `src/adf/inline-nodes.ts:5` `InlineNodeModel.marks`: the name hides "takes marks"
|
|
- `src/markdown/parse/inline-content.ts:328` `linkTo`: the comment no longer says an empty destination reads as nothing
|
|
|
|
## 2026-10-09T09:57:25Z, PR #22 at 45b5446, against 78655bc
|
|
|
|
Ruling: worse
|
|
|
|
| Seat | Vote |
|
|
|---|---|
|
|
| Mid A | worse |
|
|
| Inherited architect | worse |
|
|
|
|
Mid A, decided by:
|
|
|
|
- `src/markdown/emit/inline-line.ts:100` `takeFallback`: the first fallback is discarded to stop joining, known only from a comment
|
|
- `src/markdown/emit/inline-line.ts:200` `inlineRuns`: an indexed loop moving its own counter by `joinedBreaks`' result
|
|
- `src/markdown/emit/inline-line.ts:226` `joinedBreaks`: six positional parameters and two jobs
|
|
|
|
Inherited architect, decided by:
|
|
|
|
- `src/markdown/emit/inline-line.ts:101` `takeFallback`: a hidden first step that takes no fallback
|
|
- `src/markdown/emit/inline-line.ts:200` `inlineRuns`: runs built by a forward scan the reader steps through by hand
|
|
- `src/markdown/emit/inline-line.ts:56` `portableLineFallback`: checks an unjoined line while the final emit starts joined
|
|
- `src/markdown/emit/inline-line.ts:40` `LineFallbacks.joinsBreaks`: a fallbacks field whose fallback value is false
|
|
|
|
## 2026-10-09T10:02:23Z, PR #22 at f195ebd, against 78655bc
|
|
|
|
Ruling: same
|
|
|
|
| Seat | Vote |
|
|
|---|---|
|
|
| Mid A | same |
|
|
| Inherited architect | same |
|