Use to create the canonical `experiment-plan.md` for either the first active line or a bounded branch continuation before anchor lock.
Create the concrete validation plan that anchor-wrapper can lock.
experiment-plan is the bridge from bootstrap ideation or branch continuation into canonical active Experiment State.
Use when:
judge has already left next_experiment_action: branch and the idea-scoped plan slot is safe to reuseDo not use when:
projects/<slug>/project-brief.mdprojects/<slug>/STATE.mdprojects/<slug>/experiment-memory.mdprojects/<slug>/decision-tree.mdprojects/<slug>/workspace/bootstrap/literature-review.md when bootstrappingprojects/<slug>/workspace/bootstrap/idea-candidates.md when bootstrappingprojects/<slug>/workspace/bootstrap/novelty-check.md when bootstrappingprojects/<slug>/workspace/reviews/<experiment_id>/judge-report-<iteration>.json through latest_judge_report_ref when branchingdocs/views/experiment-plan-view.mdprojects/<slug>/plans/<idea>/experiment-plan.mdprojects/<slug>/experiment-memory.mdprojects/<slug>/STATE.mdprojects/<slug>/decision-tree.mdprojects/<slug>/plans/<idea>/anchor.mdprojects/<slug>/results.tsvprojects/<slug>/review-state.jsonmemory/*projects/<slug>/workspace/dashboard-data.jsonBefore proceeding, verify:
idea_id is knownexperiment-plan.md sectionsIf the target line cannot be identified safely, stop and report the exact ambiguity.
If there is no active experiment line yet:
novelty-check.mdIf judge already recommended branching:
judge-report.jsonDefine or confirm:
idea_idbranch_idexperiment_idparent_branch_id when the line is a branch continuationUse stable repo-safe IDs that remain short and human-readable.
Write projects/<slug>/plans/<idea>/experiment-plan.md using the documented input contract.
The plan must include:
Do not leave placeholder-level vagueness for anchor-wrapper to guess around later.
If Codex MCP is available, you may request an advisory second opinion on:
Rules:
Record any adopted critique in experiment-plan.md.
Update experiment-memory.md:
experiment_ididea_idbranch_idparent_branch_idstatus: plannedanchor_path and anchor_versionsuccess_criteria_status: unknownarchive_recommended: falsehuman_review_required: falsenext_experiment_action: wait-humanlast_updatedPreserve prior history tables and branch outcomes for older lines.
Update decision-tree.md:
Governance Snapshot.active_idea_idGovernance Snapshot.primary_branch_idActive Branch RegisterDecision Log row when the plan came from a judged branch recommendationDo not claim the anchor exists yet. This step establishes a planned active line, not a locked one.
Update STATE.md:
phase: phase1project_status: runningactive_idea_idactive_branch_idnext_action: lock the anchor for the planned linedecision_mode: auto-reporthuman_attention: nonedecision_type and decision_options_reflast_completed_skill: experiment-planlast_updatedStop without writing if:
When stopping, report the exact blocking contract issue.
experiment-plan.mdexperiment-memory.mddecision-tree.md only to reflect a planned active branch, not a locked anchoranchor.md, results.tsv, review-state.json, and dashboard data untouched