Development record
a trailing comment on a frontmatter key defeats every blank spelling the record_schema gate refuses because the shared same-line scanner strips no comments
a trailing comment on a frontmatter key defeats every blank spelling the record_schema gate refuses because the shared same-line scanner strips no comments
Found by the round-5 ruthless review of the fix for iss-2608301649337965, which closed three of the four spellings that record enumerates and left the fourth.
frontmatter.Fields is a same-line scanner that strips no comments, so the
value it hands every gate is the raw remainder of the line. isAbsentValue
anchors each of its emptiness tests on the LAST byte — isNull compares the
whole string, and isEmptyFlowCollection requires the closing bracket at the
end — so a trailing comment defeats all of them at once:
grounds: {} # todo
grounds: [] # todo
grounds: ~ # todo
grounds: "" # todo
Probed end to end through Lint: each draws ZERO record_schema findings on an
admission that is otherwise well formed. admittedProposals never reads
grounds, so it keys (rdg-1, rdi-2) as admitted and rdi-2 drops out of
report.Undispositioned — the exact mechanism iss-2608301649337965 describes,
reached by a fourth spelling.
It is NOT scoped to grounds, and that is what makes it a scanner question
rather than a predicate one: severity: minor # todo reads as the value
minor # todo to the enum leg, and every same-line scalar in every store is
read the same way.
Remedy is a comment strip in the ONE scanner, and it is not a one-liner: YAML
starts a comment only at a # preceded by whitespace and outside quotes, so a
naive split truncates a legitimate value containing a hash. It belongs where the
scanner lives, not in isAbsentValue, or the same escape stays open for every
gate that reads a value some other way.
Grounds
- pursued: we expect a comment stripped in the shared scanner to close the escape for every gate at once, rather than for the one predicate the defect was reported against; a value containing a legitimate hash that the scanner truncates, or a commented blank that still reaches a gate as a value, would show it wrong.
Frontmatter
| id | iss-2608301744268001 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | major |
.abcd/work/issues/resolved/iss-2608301744268001-a-trailing-comment-on-a-frontmatter-key.md
open on GitHub ↗ · commit history ↗
mentions5
- iss-2608301649337965isAbsentValue reads an empty flow sequence as absent but not an empty flow mapping or an explicit null tag so a blank grounds passes the gate and silences the report
- iss-2608301808193750the blank grounds enumeration claims the trailing comment is the last gap while eleven further nothing carrying spellings pass green
- itd-189What the widening reading proposes is admitted or declined on the record — grounds on admission, dispositions on declines, and surprises as their own entries
- itd-2609020625400194An admission and a surprise are written by a verb, and the order the design fixes is a refusal
- spc-2609020626040342The admission and surprise verbs: one act, two records, and the ruled order held as a refusal