Development record
pre-existing on the itd-183 branch: a compact nested mapping in a block sequence leaks an excluded key, and rawHTMLHeading's fence comment overclaims
pre-existing on the itd-183 branch: a compact nested mapping in a block sequence leaks an excluded key, and rawHTMLHeading's fence comment overclaims
Found by the round-9 adversarial security review of build/itd-183, and recorded rather than chased: identical on HEAD and on the parent 044ac6ed. The package does not exist on main, so nothing here is inherited from main.
- A compact nested mapping in a block sequence leaks. In frontmatter,
items:
- origin: <value>
is a real origin key to YAML, but excludedKeyLineRe's ^\s* cannot
cross the - , and flowKeyRe needs a { or a ,. The reviewer notes
this shape is MORE LIKELY TO BE TYPED BY ACCIDENT than any of the round-9
regressions -- which makes it the most probable real-world leak on the
branch, despite being the least exotic.
rawHTMLHeading's doc comment claims "a fenced line is replaced by an empty line rather than dropped". The code joins all lines unmodified and testsfenced[line]only for the OPENER, so a fenced region can still supply a bound for an unfenced heading (and, per iss-2608301237458660, a mask opener). The comment describes a behaviour the code does not have.
Both are pre-existing on the branch and are left open for the facilitator. Item 1 in particular deserves a decision: it is a genuine hole in the exclusion floor that no round has closed.
Grounds
- pursued: every compact nested mapping a frontmatter line can open behind block indicators refuses the assembly, while committed flow-mapping history rows and scalar sequences are admitted; an excluded key admitted in any such spelling, or a committed record refused by the new rule, would show it wrong
Frontmatter
| id | iss-2608301237450573 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2608301237450573-pre-existing-on-the-itd-183-branch-a.md
open on GitHub ↗ · commit history ↗
mentions6
- iss-2608301237458660maskMarkupData terminates an attribute value at the next matching quote anywhere in the document so one unclosed quote erases a raw HTML excluded heading from the scan
- iss-2608301251398360a flow-context explicit key leaks an excluded field and wants the same fix as the compact block-sequence mapping
- iss-2609261900095459The reading floor admits a YAML alias used as a key in a frontmatter block, so an excluded key travels past the redaction under a manifest asserting its refusal. `k: &a origin` followed by `*a : X` (or `m: {*a : X}`) is admitted, and a YAML reader resolves it to {origin: X}. The anchor refusal in unresolvableFrontmatterShape fires only at line start or after a block indicator (nestedBlockEntry); an anchor in value or flow position is admitted, and nothing inspects `*` at all. Same class as iss-2608301237450573.
- itd-183The cold reading sees exactly what the assembler passes — positive inclusion, field projection, and a per-run manifest
- itd-194The reading include table admits only what the exclusion floor can read
- spc-2609021003136831The include table declares what the floor parses, the floor refuses the markdown it cannot resolve, and the manifest marks every item it did not examine