mirror of
https://github.com/larvit/adf-codec.git
synced 2026-11-12 11:48:29 +01:00
Answer prose round 1: 2 🔴, 7 🟡 (0 misread); retitle the decision, state its rule, and fix the carry claims
This commit is contained in:
@@ -59,7 +59,7 @@ In `docs/decisions.md`:
|
||||
- Posts announcing a release wait for its publish, and their drafts wait for the finished release
|
||||
- A chunk ruled worse merges where a plan item of its release already restores that code's reading, and that item takes the ruling's places
|
||||
- A chunk ruled worse that restructures the places takes a paired ruling after each restructure, against the same base, and merges once one is not worse
|
||||
- Writers refuse the shapes on a short list drawn from Atlassian's schema, before they write
|
||||
- Writers and carry readers refuse an inline card a link marks
|
||||
- The gate runs on Deno and Bun
|
||||
- The gate installs the tarball
|
||||
- Firefox reads the build
|
||||
|
||||
+23
-21
@@ -296,7 +296,8 @@ besides hard breaks but no node that takes a link: the panel refused to have
|
||||
`[!adf:status[Done]{color=green}](/u)` read as `/u` linked beside the status. A link text of hard
|
||||
breaks alone still reads as its destination, then the breaks (§An image reads as an image only alone
|
||||
in its paragraph). `adfToLosslessMarkdown` writes a node holding a mark its type does not take as
|
||||
`!adf:carry`, so the round-trip holds.
|
||||
`!adf:carry`, so the round-trip holds, except an inline card a link marks, which is refused
|
||||
(§Writers and carry readers refuse an inline card a link marks).
|
||||
|
||||
## A linked image is written `[](href)`, a captioned image as its directive
|
||||
|
||||
@@ -439,11 +440,9 @@ marking a node that shows a note goes around the note, and an image's own `text`
|
||||
schema, shows first, as every carried node's does. Recorded 2026-10-24 without a panel of its own:
|
||||
it joins the second panel's `<a>` to that portable spelling.
|
||||
|
||||
Atlassian's schema gives no card a link mark, so only a hand-built document holds one, and no
|
||||
element can hold both the link's target and the card's URL. Every writer refuses such a card
|
||||
(§Writers refuse the shapes on a short list drawn from Atlassian's schema, before they write). The
|
||||
maintainer chose this on 2026-11-04 over a new spelling. `htmlToAdf` still reads a carry element
|
||||
holding one, since it checks no carried node's JSON against the schema.
|
||||
HTML nests no `<a>` in an `<a>`, so no element can hold both a card's URL and the target of a link
|
||||
marking it. Every writer refuses such a card, and a carry element holding one, as the maintainer
|
||||
chose on 2026-11-04 over a new spelling (§Writers and carry readers refuse an inline card a link marks).
|
||||
|
||||
A fifth panel (2026-11-04, three readers in the same roles, then four more for what the first three
|
||||
split on) was asked how to write a mention, emoji, status, date and inline card, which until then
|
||||
@@ -750,24 +749,27 @@ stays on `insideRun` alone, since it answers the parted line. A refactor that me
|
||||
so the chunk's later rulings read against that merge, the commit `larv-review ruling-base` prints. A restructure past a
|
||||
pass's round cap still goes unreviewed, so the PR summary names it.
|
||||
|
||||
## Writers refuse the shapes on a short list drawn from Atlassian's schema, before they write
|
||||
## Writers and carry readers refuse an inline card a link marks
|
||||
|
||||
2026-11-04, replacing §No schema validation of 2026-08-23, the maintainer. Goals 1 and 6. Valid
|
||||
while Atlassian's schema forbids each shape on the list.
|
||||
2026-11-04, replacing §No schema validation of 2026-08-23 (its mark refusal 2026-08-25), the
|
||||
maintainer. Goal 1. Valid while Atlassian's schema gives a card no link mark.
|
||||
|
||||
Every writer opens by refusing a document holding a listed shape, as `unsupported-node-shape` at
|
||||
the node's path, wherever the node stands: in a node a writer carries, or under a type the library
|
||||
does not know. The list is one shape, an `inlineCard` holding a `link` mark, since the schema
|
||||
gives a card the `annotation` mark alone (§The node tables answer to Atlassian's schema). A shape
|
||||
joins only where the schema forbids it and no format can spell it, so a node type, mark or
|
||||
attribute the schema does not name passes and rides the carry. There is no full schema validation
|
||||
and no exported validator: `isAdfDocument` checks the document's shape alone. A refusal that keeps
|
||||
the round-trip is not on the list: a spelled node carrying the same mark type twice earns its own,
|
||||
and input nesting a spelling inside its own kind (`*(*a*)*`) names that mark once.
|
||||
Every writer refuses a document holding an `inlineCard` with a `link` mark, as
|
||||
`unsupported-node-shape` at the card's path, wherever the card stands: in a node a writer carries,
|
||||
or under a type the library does not know. Every carry reader, `losslessMarkdownToAdf` and
|
||||
`htmlToAdf`, refuses a carried node holding one, so no reader builds a document a writer refuses.
|
||||
The schema gives a card the `annotation` mark alone (§The node tables answer to Atlassian's
|
||||
schema), and spelling the pair would take a new spelling in each format; HTML nests no `<a>` in an
|
||||
`<a>`. Another shape joins this entry only at the maintainer's word, once the schema forbids it and every format would
|
||||
need a spelling for it. A node type, mark or attribute the schema does not name still rides the
|
||||
carry. There is no full schema validation and no exported validator: `isAdfDocument` checks the
|
||||
document's shape alone. A refusal that keeps the round-trip is no schema check and stays: a spelled
|
||||
node carrying the same mark type twice is refused on its own terms, and input nesting a spelling
|
||||
inside its own kind (`*(*a*)*`) names that mark once.
|
||||
|
||||
The earlier entry premised that the site a document is saved to validates it. A refusal before the
|
||||
save is what the viewer/editor persona relies on, and a hand-built document is the one place the
|
||||
site has not yet seen.
|
||||
The earlier entry premised that the site a document is saved to validates it. A hand-built
|
||||
document has not reached the site yet, and the viewer/editor persona relies on a refusal arriving
|
||||
before the save.
|
||||
|
||||
## The gate runs on Deno and Bun
|
||||
|
||||
|
||||
+3
-1
@@ -582,7 +582,9 @@ open or close where the run sits (`un**-real**istic`), or one CommonMark's match
|
||||
the merged run's pairing to another delimiter — rides the inline carry whole. So does every node
|
||||
holding `em`, `strike` or `strong` in a line still read back wrong after 32 tries. An opaque carry inside
|
||||
a mark spelling is a named error in input: the carry restores its node exactly, marks included
|
||||
(`docs/decisions.md` §Unknown nodes ride the carry).
|
||||
(`docs/decisions.md` §Unknown nodes ride the carry). An inline card a link marks rides no carry:
|
||||
`adfToLosslessMarkdown` refuses it as `unsupported-node-shape`, and so does `losslessMarkdownToAdf`
|
||||
reading a carry that holds one, since Atlassian's schema gives a card no link mark.
|
||||
|
||||
```
|
||||
!adf:textColor[**Overdue**]{color="#ae2e24"}, H!adf:subsup[2]{type=sub}O, !adf:underline[signed].
|
||||
|
||||
+2
-2
@@ -127,8 +127,8 @@ later release writes it as its own element.
|
||||
- a list holding a node that is no `listItem`, or an item holding a mark, text, an empty key or
|
||||
an attribute its type does not hold: the whole list rides the carry;
|
||||
- a `listItem` outside a list, an inline node in block position and a block node inline.
|
||||
- An inline card a link marks is refused as `unsupported-node-shape` wherever it stands, carried
|
||||
or not: Atlassian's schema gives a card no link mark.
|
||||
- An inline card a link marks is refused as `unsupported-node-shape`, carried or not, by `adfToHtml`
|
||||
and by `htmlToAdf` reading a carry element: Atlassian's schema gives a card no link mark.
|
||||
- A block carry's JSON nests at most 500 levels less the depth it stands at, an inline carry's at
|
||||
most 500, as in markdown.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user