T-9DOK-site-check-gate-hardening
Status: closed/done · Impact: high · Complexity: medium
Lock the invariants in: a --check mode gates drift in
quality_checks, a determinism/collision suite pins the failure
modes, and the skills that narrate the site catch up with the new
model. Closes T-ETML-decouple-regen-from-task-work-prs.
D-0010-deterministic-site-assembly §6, Migration Phase 8.
| Location | Role today |
|---|---|
plugin/lib/services/docs/ops/generate.ts | No check/dry-run mode |
sdlc.yaml | quality_checks has no site-drift gate |
plugin/skills/docs/SKILL.md | Predates the supplemental model |
.claude/skills/dev-update-docs/SKILL.md | Semantic-verify scope still spans pages that are now generated |
docs/planning/tasks/T-ETML-decouple-regen-from-task-work-prs.md | Open; its coupling concern is resolved by design |
Proposed
Section titled “Proposed”sdlc docs generate site --check runs the full pass against a
throwaway target and exits non-zero when regeneration would change
anything; quality_checks gains the verb. The test suite pins:
idempotency two-pass over the real corpus, every collision class
(route, reserved namespace, label), foreign-file classification, and
manifest validation errors. The docs skill and /dev-update-docs
update — semantic verification shrinks to site/supplemental/.
T-ETML closes with a completion note citing --check.
Approach
Section titled “Approach”--checkflag on the generate op (throwaway target + diff; non-zero on drift).- Add the verb to
sdlc.yamlquality_checks. - Determinism/collision suite consolidation (fill gaps the phase tasks left).
- Skill updates:
docs,/dev-update-docs, per-skill docs; changelog entry for the milestone. - Close T-ETML-decouple-regen-from-task-work-prs
(closed/obsoleted, completion note →
--check).
Files to touch
Section titled “Files to touch”| Location | Kind | Change |
|---|---|---|
plugin/lib/services/docs/ops/generate.ts | modify | --check |
sdlc.yaml | modify | Drift gate verb |
plugin/skills/docs/SKILL.md | modify | Supplemental model |
.claude/skills/dev-update-docs/SKILL.md | modify | Scope shrink |
docs/skills/docs.md | modify | Per-skill doc refresh |
site/src/content/docs/changelog.md’s source under site/supplemental/ | modify | Milestone entry |
docs/planning/tasks/T-ETML-decouple-regen-from-task-work-prs.md | modify | Close |
plugin/lib/services/docs/tests/ | modify | Suite consolidation |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1: With uncommitted site drift,
sdlc docs generate site --checkexits non-zero naming the drifted pages; clean tree exits 0. - AC-2: The quality gate catches a PR that changes an entity without regenerating the site.
- AC-3: T-ETML closed with completion note; skills name the supplemental model and nothing retired.
Out of scope
Section titled “Out of scope”- CI/deployment wiring beyond
quality_checks.
Dependencies
Section titled “Dependencies”- T-9LZ4-site-supplemental-migration, T-EC4B-site-corpus-high-volume-types, T-9LHH-site-roadmap-generated — the full surface must exist before the gate pins it.
Discovery context
Section titled “Discovery context”Extracted from D-0010-deterministic-site-assembly Migration Phase 8.
Depends on
Section titled “Depends on”T-9LZ4-site-supplemental-migration, T-EC4B-site-corpus-high-volume-types, T-9LHH-site-roadmap-generated