Repository navigation
orc-pack v1.8.0
[1.8.0] - 2026-09-28
Summary. Two changes. First, orc gains specialist builders: ui-implementer, api-implementer, and data-implementer join the general implementer, orc assigns each task a builder by its primary surface, and every builder now reads one shared builder-contract.md that holds the rules the old implementer.md carried. A new standards/data.md gives data work a standard to write and review against. Second, orc stops paying to re-cache its whole context after a long subagent wait. The prompt cache lasts about an hour, and orc makes no requests while a subagent runs, so any wait longer than that made the next turn re-cache the full context at about twice the input price (a warm read costs about a tenth). Orc now keeps a background heartbeat timer while agents run, so the main thread touches its cache before it expires.
Changed areas.
skills/orc/references/builder-contract.md(new) — the rules every builder follows, moved out ofagents/implementer.md: what the dispatch contains, untrusted input, reading the standards, brief mode, build mode's core steps, scope, never committing, no suppressions, fix rounds, and the report format (with a new optional Deploy notes heading). Nothing the implementer enforced was dropped or weakened. Every builder reads it first, and each builder's agent file repeats the hard rules (no commits, no suppressions, scope, tests with exact output) in case the contract cannot be read. Nopack:marker; it is pack-owned like the rest ofreferences/. Copy in.skills/orc/references/standards/data.md(new) — migrations, expand/contract changes, locks on large tables, backfills, indexes, query safety, destructive operations and environments, and the slop signatures of data code. Read bydata-implementer(and any builder whose task touches schema, migrations, or queries),design-revieweron data briefs, andarchitecture-reviewerwhen a diff touches schema or migrations. Copy in.agents/implementer.md— rewritten as a thin general builder. It reads the contract, then carries judgement for its lane: tooling, config, scripts, docs-adjacent code, cross-cutting changes, and cleanup runs. It stays the fallback for any task orc cannot route. Same model and effort (Opus 5.5, medium). Refresh, then see Update steps for local edits.agents/ui-implementer.md(new) — components, pages, layouts, styles, tokens, client state and interaction, and user-facing copy. Always readsstandards/ui.md; builds on the repo's design system and tokens, every state, keyboard and screen-reader support, phone width, and every theme; always reports UI surfaces forui-reviewer. Opus 5.5, medium effort. Copy in.agents/api-implementer.md(new) — routes, endpoints, loaders and actions, services, integrations, and background jobs. Boundary validation with the repo's library, consistent error contracts, authorization at the right layer, idempotent retried writes, bounded upstream calls, no secrets or personal data in logs, contract-level tests, and no silent break of external callers. Always reports Deploy notes. Opus 5.5, medium effort. Copy in.agents/data-implementer.md(new) — schema changes, migrations, backfills, seed data, ORM models, indexes, and heavy query changes. Uses the repo's migration tool, reversible migrations, expand/contract for live tables, batched and resumable backfills, lock awareness, and indexes matched to real queries. It never runs a migration or backfill against anything but a local or test database, and always reports the deploy order under Deploy notes. Opus 5.5, high effort, because its mistakes are the hardest to reverse. Copy in.skills/orc/SKILL.md— step 4 now assigns each task a builder by its primary surface, with a routing table (ui-implementer,api-implementer,data-implementer, andimplementerfor everything else); a task spanning surfaces is split, or routed to its riskiest surface (data over API over UI). Step 5 dispatches the task's assigned builder in brief mode, build mode, fix rounds (same builder type), and the round-three Fable 5.1 escalation, and still never runs builders in parallel. The Standards table addsbuilder-contract.mdandstandards/data.mdand names the builders that read each file. Model selection lists every builder.skills/orc/SKILL.md— new Waiting on subagents section. Before ending a turn to wait on a subagent, orc starts a background timer of about 50 minutes (for example,sleep 3000). Each wake reads the still-warm cache, re-arms the timer if agents are still running, and ends. Orc stops the timer when the last agent finishes.skills/orc/references/standards/code.md,comments.md,structure.md, andui.md— the "who writes to this" line names the builders instead of "the implementer". Refresh.skills/orc/references/design-brief.md— names the task's builder as the author, adds a partial state and a Client state line to the UI section, and adds a Data section (schema change, readers and writers, phases, backfill, locks and indexes, deploy order). Refresh.agents/design-reviewer.md— readsdata.mdfor data work and gains a Data checklist for briefs with a Data section. Refresh.agents/architecture-reviewer.md— readsdata.mdwhen the diff touches schema, migrations, or data queries. Refresh.agents/quality-reviewer.md— one-word wording change from "implementer" to "builder". Refresh.agents/orc-updater.md— the conflict-handling pointer now namesINSTALL.mdPhase 3 (it wrongly namedUPDATE.mdPhase 3). Refresh..github/workflows/pack-integrity.yml(kit CI only, not installed) — check 2 recognizes*-implementeragent names, and check 4 verifiesbuilder-contract.mdexists.- Every skill and agent file —
pack:marker moved toorc-pack@1.8.0.
Update steps.
- Copy in the three new agents and the two new reference files. If the repo already has its own agent named
ui-implementer,api-implementer, ordata-implementerwith nopack:marker, route it throughINSTALL.mdPhase 3 conflict handling. - Refresh
skills/orc/SKILL.md, and re-apply any repo-local edits the install's history shows. - Local edits to
agents/implementer.mdneed a new home. Most of the old implementer's body now lives inbuilder-contract.md. For each local edit the install's history shows onimplementer.md, decide where it belongs: an edit to a rule every builder follows (the dispatch, standards, brief or build steps, scope, commits, suppressions, fix rounds, the report) goes into.claude/skills/orc/references/builder-contract.md, so every builder gets it; an edit specific to one kind of work goes into that builder's agent file; an edit about tooling, config, scripts, or cleanup stays inimplementer.md. Report each edit and where you put it. - Update the
pack:marker on every agent and skill file toorc-pack@1.8.0. - The heartbeat needs the main session to run a background shell command that wakes it on exit. Claude Code's Bash tool with
run_in_backgrounddoes this. No re-vet, CI, or environment change is required.
Breaking changes. None for a clean install. An install with local edits to agents/implementer.md must re-home them as described in Update steps, or those edits stop applying to UI, API, and data tasks. Long runs show a short heartbeat turn about every 50 minutes while agents work.
Files to read. skills/orc/references/builder-contract.md, agents/implementer.md, agents/ui-implementer.md, agents/api-implementer.md, agents/data-implementer.md, skills/orc/references/standards/data.md, and skills/orc/SKILL.md (step 4's builder routing, step 5, Standards, Model selection, and Waiting on subagents).