Skip to content

orc-pack v1.8.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 22:27
a116b41

[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 of agents/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. No pack: marker; it is pack-owned like the rest of references/. 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 by data-implementer (and any builder whose task touches schema, migrations, or queries), design-reviewer on data briefs, and architecture-reviewer when 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 reads standards/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 for ui-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, and implementer for 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 adds builder-contract.md and standards/data.md and 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, and ui.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 — reads data.md for data work and gains a Data checklist for briefs with a Data section. Refresh.
  • agents/architecture-reviewer.md — reads data.md when 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 names INSTALL.md Phase 3 (it wrongly named UPDATE.md Phase 3). Refresh.
  • .github/workflows/pack-integrity.yml (kit CI only, not installed) — check 2 recognizes *-implementer agent names, and check 4 verifies builder-contract.md exists.
  • Every skill and agent file — pack: marker moved to orc-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, or data-implementer with no pack: marker, route it through INSTALL.md Phase 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.md need a new home. Most of the old implementer's body now lives in builder-contract.md. For each local edit the install's history shows on implementer.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 in implementer.md. Report each edit and where you put it.
  • Update the pack: marker on every agent and skill file to orc-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_background does 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).