Usage tiers¶
Start with Tier 1 if you only need a plan. Use Tier 2 for your first run. Each tier adds to the previous one. These are workflow choices, not settings or pricing levels. Install the plugin for your host first. For the whole thing in order, read a day with Mycelium Extra.
Tier |
Use it when |
Add these tools |
|---|---|---|
1. Plan |
You want to clarify a question before writing or running code |
|
2. Run with approval |
You want execution checked against your plan |
|
3. Verify reportable work |
You will use the outputs in a finding or report |
|
4. Full project workflow |
You need structure, independent review, and continuity |
|
Examples use Claude Code’s /mycelium-extra: prefix. In Codex, use
$mycelium-extra: instead. In OpenCode, use the same /mycelium-extra:
commands (@grill also works), and send the same approve plan <hash> message;
the plugin adapter drives the gate (see
Host compatibility).
Tier 1: Plan¶
One tool: grill.
/mycelium-extra:grill Plan a paired treatment-response analysis. Read the sample table and existing decisions first.
Answer the questions that affect the plan, then read its steps, assumptions,
and input files. Planning writes nothing and runs no analysis. When needed,
grill calls decision-status and data-contract-check itself; you do not
need to memorize those commands.
This tier needs no gate setup. Planning alone provides no execution receipts or enforcement. If the repository already has a gate, its rules still apply.
Tier 2: Run with approval¶
Add init once per repository, with plugin hooks enabled.
Invoke
/mycelium-extra:init. Check that it covers your analysis paths.Invoke
/mycelium-extra:grill <your task>. Read the plan andInputs:line.Send
approve(or the displayedapprove plan <hash>) in the same session. The bare form works only when the plan shown last is the one waiting; with none or several waiting it approves nothing and lists the hashes.Run the approved steps through your usual workflow. In a Mycelium project, use
/mycelium:analyze <name>.
The gate checks covered commands, blocks changed pinned inputs, and records
receipts when the post hooks fire. A revised plan needs its current hash approved.
Default gated paths are analysis/** and nbs/**; default gated commands
include snakemake, sbatch, and nextflow.
For setup problems, see Installation. For coverage, exploration, or custom settings, see Approval gate; for optional features, see Advanced features.
Tier 3: Verify reportable work¶
Add verify. For a reportable, long, or HPC run, also freeze the finished code
in a run plan before executing it.
Once code is written and linted, review it before freezing it. Ask Mycelium’s
reviewfor the principal methodological and code review (in an ordinary repository, use your own review), and run the executable checks you select, such as the project’s tests ordata-contract-check. Fix what they find; every code edit belongs before the freeze.Type
freeze <hash>. It shows each script’s diff since you approved the plan, which steps to run again, and the numbers that moved. For exact commands or HPC work, also askgrillfor a run plan (it lists scripts, Snakefile, andrun.shunderInputs:and shows a dry run).Read it and
approve. Run the covered steps again.Invoke
/mycelium-extra:verify <hash>for that run plan.Read the failures and gaps. Confirm if you want the check saved under
<analysis>/provenance/, then commit it with the analysis. Ask for another review only whenverifyleaves failures or gaps unresolved, a result needs a closer look, or you want a deeper review; the review before the freeze covered the code that ran, so repeating it after an unchanged run adds little.
Result |
Meaning |
|---|---|
|
The checked record agrees with the approved plan |
|
Some evidence or checks are missing |
|
A blocking mismatch or failure was found |
Verification checks records without re-running the analysis. Declared
<!-- claims --> blocks connect reported numbers to specific output cells;
a matching number does not establish scientific validity.
Codex CLI 0.160.0 receipts omit exit metadata, so run status remains a gap.
An sbatch receipt records submission; job outcome needs sacct or job logs.
See Verification reference for report details and
Run plans for freezing code.
Tier 4: Full project workflow¶
Add tools when the project needs them; there is no requirement to invoke all eleven skills for every analysis.
Need |
Tool |
When to use it |
|---|---|---|
Predictable analysis structure |
|
Before implementing a new analysis; creates stubs, workflow, plan, and tracker |
Independent challenge |
|
Optional, after |
Continuity between sessions |
|
Before starting a fresh session |
Keep flow when an idea strikes |
|
Any time; one line, no questions |
Choose what to work on next |
|
Between analyses, when several ideas are waiting |
Prevent a recurring mistake |
|
When a Mycelium learning names a concrete test candidate |
Project memory, execution, code review, reports |
Mycelium |
Use its normal lifecycle around Extra’s planning and verification; review the code before the final freeze |
plan-review is led from Claude Code or OpenCode for separate Codex and Biomni
reviews. It requires consent to send the packet outside the machine (you type
send packet <digest>); Biomni uses cloud credits. In Codex, it provides only
the engineering critique. Review never approves a run.
decision-status and harden use Mycelium’s learning/decision records;
ordinary repositories can still plan, gate, verify, scaffold, and hand off.
Full analysis workflow¶
This shows a reportable analysis using Extra with Mycelium. Solid arrows
show the main path; dotted arrows show optional steps or revisions. In an
ordinary repository, use your own implementation, review, and reporting tools
in place of the mycelium:* commands.
flowchart TD
accTitle: Full data analysis workflow with Mycelium Extra
accDescr: Set up inputs, plan and approve, implement, review and freeze code, run, verify, review again only if triggered, report, and record project memory.
subgraph prepare["1. Set up and plan"]
question["Analysis question + available data"]
setup["Install Extra; enable hooks; init once per repository"]
inputs["mycelium:ingest or your usual data setup<br/>Register inputs and inspect the sample table"]
folder["Use an existing analysis folder<br/>or create one with new-analysis"]
plan["grill: read project evidence and draft a plan<br/>decision-status + data-contract-check when needed"]
approval["You approve the displayed plan hash"]
question --> setup --> inputs --> folder --> plan --> approval
end
subgraph execute["2. Implement, review, and run"]
code["mycelium:analyze or your own tools<br/>Implement preparation, models, and plots; lint and test"]
review["mycelium:review or your own review, before the freeze<br/>Methods and code against the approved plan; run selected checks"]
freeze["freeze hash: diff of each script since approval<br/>Reruns to do; numbers that moved"]
runapproval["You approve the freeze"]
run["Run preparation, models, diagnostics, and figures<br/>Use your normal runner; gate checks inputs and records receipts"]
code --> review --> freeze --> runapproval --> run
end
subgraph finish["3. Check and report"]
verify["verify: compare plan, receipts, outputs, lint, and claims<br/>Read CONFORMS, CONFORMS_WITH_GAPS, or DOES_NOT_CONFORM"]
provenance["Confirm saving the check<br/>Commit analysis + provenance with its recorded status"]
recheck["Targeted review, only if triggered<br/>Unresolved failures or gaps, a surprising result, or a deeper review you ask for"]
report["mycelium:report<br/>Write findings and figures with output-backed claims"]
memory["Mycelium's normal memory updates<br/>Record findings, decisions, learnings, and verification status"]
verify -->|"after reading failures and gaps"| provenance --> report --> memory
provenance -.->|"if triggered"| recheck -.-> report
end
approval --> code
runapproval -.->|"data, checks or exact commands change: revise and reapprove; edited scripts re-pin with a notice"| freeze
review -.->|"findings: fix the code and review again"| code
run --> verify
verify -.->|"work needs correction: revise the plan and repeat affected steps"| plan
plan -.->|"optional, before approval"| independent["plan-review: independent critique<br/>Claude Code or OpenCode leads Codex + Biomni; review grants no approval"]
independent -.->|"recommendations to consider"| plan
code -.->|"pause at any stage"| handoff["handoff: capture current state and the next action"]
memory -.->|"a learning has a concrete test candidate"| harden["harden: demonstrate a failing reproduction<br/>and a passing regression test"]
The first approval covers implementation and test runs; the second freezes
finished code for the reportable run. Once a script has run under an approval,
an edit to it needs that plan approved again (see Pinned scripts),
so use allow explore for a debugging loop. Dry runs still need approval. Use one
PLAN.md, revised in place, and record revisions in TRACKER.md.
Verification reports missing evidence separately from failures; saving provenance
does not turn a gap or failure into a pass. It checks the execution record, while
code review assesses methods and interpretation, which is why the principal review
comes before the freeze and verification does not replace it. If the final report introduces
new or changed claims, run verify again with that document included before
sharing it. See Verification reference.
Two checkpoints¶
Both are your approval of a displayed plan hash. They approve different things, and the gate checks only part of each.
Scientific intent approval |
Final execution freeze |
|
|---|---|---|
You approve |
The question, the choices and their sources, the steps, and the inputs |
The finished code and data exactly as they will run |
When |
After |
After implementation, lint, review, and checks, before the reportable run |
Checked mechanically today |
The approved hash is tied to the plan text; covered commands are denied until it is approved; |
|
Instructional only |
That each choice is sourced and the plan complete ( |
That the code is finished and lint-clean, that the principal review and selected checks ran and their findings were fixed, and that the dry run and tool versions are in the plan ( |
The gate does not check that a review happened or that a test passed, and no test
or review result is tied to an approval. After the run, verify compares the
execution record with the plan; it does not re-run tests or review the methods.
See Approval gate and the
run-plan reference.
Debugging inside an approved scope needs no second interview. After the first
checkpoint, allow explore <plan hash> lets the agent fix and re-run code on the
plan’s own analysis paths with the exploration prefix, as often as needed, without
a new approval; a run outside those paths is denied and you decide. Changing a
pinned test or expectation, or running a frozen step with other arguments, is
reported to you, and the reportable run then needs the second checkpoint again.
Plain allow explore stays the broader, session-wide grant. See
Exploratory runs.
handoff can be used at any pause. harden is for a specific recurring mistake,
not a mandatory finishing step. See Skill reference for each tool’s
writes and Mycelium integration for ownership.