Loading...
Loading...
pipeline: interview→plan→execute→QA→verify (idea→code)
npx skill4agent add witt3rd/oh-my-hermes omh-autopilotomh~/.hermes/plugins/omh/Invocation 1: Phase 0 — requirements (or skip)
Invocation 2: Phase 1 — planning (or skip)
Invocations 3-N: Phase 2 — ralph iterations (one per call)
Invocation N+1: Phase 3 — QA cycle [FRESH SESSION]
Invocation M: Phase 4 — validation round [FRESH SESSION]
Final: Phase 5 — cleanup → completereferences/caller-examples.mdautopilotralphralph-tasksinstance_id.omh/specs/{name}-spec.mdinstance_id = "{name}".omh/plans/ralplan-{slug}.mdinstance_id = "{slug}"instance_id = kebab(goal)[:60]lock = omh_state(action="lock", mode="autopilot",
lock_key="{instance_id}",
session_id="{HERMES_SESSION_ID or uuid}",
holder_note="autopilot driving {goal_or_plan}")acquired=falseheld_byinstance_idomh_stateinstance_idmode="ralph"omh_state(action="unlock", mode="autopilot",
lock_key="{instance_id}",
session_id="{HERMES_SESSION_ID or uuid}")Singleton fallback (legacy). Omittingwritesinstance_idand skips locking. Acceptable only when running one autopilot at a time..omh/state/autopilot-state.json
state = omh_state(action="read", mode="autopilot", instance_id="{instance_id}")context_checkpointstate.stale = truepause_after_phase.omh/specs/*-spec.md.omh/plans/ralplan-*.mdomh_state(action="check", mode="ralph", instance_id="{instance_id}")omh_state(action="check", mode="ralph", instance_id="{instance_id}")omh_state(action="write", mode="autopilot", instance_id="{instance_id}", data={
"phase": "requirements", "goal": "...", "ralph_iteration": 0,
"qa_cycle": 0, "max_qa_cycles": 5, "validation_round": 0,
"max_validation_rounds": 3, "validation_verdicts": {},
"skip_qa": false, "skip_validation": false, "pause_after_phase": null
}).omh/specs/*-spec.mdstatus: confirmedspec_fileomh-deep-interviewphase: "planning"spec_file: "<path>"omh-deep-interview.omh/plans/ralplan-*.mdplan_fileomh-ralplanphase: "execution"plan_fileralph_iteration: 0context_checkpoint: truedelegate_taskdelegate_task(goal="[omh-role:executor] Follow the omh-ralph skill procedure:
read state, pick the next incomplete task, execute it, verify, update state, exit.",
context="<current ralph state + plan file contents>")ralph = omh_state(action="check", mode="ralph", instance_id="{instance_id}")active=trueralph_iterationphase="complete"phase: "qa"context_checkpoint: truephase="blocked"phase: "blocked"skip_qa: trueevidence = omh_gather_evidence(commands=["<build>", "<test>", "<lint>"])evidence.all_passphase: "validation"context_checkpoint: trueqa_cycleqa_error_historyqa_cycle > max_qa_cyclesskip_validation: trueevidence = omh_gather_evidence(commands=["<build>", "<test>"])delegate_task(tasks=[
{goal: "[omh-role:architect] Architectural review:\n{spec + plan}", context: "{evidence}"},
{goal: "[omh-role:security-reviewer] Security review:\n{changed files list}", context: "{evidence}"},
{goal: "[omh-role:code-reviewer] Code quality review:\n{changed files list}", context: "{evidence}"}
])validation_verdictsvalidation_roundvalidation_round > max_validation_roundsphase: "complete"omh_state(action="clear", mode="autopilot", instance_id="{instance_id}")
omh_state(action="clear", mode="ralph", instance_id="{instance_id}")
omh_state(action="clear", mode="ralph-tasks", instance_id="{instance_id}").omh/logs/.omh/plans/.omh/specs/omh_stateomh_state(action="check", mode="autopilot", instance_id="{instance_id}")
→ {exists, active, phase, stale}context_checkpoint