10 - lossy conversion keeps the content, and a reader panel settles what the audience expects #127
@@ -36,8 +36,9 @@ In priority order.
|
|||||||
form carries only what CommonMark cannot hold.
|
form carries only what CommonMark cannot hold.
|
||||||
5. **Lossy conversion keeps the content.** `adfToPlainMarkdown` and `plainMarkdownToAdf` drop what
|
5. **Lossy conversion keeps the content.** `adfToPlainMarkdown` and `plainMarkdownToAdf` drop what
|
||||||
plain markdown cannot hold — format, design, structure — never content: what a reader of the
|
plain markdown cannot hold — format, design, structure — never content: what a reader of the
|
||||||
rendered document sees or follows, its text, images and link targets. What is dropped goes the
|
rendered document sees or follows, its text, images and link targets. Content the document only
|
||||||
way the audience expects.
|
references is marked where it stood, by a note that reads as the converter's and names what was
|
||||||
|
left out. What is dropped goes the way the audience expects.
|
||||||
6. **Failures are values.** Nothing throws, and `code` is a closed list — as much a contract as
|
6. **Failures are values.** Nothing throws, and `code` is a closed list — as much a contract as
|
||||||
the emitted formats are.
|
the emitted formats are.
|
||||||
7. **Nothing in the way.** No runtime dependencies, no I/O, no configuration, no host API: ESM on
|
7. **Nothing in the way.** No runtime dependencies, no I/O, no configuration, no host API: ESM on
|
||||||
|
|||||||
@@ -15,14 +15,15 @@ Start a session with: `Read AGENTS.md and todo.md, then do what todo.md's "Next
|
|||||||
states, which wins over where an item's bullet sits: a newly filed item is written beside the
|
states, which wins over where an item's bullet sits: a newly filed item is written beside the
|
||||||
one it came in with, not at its own place in the order. Where that item has no release, the
|
one it came in with, not at its own place in the order. Where that item has no release, the
|
||||||
planning chunk §15 describes.
|
planning chunk §15 describes.
|
||||||
3. In flight: nothing.
|
3. In flight: 10a on the local branch `10a` (worktree `../adf-codec-10a`, `8a3a83f`), built before
|
||||||
|
item 10's rows were rewritten on 2026-09-25; rework it against them.
|
||||||
4. Before stopping, rewrite this section: the in-flight line, and the prompt itself wherever the
|
4. Before stopping, rewrite this section: the in-flight line, and the prompt itself wherever the
|
||||||
session found it wrong or short.
|
session found it wrong or short.
|
||||||
|
|
||||||
## Milestones
|
## Milestones
|
||||||
|
|
||||||
Shipping order: 3h, 3i, 3j, 5a, 5b, 5c, 5d, 5 → `0.1.0` (shipped 2026-09-05); 3k, 11, 4, 12, 13, 4b,
|
Shipping order: 3h, 3i, 3j, 5a, 5b, 5c, 5d, 5 → `0.1.0` (shipped 2026-09-05); 3k, 11, 4, 12, 13, 4b,
|
||||||
4c, 14, 15, 16, 18, 4d, 28, 17, 29, 19, 20, 21, 22, 32, 23, 24, 25, 30, 26, 27, 10, 6, 7, 31, 5f, 5g →
|
4c, 14, 15, 16, 18, 4d, 28, 17, 29, 19, 20, 21, 22, 32, 23, 24, 25, 30, 26, 27, 10, 6, 7, 31, 33, 5f, 5g →
|
||||||
`0.2.0`;
|
`0.2.0`;
|
||||||
8, 9 → TBD; 5e last.
|
8, 9 → TBD; 5e last.
|
||||||
The numbering is the order the work was planned in, not the order it ships. Everything known and
|
The numbering is the order the work was planned in, not the order it ships. Everything known and
|
||||||
@@ -43,6 +44,8 @@ HTML doubles the importers and the file count they touch, and 25 to 27 because t
|
|||||||
panel says the next reader pays for.
|
panel says the next reader pays for.
|
||||||
29 and 30 come from 17's prose pass (2026-09-20). 29 reads first because every goal is what a later
|
29 and 30 come from 17's prose pass (2026-09-20). 29 reads first because every goal is what a later
|
||||||
ask is settled against, 19's included; 30 sits beside 25, the other chunk rereading AGENTS.md.
|
ask is settled against, 19's included; 30 sits beside 25, the other chunk rereading AGENTS.md.
|
||||||
|
33 comes from 10a (2026-09-25) and reads beside 31, the other chunk about what the pipeline
|
||||||
|
measures.
|
||||||
31 comes from 20's gate runs (2026-09-21) and reads beside 5f, the other chunk putting a measured
|
31 comes from 20's gate runs (2026-09-21) and reads beside 5f, the other chunk putting a measured
|
||||||
number under the pipeline. 32 comes from 21's review (2026-09-21) and reads beside 22, the other
|
number under the pipeline. 32 comes from 21's review (2026-09-21) and reads beside 22, the other
|
||||||
chunk clearing a §11 seam.
|
chunk clearing a §11 seam.
|
||||||
@@ -56,6 +59,9 @@ chunk clearing a §11 seam.
|
|||||||
upward, so the first raise to the measured figure reddens a run that changed nothing. Make
|
upward, so the first raise to the measured figure reddens a run that changed nothing. Make
|
||||||
the measurement repeatable, or state the number the floor may be raised to and why it is not
|
the measurement repeatable, or state the number the floor may be raised to and why it is not
|
||||||
the measured one.
|
the measured one.
|
||||||
|
- [ ] **33 — A carried mark run costs the line one re-emit (`0.2.0`).** `adfToMarkdown` spends 23 s
|
||||||
|
on one paragraph of 2000 × `un` plus `**-r**`: each run its flanking cannot spell re-emits the
|
||||||
|
whole line before riding the carry, quadratic in the runs (§11 Bounds). Make it linear.
|
||||||
- [x] **24 — The conformance gates have a directory (`0.2.0`).**
|
- [x] **24 — The conformance gates have a directory (`0.2.0`).**
|
||||||
- [x] **25 — AGENTS.md §8 and §11 are findable (`0.2.0`).**
|
- [x] **25 — AGENTS.md §8 and §11 are findable (`0.2.0`).**
|
||||||
- [x] **26 — The two mutable structures say what they guarantee (`0.2.0`).**
|
- [x] **26 — The two mutable structures say what they guarantee (`0.2.0`).**
|
||||||
@@ -220,7 +226,8 @@ chunk clearing a §11 seam.
|
|||||||
its text being the editor's prompt rather than the document's; a node no row names, or one
|
its text being the editor's prompt rather than the document's; a node no row names, or one
|
||||||
standing where no spelling holds it, its blocks or its text.
|
standing where no spelling holds it, its blocks or its text.
|
||||||
- Content the document only references — a stored file with no `alt`, an extension with no
|
- Content the document only references — a stored file with no `alt`, an extension with no
|
||||||
`text`, a `syncBlock`, a card with neither `url` nor `data` naming one — leaves MARKER.
|
`text`, a `syncBlock`, a card with neither `url` nor `data` naming one — leaves an italic note
|
||||||
|
naming it: `*(image not included)*`, `*(jira-issues-table not included)*`.
|
||||||
- A table stays a pipe table: the first row becomes the header, a cell's blocks join on one line
|
- A table stays a pipe table: the first row becomes the header, a cell's blocks join on one line
|
||||||
with spaces, and a span keeps its cell under its header by empty cells in the columns and
|
with spaces, and a span keeps its cell under its header by empty cells in the columns and
|
||||||
rows it covered, padding at most to the table's cell count.
|
rows it covered, padding at most to the table's cell count.
|
||||||
|
|||||||
Reference in New Issue
Block a user