feat: add readiness gate, E2E lane split, and design propagation#120
Merged
feat: add readiness gate, E2E lane split, and design propagation#120
Conversation
- New recipe-prepare-implementation: verifies the work plan is implementable and resolves gaps via Phase 0 tasks before build, or exits no-op when readiness criteria already pass. - Implementation Readiness header on work plans: work-planner emits "pending"; recipe-*-build and recipe-*-implement halt-and-confirm on pending or escalated. - Split E2E into two lanes: fixture-e2e (browser harness with mocked backend, ROI >= 20 floor, MAX 3) and service-integration-e2e (against live local stack, ROI > 50, MAX 1-2, final phase only). acceptance-test-generator output schema, work-planner gap check, and test-implement guidance updated accordingly. - UI Spec component and Connection Map propagation: work-planner produces task-mapping tables; task-decomposer routes the relevant rows into each task's Investigation Targets so design context reaches the executor. - Design-side update path in recipe-review and recipe-front-review: per-finding c/d/s routing with "accept all recommended routes" default. Step 5d (DD update via technical-designer + document-reviewer + design-sync) runs before code-side fixes. - Consumed Task Set in build recipes: a single restricted task pattern is computed up front and reused for the readiness gate, autonomous execution, and final cleanup, preventing stale or cross-recipe task files from being picked up. - Final Cleanup in every task-creating recipe: docs/plans/ is treated as ephemeral working state. README adds a FAQ recommending users gitignore it. - Anchored examples in language-agnostic skills: integration-e2e-testing references RTL+MSW for React/TS as one example among possible stacks; work-planner / task-decomposer follow the same pattern. Atomic Design coverage targets become opt-in in frontend skills. - Dependency direction enforced: agents and skills no longer name specific recipes; subagents-orchestration-guide uses abstract external-orchestration terminology. Version 0.16.17 -> 0.17.0. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The previous version of recipe-prepare-implementation's description listed
specific build-recipe names; build-recipe internals named owners by recipe
("owned by recipe-X"). Per the recipe -> agent -> skill dependency direction
principle, recipe-to-recipe references in machine-read metadata and internal
LLM-facing rationale are not allowed (user-facing AskUserQuestion text remains
permitted as actionable guidance).
- recipe-prepare-implementation description and the no-work-plan stop message
no longer name specific recipes.
- Build recipes' Consumed Task Set rationale describes excluded files by their
workflow-phase purpose (readiness preflight tasks / decomposition overview /
phase-completion files / post-implementation review fixes / integration-test
add-on scaffolding) instead of by owning recipe name.
User-facing pending-halt prompts in build/implement recipes still name
/recipe-prepare-implementation as the suggested next action — those are user
announcements and the principle exception applies.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Strengthens the workflow so design and verification context reaches the executor and the implementation is observable from Phase 1, by adding a readiness gate, splitting E2E into two lanes, and propagating design context through the planning chain.
Changes
New:
recipe-prepare-implementationA self-contained recipe that runs after work-plan approval and before any
recipe-*-buildinvocation. Verifies five readiness criteria (Verification Strategy references resolve, E2E preconditions covered, Phase 1 observability, UI rendering surface, local lane procedure) and resolves gaps via Phase 0 tasks through the standard 4-step cycle. Exits no-op when readiness is already satisfied. Registered underdev-workflowsonly (thedev-workflows-frontendplugin uses it through the dev-workflows plugin when both are installed).Implementation Readiness gate
work-planneremitsImplementation Readiness: pendingin the plan header.recipe-*-buildandrecipe-*-implementread the marker and halt-and-confirm viaAskUserQuestionwhen status ispendingorescalated.recipe-prepare-implementationpromotes the marker toreadyorescalatedand persists a## Implementation Readiness Reportsection into the work plan body.subagents-orchestration-guidedescribes the marker contract abstractly without naming specific recipes (preserves recipe → agent → skill dependency direction).E2E lane split (fixture-e2e / service-integration-e2e)
acceptance-test-generatoroutput schema replacesgeneratedFiles.e2ewithgeneratedFiles.fixtureE2e/generatedFiles.serviceE2e; per-lane absence reasons.work-plannerE2E gap check evaluates each lane independently with explicit AND/OR grouping.test-implement/references/e2e.mddocuments both Playwright patterns (fixture interception vs live-stack seed/auth).UI Spec component and Connection Map propagation
work-plannerproduces a UI Spec Component → Task Mapping table (when a UI Spec is provided) and a Connection Map table (when implementation crosses runtime boundaries).task-decomposerpropagates matching rows into each task's Investigation Targets so the executor sees the relevant UI Spec sections and boundary context.ui-spec-designeradds a heading uniqueness rule and disambiguation pattern so component references resolve uniquely.Design-side update path in review recipes
recipe-reviewandrecipe-front-reviewchange Step 4 from a single fix-all toggle to per-finding routing:c(code-side fix),d(DD update),s(skip), with an "accept all recommended routes" default offer.technical-designer(update mode) →document-reviewer→design-sync(when multiple DDs exist) before code-side fixes, so DD updates can dropcfindings that become satisfied.Consumed Task Set in build recipes
recipe-build,recipe-front-build, andrecipe-fullstack-buildcompute a single restricted task set ({plan-name}-task-*.mdfor single-layer;{plan-name}-{layer}-task-*.mdfor fullstack), excluding*-task-prep-*,_overview-*,*-phase*-completion,review-fixes-*,integration-tests-*-task-*.task-decomposerruns.Final Cleanup pattern
docs/plans/(it's ephemeral working state).Anchored examples (language-agnostic posture)
integration-e2e-testingand related agent files reference RTL+MSW for React/TS as one example among possible stacks (e.g., MSW for JS/TS, WireMock for JVM, responses for Python). Playwright remains the default browser harness reference.When the project adopts Atomic Design ...) inquality-fixer-frontend,test-implement/references/frontend.md,typescript-rules,technical-designer-frontend.Dependency direction enforcement
recipe-prepare-implementation,recipe-plan).external orchestration/upstream planning flow).Version
0.16.17→0.17.0(semver minor: new recipe and new behavior, no breaking change to recipe invocations).Test Plan
claude plugin validatepasses for marketplace.json and all three plugin manifests (run by lefthook pre-commit; verified locally).pnpm syncregeneratesdev-workflows/,dev-workflows-frontend/,dev-skills/without diff against the canonical sources./recipe-prepare-implementation [plan-path]invocation in a sample project: verifies readiness criteria, generates Phase 0 prep tasks when gaps exist, exits no-op when ready, persists Readiness Report./recipe-buildwith apendingwork plan: confirms halt-and-ask via AskUserQuestion./recipe-reviewwith mixedc/dfindings: confirms Step 5d runs before Step 6 and DD updates drop satisfiedcfindings.