Skip to content

feat(store): DESIGN gate — large/architectural features need a design citing an ADR (v0.31.0)#71

Merged
mabry1985 merged 1 commit into
mainfrom
feat/design-gate
Jul 6, 2026
Merged

feat(store): DESIGN gate — large/architectural features need a design citing an ADR (v0.31.0)#71
mabry1985 merged 1 commit into
mainfrom
feat/design-gate

Conversation

@mabry1985

Copy link
Copy Markdown
Contributor

M6 of the codified-delivery-loop plan.

  • mark_ready refuses difficulty ∈ {large, architectural} without a non-empty design that references an ADR (ADR 0077, adr-64, docs/adr/0076-…ADR_REF_RE). Error messages tell the caller exactly what to do: run due diligence, record the ADR, cite it.
  • mark_designing(fid, note) parks a pre-ready feature under a designing label — the optional waiting room in front of the gate. Informational only; the enforcement lives in mark_ready (and mark_ready clears the label going ready).
  • Deferred (per plan "optional"): the loop/skill hook that auto-runs the due-diligence workflow from the designing state.

7 new tests (no-design reject, no-ADR-ref reject, 4 accepted citation forms, small/medium untouched, park/unpark, in-flight reject). Full suite 298 passed; ruff + ruff format --check clean (with the CI-pinned 0.15.10 this time). v0.31.0 lockstep.

🤖 Generated with Claude Code

… citing an ADR (v0.31.0)

Plan M6: a large/architectural feature is a decision, not just a task.
mark_ready now refuses difficulty ∈ {large, architectural} unless the
feature's design field is non-empty AND references an ADR (ADR 0077 /
adr-64 / docs/adr/0076-… all count — ADR_REF_RE). Both fields already
existed; only the gate was missing. Small/medium untouched.

Also: mark_designing(fid, note) parks a pre-ready feature under a
'designing' label (the optional waiting room in front of the gate —
informational; the gate itself stays in mark_ready), and mark_ready
clears the label on the way to ready. The loop/skill hook that
auto-runs the due-diligence workflow from the designing state stays
deferred (the gate's error message points humans/agents at it).

7 new tests; 298 passed; ruff + format clean. v0.31.0 lockstep.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@protoquinn

protoquinn Bot commented Jul 6, 2026

Copy link
Copy Markdown

👀 Quinn is reviewing — verdict (PASS / WARN / FAIL) + findings to follow.

@protoquinn protoquinn Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA Audit — PR #71 | feat(store): DESIGN gate — large/architectural features need a design citing an ADR (v0.31.0)

VERDICT: PASS (pending terminal CI)


CI Status

  • test: in_progress ⏳

CI is still settling. Per the approve-on-green policy, this COMMENTED review promotes to APPROVED automatically once every check passes terminal-green — no manual re-review needed.


Diff Review

  • 4 files, +126/-4: version bumps (0.30.0→0.31.0), DESIGN gate logic in store.py, 7 new tests + 1 updated test in test_store.py
  • mark_ready gains a gated check for large/architectural features: design field must exist AND reference an ADR. Error messages are specific and actionable.
  • New mark_designing(fid, note) parks a pre-ready feature under a designing label — purely informational; the hard gate lives in mark_ready
  • ADR_REF_RE regex is well-constructed: case-insensitive, covers ADR 0077, ADR-77, adr/0077, docs/adr/0076-… forms

Observations

  • CLAWPATCH/INFO: structural review ran (18 features mapped) but returned zero findings — the diff is contained and non-risky
  • LOW: no unresolved CodeRabbit threads; no prior review on this PR
  • The test suite covers all gate scenarios: no-design reject, no-ADR-ref reject, 4 accepted citation forms, small/medium bypass, park/unpark, in-flight reject — 298 passed per PR description

— Quinn, QA Engineer

@protoquinn

protoquinn Bot commented Jul 6, 2026

Copy link
Copy Markdown

Submitted COMMENT review on protoLabsAI/projectBoard-plugin#71.

@mabry1985 mabry1985 merged commit 9c16f60 into main Jul 6, 2026
1 check passed
@mabry1985 mabry1985 deleted the feat/design-gate branch July 6, 2026 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant