Independent Claude + Codex review of the working-tree diff surfaced
23 issues; all applied in-place across three domains.
workflows/coding.mjs (9):
- spec/plan/verify/review prompts now git-commit their artifacts
(closes milestone-dirty-worktree halt risk)
- CHECKBOX_STATE_SCHEMA requires `state` + defensive guard in reviewWithFixLoop
- writeDocs08FieldPromptM scopes edits to module via line anchor
- assertSafeId guards Router output (module/REQ/FE ids)
- featureLoop captures reviewWithFixLoop's return value
- dateFromArtifactPath rejects impossible dates (9999-99-99 etc.)
- terminal HALT review-unresolved message disambiguated
- updated comment on top-level `return` (ESM vs node --check)
lib/validate-ddl.mjs + tests (10):
- extractType preserves unsigned/signed modifiers
- KEY/INDEX fallthrough no longer creates spurious 'KEY' columns
- FOREIGN KEY REFERENCES accepts schema-qualified `db.table`
- index keys normalized to name:kind:cols (UNIQUE-aware)
- FK keys include ON DELETE action (defaults to RESTRICT)
- CREATE TEMPORARY TABLE parsed
- parseForeignKeyBullet/parseIndexBullet reject prose bullets
- +10 regression tests (62 total, all pass)
- merge-gitignore.mjs docstring synced to implementation
skills/ (4):
- docs-06 template header: § 一~二 → § 一~三
- downstream-gen §A steps renumbered 1-7 (was 1,3,4,5,6,7,8)
- docs-08 initial template adds tokens.css checkbox
- coding-start drops "已在后台启动" wording (Workflow is synchronous)