woostack
Harnesses

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-init before review; gated woostack-doctor repair 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-init provisions 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.json fails 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.

On this page