Commits
coverage() built its citation set from a tracked-files-only `git grep`
that also counted any mention, inverting the signal (closes #1):
- A just-written, unstaged test (normal TDD) was invisible, so a done
requirement read UNCOVERED until `git add`.
- A bare ID mention in PLAN.md/README.md marked a requirement covered
with zero tests, contradicting "verified when -> a test cites the ID".
Add `--untracked` (still honors .gitignore, so dist/ and node_modules/
stay out) and `:(exclude)*.md` so coverage means a test-or-code
citation, not prose. Excluding docs also moots the range/slash
shorthand under-citation, which was only reachable from prose.
Update the SKILL.md COVERAGE notes to describe the scan scope and bump
the requirements-yaml skill to 0.6.1 (scaffolding URLs + README follow).
Define the actors named in functional "As a <role>" headings: an optional
top-level roles map (role -> who they are and their authority), kept before
functional. Wired through all format artifacts:
- template: roles block + header comment
- schema: roles property with roleName/roleDescription defs
- SKILL.md: Roles section, structure skeleton, checklist, sensor docs
- check.mjs: advisory cross-check emitting ROLE-UNDEFINED / ROLE-UNUSED
(grammar tier, gated on a roles map existing)
- README: roles bullet
- requirements.schema.json + requirements.template.yaml -> repo root
(the format is the product; the skills are an instruction-only addon).
- Format skill Scaffolding, discover skill, and README now reference the
two files at root and vendor them from pinned raw URLs
(raw.githubusercontent.com/andrioid/requirements-yaml/v0.3.0/...).
- Template keeps its relative $schema; validates from the root path.
Note: the v0.3.0 vendor URLs resolve only once a v0.3.0 tag is pushed.
- Restructure to skills/<name>/ layout (CLI-discoverable); move format skill
and its schema/template into skills/requirements-yaml/ (no root SKILL.md).
- New requirements-implement skill: verified-when -> test, build, cite ID.
- New requirements-discover skill: infer requirements from code; capability
from surface, verified-when from tests, so-that marked [?] for confirmation.
- Format skill 0.2.0 -> 0.3.0: add Traceability (IDs cited outside the file)
and Provisional clauses ([?] marker) affordances the workflows depend on.
- Rewrite README for the three-skill layout and @<skill> install commands.
- Separator | -> ; (tight prose style: no space before, one after; parsers may tolerate surrounding whitespace).
- New optional top-level docs map: <filename> -> description of what it is and when to read it; kept at the file's end.
- Bump skill version 0.1.0 -> 0.2.0 and sync README, template, and schema ($defs docPath/docDescription).
coverage() built its citation set from a tracked-files-only `git grep`
that also counted any mention, inverting the signal (closes #1):
- A just-written, unstaged test (normal TDD) was invisible, so a done
requirement read UNCOVERED until `git add`.
- A bare ID mention in PLAN.md/README.md marked a requirement covered
with zero tests, contradicting "verified when -> a test cites the ID".
Add `--untracked` (still honors .gitignore, so dist/ and node_modules/
stay out) and `:(exclude)*.md` so coverage means a test-or-code
citation, not prose. Excluding docs also moots the range/slash
shorthand under-citation, which was only reachable from prose.
Update the SKILL.md COVERAGE notes to describe the scan scope and bump
the requirements-yaml skill to 0.6.1 (scaffolding URLs + README follow).
Define the actors named in functional "As a <role>" headings: an optional
top-level roles map (role -> who they are and their authority), kept before
functional. Wired through all format artifacts:
- template: roles block + header comment
- schema: roles property with roleName/roleDescription defs
- SKILL.md: Roles section, structure skeleton, checklist, sensor docs
- check.mjs: advisory cross-check emitting ROLE-UNDEFINED / ROLE-UNUSED
(grammar tier, gated on a roles map existing)
- README: roles bullet
- requirements.schema.json + requirements.template.yaml -> repo root
(the format is the product; the skills are an instruction-only addon).
- Format skill Scaffolding, discover skill, and README now reference the
two files at root and vendor them from pinned raw URLs
(raw.githubusercontent.com/andrioid/requirements-yaml/v0.3.0/...).
- Template keeps its relative $schema; validates from the root path.
Note: the v0.3.0 vendor URLs resolve only once a v0.3.0 tag is pushed.
- Restructure to skills/<name>/ layout (CLI-discoverable); move format skill
and its schema/template into skills/requirements-yaml/ (no root SKILL.md).
- New requirements-implement skill: verified-when -> test, build, cite ID.
- New requirements-discover skill: infer requirements from code; capability
from surface, verified-when from tests, so-that marked [?] for confirmation.
- Format skill 0.2.0 -> 0.3.0: add Traceability (IDs cited outside the file)
and Provisional clauses ([?] marker) affordances the workflows depend on.
- Rewrite README for the three-skill layout and @<skill> install commands.
- Separator | -> ; (tight prose style: no space before, one after; parsers may tolerate surrounding whitespace).
- New optional top-level docs map: <filename> -> description of what it is and when to read it; kept at the file's end.
- Bump skill version 0.1.0 -> 0.2.0 and sync README, template, and schema ($defs docPath/docDescription).