Skip to content

v2.5.0 — M11 delivery-workflow codification + M12 interview completeness

Choose a tag to compare

@danielPoloWork danielPoloWork released this 01 Jul 21:46
52a5062

Two milestones, purely additive. M11 codifies the delivery workflow as data; M12 closes every gap the interview-completeness audit found in the intake interview. No breaking changes.

✨ Added — M12: interview completeness (#149#154)

  • Environment preflight (#154). A dependency-free tools/preflight.py verifies python / git / gh (+ gh auth) up front with OS-specific install hints and a non-zero exit — no more mid-run stack traces on a missing tool. The installers carry a non-Python bootstrap hint for the Python-missing case.
  • First-class web domain + enterprise posture (#149, ADR-0015). A shipped domains/web.yaml (hard accessibility + Core Web Vitals budgets, UX/content pipeline, accessibility-review + web-vitals-budget gates) — and enterprise modelled as an orthogonal governance.posture flag that raises the bar on any domain, deliberately not a fourth domain.
  • Architecture-style & pattern elicitation (#151). Q5.4 captures a structured style (Layered / Hexagonal / Clean / …), expected patterns, and an advisory | enforced discipline posture — and seeds the generated pattern catalogue instead of shipping it empty.
  • Optional layered package scaffold (#152). A service/app/web project can opt into controller / service / repository / dto / mapper / … packages under both src/main and src/test, recorded in the generated ADR-0002; a library keeps the flat shape.
  • Spec import-and-validate (#153). Phase 5 opens with Q5.0 — provenance: bring an existing PRD/SRS, get it mapped onto the six-section shape and gap-audited for testability — only the gaps are asked.
  • Authoring languages (#150, ADR-0016). Doc + code-comment language are asked unconditionally (defaults confirmed, never silent); a non-English choice renders a recorded exception into the generated AGENTS.md §2 while identifiers/API/commits stay English.

✨ Added — M11: delivery-workflow codification (#141#144)

  • PR-metadata contract as data (git.yaml pr.metadata + advisory pr_metadata_check.py).
  • Full roadmap milestone seeding (seed_milestones.py creates every MN — name milestone, not just the first).
  • Explicit "CI live & green" bootstrap gate — per-milestone PR delivery opens only after the bootstrap PR's CI is green.
  • Verbose squash-body policy — the squash commit carries the PR's context/change/verification body, never a one-liner.

🐛 Fixed

  • questionnaire.yaml silent truncation (#153 discovery). The hand-rolled loader doesn't fold multi-line quoted scalars or multi-line flow lists and silently dropped everything after the first one — phases 4–5 were partly invisible to machine consumers. Data reflowed to the loader-supported subset, with a full-parse guard + a PyYAML differential now running in CI.

Full detail in CHANGELOG.md. The factory bundle, SHA256SUMS, and the setup.* installers attach automatically when this release is published.