Skip to content

feat(feature-flow): questions deck, note tags, contract step, contract-check, acceptance deck, close-out Contract section - #10

Closed
itsdestin wants to merge 26 commits into
masterfrom
docs/feature-flow-plan
Closed

feat(feature-flow): questions deck, note tags, contract step, contract-check, acceptance deck, close-out Contract section#10
itsdestin wants to merge 26 commits into
masterfrom
docs/feature-flow-plan

Conversation

@itsdestin

@itsdestin itsdestin commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Implements docs/active/plans/2026-09-01-feature-flow-plan.md (design: docs/active/specs/2026-09-01-feature-flow-design.md). The plan was reviewed against the code first; its "Review changes" section lists what moved.

What the review deck can do now

  • Words-only steps ("words": true): a question with 1–3 written options, or a statement to approve, no picture — the questions deck asked before anything is drawn.
  • Note tags: fix now / fix later / just noting, stored as note_kind; shown only when stored.
  • Contract step (rows): the definition of done, signed off as one step. review-cards.py contract-check reads the gate's three facts (holds / signed / accepted); acceptance builds the graded deck from <feature>.contract.verdicts.json. Guards may live on the contract's branch.
  • close-out.sh gets a Contract section that relays those facts.
  • Answers files under docs/ are committed (27 files); scratch/ was already ignored.
  • The contract-agent prompt (scripts/ui-review/contract-agent.md), dry-run against the arcade's three decks: 5 rows, check holds (output in the commit message).
  • Rule .claude/rules/feature-flow.md, skill/README/MAP/CLAUDE pointers, ROADMAP entries.
  • The design's four assumptions are asked on the first questions deck (docs/active/design/2026-09-01-feature-flow/feature-flow.questions.json).

Verification on the head commit: 132 deck tests OK (5 suites run in CI, picture-free), 4 browser render tests OK, close-out-contract test OK, check-doc-commands.mjs OK, audit-anchors.mjs MECHANICAL PASS: OK. Each task was reviewed by a separate agent; a whole-branch review's three Important findings are fixed in bab1fdd. Deferred coverage debt is a ROADMAP line.

🤖 Generated with Claude Code

https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf

itsdestin and others added 22 commits September 1, 2026 13:42
…on plan

Review against origin/master bc2e656 found one defect the design rests on —
every *.answers.json is gitignored (.gitignore:97-98), so the contract's sources
had no history — plus stale positioning (taxonomy draft archived, /wrap-up and
ui-probe landed, restructure design supersedes) and a fourth appearance (the
reopen deck) the count missed. Decided: the contract IS the acceptance deck's
spec (one format); questions deck = words-only decide steps; note tags; the
plan tier and reopen default are stated as assumptions for Destin to veto (§9).

The plan: 8 tasks, all inside scripts/ui-review + close-out.sh + docs; new
tests picture-free so CI runs them.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CiVWE2jGoEVCkp9bYYtuE2
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CiVWE2jGoEVCkp9bYYtuE2
… guards on the branch, one verdicts name, contract as a words step

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…isions, not runtime output

Every *.answers.json was gitignored since deck v2 (d81214a). The contract in
docs/active/specs/2026-09-01-feature-flow-design.md resolves its rows to these
files, so they need history and a clean-checkout life. scratch/ was already
ignored on its own line, so throwaway decks need no pattern.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…ption is enough

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…he "ask wording in chat" sentence the words step replaces

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…— so nothing about it is inferred

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…e offers the buttons, selects none

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
… as one step

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…uilds the graded deck

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…pt file reads as its real cause, not a traceback

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
… acceptance deck submitted

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…hree decks

Dry run (fresh agent, inputs = the three arcade specs + answers + the template;
output kept in scratch/, not committed). Rows it wrote:
  R1 deck     Connect 4 board fills the pane width, chat below   step1-sizing#S-1
  R2 deck     chess pieces solid (you) vs hollow (opponent)      step1-sizing#S-2 (note verbatim)
  R3 human    board square contrast never below 2.0, any theme   board-contrast#B-1
  R4 live-app friend row shows a win/loss record per game        head-to-head#H-1 (note: "pill, 4W - 2L")
  R5 live-app post-match card shows the head-to-head line        head-to-head#H-2
Not covered: no questions deck existed; R3 has no known contrast guard (told not
to read code, so left human). Roadmap: none — every note was untagged.

contract-check output:
  ok: contract holds: 5 rows, every source answered and submitted, every guard found
  todo: not signed — games-arcade.contract.json has no answers file; serve games-arcade.contract.json and answer it
  todo: acceptance deck not built — write games-arcade.contract.verdicts.json, then review-cards.py acceptance games-arcade.contract.json

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
… steps, MAP and README pointers

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…e audit's matcher needs a slash before **/

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…ons deck

Served in the background (--no-open) for Destin to answer; the build proceeds on the
design's assumptions and a veto is the first reopen (design §6).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…cklist guard

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…nt prompt, statement length cap, validate before contract-check, honest counts and names

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
@itsdestin itsdestin changed the title docs(feature-flow): design reviewed and rewritten, implementation plan feat(feature-flow): questions deck, note tags, contract step, contract-check, acceptance deck, close-out Contract section Sep 2, 2026
itsdestin and others added 4 commits September 1, 2026 22:05
…cked, Q-2/3/4 'other' with questions

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…self-recording review, task breakdown, subagent build

The design's middle was one line ("draft a plan, reviewers attack it") contradicted by
an assumption that said "skip the plan". Destin asked how the backend gets designed, how
work is divided, and who checks what the builders are told. §8 now spells out 8a–8d and
narrows Q-3 to the one question it is (descriptions vs pre-written code per task). The
review loop records each round's findings with accept/reject/reverses marks, stops on a
quiet round, caps at three, and is measured after three features — there is no data
today on whether rounds improve or churn. Rule, skill step 3, deck Q-3 and ROADMAP follow.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…recommended

Q-1 acceptance deck kept; Q-2 reopen proceeds on a marked default; Q-3 tasks carry
descriptions by default (reworded after the build-stage discussion); Q-4 answers files
committed. The first pass is kept as the 202609020452 rotation.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
…estions on a YouCoded feature

The feature flow's entry point was one pointer sentence; superpowers:brainstorming fires
first on "let's build X" and asks in chat, which the flow says is not a source. Say so
where the first session reads it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F35AsThZGxRFAARcyurigf
itsdestin added a commit that referenced this pull request Sep 2, 2026
feat(feature-flow): questions deck, note tags, contract step, contract-check, acceptance deck, close-out Contract section

Reviewed and merged after resolving three conflicts against master's roadmap
restructure and archive gardening:

- ROADMAP.md: master split it into docs/roadmap/<area>.md, so the branch's three
  flat entries were re-filed into dev-workspace.md (rigs / knowledge / tests) in
  the new grammar; `node scripts/roadmap-check.mjs --fix` rewrote the index counts
  and reports Structure — clean.
- .claude/skills/ui-mockup/SKILL.md: kept the branch's build-stage steps 3–5 and
  folded master's new roadmap filing path into step 4.
- docs/active/plans/2026-09-01-feature-flow-redesign.md: the branch supersedes it
  with the clean design + plan, so the deletion stands over master's link fix.
- Two links in the design doc repointed to docs/archive/ after master's gardening
  (perf-lab plan, roadmap-restructure design).

Verified on the merge result: 132 deck tests OK (all ten Python suites; the five
CI ones pass alone), 4 deck-render browser tests OK, close-out-contract.test.sh
ok, check-doc-commands.mjs 1 run / 0 failed, audit-anchors.mjs MECHANICAL PASS
(anchors 370/370, MAP paths 345/345).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019j28PyvP4Snt1Ls47u7MFC
@itsdestin

Copy link
Copy Markdown
Owner Author

Merged to master as 9d81045 (merge commit) + a01b651 (the trailing CLAUDE.md commit, cherry-picked because it landed after the merge was built). Closing manually — the cherry-pick means the branch tip is not an ancestor of master, so GitHub won't auto-close it, but every change is on master.

Conflicts resolved against master's roadmap restructure and archive gardening:

  • ROADMAP.md — master split it into docs/roadmap/<area>.md; the three flat entries were re-filed into dev-workspace.md (rigs / knowledge / tests) in the new grammar, and roadmap-check.mjs --fix rewrote the index counts. Structure — clean.
  • .claude/skills/ui-mockup/SKILL.md — kept the branch's build-stage steps 3–5, folded master's new roadmap filing path into step 4.
  • docs/active/plans/2026-09-01-feature-flow-redesign.md — the branch supersedes it, so the deletion stands over master's link fix.
  • Two links in the design doc repointed to docs/archive/ (perf-lab plan, roadmap-restructure design).

Verified on the merge result: 132 deck tests OK (all ten Python suites), 4 deck-render browser tests OK, close-out-contract.test.sh ok, check-doc-commands.mjs 1 run / 0 failed, audit-anchors.mjs MECHANICAL PASS (anchors 370/370, MAP paths 345/345). Workspace CI green on master.

@itsdestin itsdestin closed this Sep 2, 2026
@itsdestin
itsdestin deleted the docs/feature-flow-plan branch September 2, 2026 11:11
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