omp (Oh My Pi)
Host-owned worker routing and project-scoped OMP workers.
OMP is a supported coding harness. It routes work through project-scoped role workers provisioned
by woostack-init; woostack is installed here, not in an external engineer such as Hermes.
Native OMP worker routing
OMP's task primitive accepts a worker selector but no per-call model, tier, or effort argument.
Woostack provisions three neutral project workers whose model fields point to OMP-owned role
aliases. OMP owns concrete models, provider credentials, thinking level, and retry/fallback
behavior; repository model leaves are ignored.
- Run
woostack-initbefore review; gatedwoostack-doctorrepair restores missing or drifted managed definitions while preserving other project agents. - After review angle detection, OMP verifies the complete planned selector set in the active agent registry before launching any summary, angle, or validator worker.
- Review never generates or repairs agents and never launches a partial swarm.
- Execute dispatches one implementation task at a time per local run; disjoint run IDs may dispatch concurrently.
- Pass the exact worktree and complete task contract.
- Workers return observations/changes; the controller owns synthesis and acceptance.
- If the spawn API cannot set cwd, pin it in the prompt and require the worker to verify it.
See OMP's published model roles, custom subagents, and the canonical host adapter for the exact mapping and lifecycle.
Goal-derived session naming
When a woostack workflow (/woostack-change, /woostack-build, or /woostack-fix) is invoked, OMP
renames the active session to a concise title derived from the trusted goal. A resume-only Build or
Fix uses the exact verified run goal.
Session naming uses an in-process project extension:
woostack-initprovisions the local extension.omp/extensions/woostack-session-name.ts, adds standalone ignore rules in.omp/.gitignore, and safely merges its explicit path into local.omp/settings.json.- The extension registers the tool
woostack_rename_session, which calls OMP's automatic session-naming API. If a user title was explicitly set via/rename, the user title is preserved. - If the extension is not yet loaded, extensions are disabled, or the tool call fails, naming degrades gracefully with a concise warning without blocking the workflow.
- OMP loads project extensions and settings at startup; restart OMP after initial installation or
repair so the extension becomes active. Tracked or malformed
.omp/settings.jsonfails closed to protect shared configuration.
Local run artifacts and optional remote mirroring
Build and project-backed Fix operate with canonical persistent local authority under
.woostack/tmp/runs/<run-id>/ by default (artifacts.provider: "local" or omitted). When
artifacts.provider: "github", "linear", or "plane", local artifacts mirror to the
configured provider. OMP credentials stay in its host-owned MCP/OAuth secret environment and never
enter repository config, prompts, logs, or generated output. Follow the
Local run artifact and provider mirror contract.
Build and project-backed Fix write plain Markdown project-spec.md and execution-plan.md files.
Run artifacts are retained upon completion and abandonment for the audit trail. A nonterminal run can
resume exactly with /woostack-execute --run <exact-run-id> [--recheck]. Retained artifacts do not
authorize worker assignment, dispatch, edits, commits, review, product acceptance, or repository
delivery claims. Before proof, Fix makes no provider call. woostack-change never contacts a provider.
Optional provider writers (Bootstrap and Commit) execute only upon explicit caller opt-in (requested persistence after design approval for Bootstrap; --issue for Commit), using only the official host interface matching artifacts.provider (host-authenticated gh for GitHub, or official Linear/Plane MCP), with independent read-back and nonblocking optional synchronization that preserves Git/GitHub repository authority.
Recovery
Stop on profile, cwd, worktree, branch, ancestry, credential, process-exit, verification, review, or submission drift. Preserve recoverable work and report the exact safe resume boundary. Never switch profiles/worktrees silently or claim missing worker evidence.