Skip to content

test(prose): feature happy-path corpus — five worlds, seven cases#546

Open
leeovery wants to merge 2 commits into
prose-tests/frameworkfrom
prose-tests/feature-corpus
Open

test(prose): feature happy-path corpus — five worlds, seven cases#546
leeovery wants to merge 2 commits into
prose-tests/frameworkfrom
prose-tests/feature-corpus

Conversation

@leeovery

Copy link
Copy Markdown
Owner

Summary

  • Five feature fixtures — the canonical feature pay frozen at each phase boundary (feature-createdfeature-implemented), composed from staged builders in fixtures/_shared/feature-mainline.cjs. Engine calls mirror the pipeline simulation's pinned sequences; content files are what the prose actually reads: a template-shaped discovery session log (Exploration backfilled, per confirm-trigger), a discussion with decisions, a spec, and real local-markdown task files per the format's authoring contract. All byte-deterministic (verified twice).
  • Seven cases (tests/prose/feature/cases.md): workflow-start surfaces the fresh feature; continue-feature selection (no auto-select even with one item) and forward routing to discussion; discussion/specification/planning/review entry validation-and-handoff walks; and the implementation pickup through entry → task loop → pay-1-1 started. Entry cases carry "restraint" assertions (manifest absent … — entries must not mutate before the process skill), the pickup pins status=in-progress + current_task=pay-1-1.
  • Every routing claim was verified against the prose at authoring time — that pass caught and fixed a fixture bug pre-ship (an invented session-log shape that would have misrouted discussion entry into gather-context).

Test plan

  • npm test green: 1688 tests, 0 fail — corpus validation + all six fixtures rebuild byte-identical (~16s).
  • Implementation state contract verified live: materialised feature-planned world, ran the prescribed topic start/task init/task start calls, confirmed current_task lands on the implementation item.
  • First live walk run: suggest /prose-test --all after merge — the corpus's maiden run doubles as the framework's first real proving.

🤖 Generated with Claude Code

leeovery and others added 2 commits July 25, 2026 10:16
Stage 3a of design/prose-tests.md. The canonical feature `pay` at five
stop points (created/discussed/specified/planned/implemented), built by
staged recipes mirroring the sim's pinned call sequences with the
artifacts the prose actually reads — template-shaped session log, real
local-markdown task files. Seven cases cover start surfacing,
continue-feature selection and routing, every phase entry's
validation-and-handoff, and the implementation pickup to first task
start. Claims verified against the prose at authoring time; entry walks
pin mutation-freedom (manifest-absent assertions) and the pickup pins
the engine state contract (status + current_task).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…h — task init creates

Authoring the corpus surfaced it: no prose site anywhere issues
`topic start` for implementation — `task init` owns creation (process
Step 0's created arm), and only that arm writes analysis_cycle_total,
linters, project_skills, and current_phase. The fixture had copied the
sim's off-prose order (topic start first), leaving a world shape no
real run produces; the snapshot diff shows the four recovered fields.
The implementation case now pins mode=created on the fresh path. The
sim carries the same off-prose order — proposed separately.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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