| name | genomeft-run-campaign |
| description | Use when supervising an official GenomeHarness v15 campaign or sequential suite through the interactive CLI loop. |
GenomeHarness Run Campaign
Use plans/genomeharness_v15_plan.md as the active authority.
Campaign Loop
- Confirm the user approved a read-only
genharness plan --dry-run preview.
- Run
genharness preflight --campaign campaigns/X/config.yaml.
- Run
genharness start --campaign campaigns/X/config.yaml.
- Run
genharness advance --campaign campaigns/X --wait.
- If it returns
PROPOSE, read pending packet(s) and use the proposal skill.
- If it returns
FREEZE, read the FREEZE packet and submit a freeze JSON selecting a completed node.
- If it returns
REPAIR, use the repair skill.
- If it returns
DONE, run genharness report --campaign campaigns/X; the report command deletes checkpoint directories by default after the report is written.
- If it returns
FAILED, report the failure and do not claim final gain.
advance --wait is only a client attach. The durable runner owns subprocesses and GPU leases.
Suite Loop
For a sequential NT/GB suite:
- Run
genharness suite-init --suite suites/X --model ... --benchmark-family nt.
- Run
genharness suite-start-next --suite suites/X.
- Drive the current campaign loop to
DONE or FAILED.
- Run
genharness suite-start-next --suite suites/X again for the next task.
The suite starts one task at a time. Do not run multiple benchmark tasks in parallel unless the user explicitly changes that design.
Runtime Discipline
- Do not repeatedly poll status. Prefer a single
advance --wait attach.
- Save tokens: avoid raw logs and repeated full status dumps; summarize only actionable request ids, phase, best node, and next command.
- A pending PROPOSE request remains valid until resolved, timed out, cancelled, or expired by deadline.
- If a proposal is rejected, the harness will create a replacement request for the same slot.
- If a session disconnects, resume with
genharness status --campaign ... --brief, then genharness advance --campaign ... --wait.
- Python must not call Codex in official interactive runs.