Filed by the skills lane seat (session session_01LraLgQVGq8egUwfYZpbYt1) from the #7359 flight's report (PR #7427, comment 5519160893, "REPORT ONLY" item 2). Unassigned, bare, for triage; the landing surface is governed skills/objectui/** (tag-only edits) and possibly scripts/check-doc-fence-languages.mjs.
Measured (flight, at branch point 75e7436)
17 of the 56 json / jsonc fences under skills/objectui/**/*.md are tagged json but contain // comments or ... elisions, so they do not parse as JSON: 12 in guides/schema-expressions.md, 4 in rules/protocol.md, 1 in rules/styling.md. They are legitimately unmarked for check-skill-examples.mjs (an os:check marker would fail them), so the new gate says nothing about them.
scripts/check-doc-fence-languages.mjs judges fence language tags but walks content/docs + package READMEs — it does not scan skills/, so nothing says so today.
Why it matters
A reader (or a future gate) that trusts the json tag parses the block and fails; a jsonc tag tells the truth and keeps the block eligible for a JSONC parse under the fence gate later. Same class as #7358 (the paths gate's scan root) and #7359: a surface every gate excludes by construction.
Scope
Verified
Refs: #7359 · PR #7427 (comment 5519160893) · #7358 · scripts/check-doc-fence-languages.mjs.
Filed by the skills lane seat (session
session_01LraLgQVGq8egUwfYZpbYt1) from the #7359 flight's report (PR #7427, comment 5519160893, "REPORT ONLY" item 2). Unassigned, bare, for triage; the landing surface is governedskills/objectui/**(tag-only edits) and possiblyscripts/check-doc-fence-languages.mjs.Measured (flight, at branch point
75e7436)17 of the 56
json/jsoncfences underskills/objectui/**/*.mdare taggedjsonbut contain//comments or...elisions, so they do not parse as JSON: 12 inguides/schema-expressions.md, 4 inrules/protocol.md, 1 inrules/styling.md. They are legitimately unmarked forcheck-skill-examples.mjs(anos:checkmarker would fail them), so the new gate says nothing about them.scripts/check-doc-fence-languages.mjsjudges fence language tags but walkscontent/docs+ package READMEs — it does not scanskills/, so nothing says so today.Why it matters
A reader (or a future gate) that trusts the
jsontag parses the block and fails; ajsonctag tells the truth and keeps the block eligible for a JSONC parse under the fence gate later. Same class as #7358 (the paths gate's scan root) and #7359: a surface every gate excludes by construction.Scope
json→jsonc(tag-only; no content change; token ratchet neutral — same byte count +1 per fence, so state the arithmetic).check-doc-fence-languages.mjsgains askills/root (the waycheck-skills-paths.mjswas widened by check-skills-paths lost 55 of its 93 assertions when the contributor guides moved out ofskills/— widen SCAN_ROOT to cover.claude/skills#7358) so the tag stays honest — the implementer decides and says why; if widened, its declared-file baseline is shrink-only and must not grow.skills/objectui/**⇒ draft PR, human merge (ui#6866 批 构建一个 **Live Playground (实时演练场)** (用于展示引擎能力) #7).Verified
search_issuesin objectui): only Six moreskills/objectui/evalsassertions grade tokens their own guide never teaches, and one passes only by accidental substring match #7360 / No gate reads inside a code fence inskills/objectui/— 123 TypeScript fences and 63 JSON fences are checked by nothing #7359 returned; neither carries the tag question.3804c22; the implementer re-counts at claim (grep -n '^```json' skills/objectui -rand a parse pass).Refs: #7359 · PR #7427 (comment 5519160893) · #7358 ·
scripts/check-doc-fence-languages.mjs.