v1.4.0 — Spec Quality & Lifecycle Hardening
What's New in v1.4.0
Phase 1 — Research: Codebase Constraints & Event Patterns
research.md now instructs the codebase analysis agent to capture two new mandatory artifacts: a Codebase Constraints table (naming conventions, mandatory patterns, ADR rules, shared utilities) and an Event / Message Patterns table with exact enum identifiers, payload interface references, and source file paths.
Phase 3 — Revalidation: Richer Review History
revalidate.md now initializes review.md with three structured sections: Open Questions Resolution, Decision Log, and Change History. Each revision cycle (Step 3D) writes to all four sub-sections. New Step 4B-post auto drift-check writes a ⚠️ Drift Warning if product-spec.md diverges from an existing spec.md at approval time.
Phase 4 — Bridge: Richer spec.md
New steps: FEATURE_TYPE detection (shared_infrastructure vs end_user) and Dependency Discovery (Step 2.5). New spec.md sections: Prerequisites, NFR Measurement Contract, Codebase Constraints, EDA Events with exact identifiers + Step 4.5 verification, Consumer Contract (shared infra only), Testing Specification. Step 5 self-checks expanded from 5 → 10 with conditional guards.
Phase 5 — Plan: Constitution Compliance Auto-Check
New Step 3.5 locates the project constitution (config.yml → constitution_path → .specify/memory/constitution.md → skip) and checks plan.md across Resilience, Privacy, Testing, EDA patterns, and Code Quality before the approval gate. config-template.yml updated with commented constitution_path key.
Bug Fixes
- Removed meta-instruction blockquotes that would have leaked verbatim into generated
spec.mdfiles - Fixed duplicate phrase in
plan.mdStep 4 - Removed accidental double
---separator after NFR Measurement Contract