You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: verify.sh Check 3 accepted an item-less paths: key whose trailing comment supplied the "globs" — paths: # optional; omit at the three fixed roots passed the emptiness check on the comment's own words — so a navigator could ship the key with nothing in it while the contract promised that was rejected (plugin/skill-engine/engine-bootstrap-templates/verify.sh).
change: Check 3 now reads a paths: value the way YAML does — one gathering pass over the key line's remainder plus every line up to the next key, one counter — discounting trailing comments on every line while keeping a # inside a quoted scalar or glued to a path segment, dropping item dashes and one layer of flow brackets, and treating ~, null and {} as no glob; - # todo, - "", paths: ~, paths: {} and a bare paths: | are rejected, a glob written on the lines under the key is accepted, and an unclosed flow sequence or a repeated top-level key fails with its own diagnostic — still with no YAML interpreter (plugin/skill-engine/engine-bootstrap-templates/verify.sh).
change: the artifact contract states the comment, null, unclosed-sequence and repeated-key rules Check 3 enforces, and its conventions table marks paths: as Claude Code-scoped rather than part of the cross-platform frontmatter guarantee (plugin/skill-engine/docs/02-artifact-contract.md).
fix: the walkthrough and the contract's conventions table still asserted the two-field frontmatter ceiling that v0.10.0 retired when it admitted paths:, contradicting the templates two chapters over (plugin/skill-engine/docs/11-walkthrough.md, plugin/skill-engine/docs/02-artifact-contract.md).
add: tests/frontmatter-ceiling-sweep sweeps every tracked *.md and *.md.template — excluding only the top-level CHANGELOG.md and generated *-context/references/ — for any phrasing of the retired ceiling, normalising blockquote markers, hard-wraps and emphasis before matching, because the ceiling had already regressed once past a fixed-file guard that read only the sections it was pointed at (plugin/skill-engine/tests/frontmatter-ceiling-sweep/).
add: tests/check3-paths-comment pins the full paths: acceptance matrix against Check 3, with a reject verdict that names which failure fired (reject:paths, reject:keys or both) instead of passing on any [FAIL] in the section, and seventeen mutation controls that each break the checker one way and confirm the suite notices (plugin/skill-engine/tests/check3-paths-comment/).
change: the Check 3 section-isolation harness and the mutation-control scaffold move into tests/lib/nav_gate.sh and tests/lib/mutate.sh, shared by the four suites and thirty controls that used to carry their own copies; monorepo-config-check honours VERIFY_SH so its fixture matrix is no longer retyped (plugin/skill-engine/tests/lib/, plugin/skill-engine/tests/monorepo-config-check/run.sh).