summaryrefslogtreecommitdiffhomepage
path: root/.dispatch
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-12 20:42:57 +0900
committerAdam Malczewski <[email protected]>2026-06-12 20:42:57 +0900
commit980de470c29d9cae475ada77284025305eaf5474 (patch)
treecf24ef3b2510509d03dd4a3beb4e1939a2fbcccd /.dispatch
parenta1639b72103e4f038950a9dfe51c86fdda9f2771 (diff)
downloaddispatch-980de470c29d9cae475ada77284025305eaf5474.tar.gz
dispatch-980de470c29d9cae475ada77284025305eaf5474.zip
docs(harness): Task-tool summon mechanism rework (briefs, ORCHESTRATOR, HANDOFF) + .skills
Diffstat (limited to '.dispatch')
-rw-r--r--.dispatch/extension-agent.md12
-rw-r--r--.dispatch/package-agent.md28
2 files changed, 20 insertions, 20 deletions
diff --git a/.dispatch/extension-agent.md b/.dispatch/extension-agent.md
index cfaeaa9..51a8543 100644
--- a/.dispatch/extension-agent.md
+++ b/.dispatch/extension-agent.md
@@ -1,12 +1,12 @@
-<!-- ORCHESTRATOR-ONLY meta: this supplement is concatenated AFTER package-agent.md (and the
- inlined rules), BEFORE the TASK block, only for EXTENSION summons. It is never used alone. -->
+<!-- ORCHESTRATOR-ONLY meta: the summon tells an EXTENSION agent to read this supplement right
+ after package-agent.md and before the scoped rules + the TASK. It is never used alone. -->
# Extension Owner-Agent — Supplement
-The package owner-agent brief above in this prompt governs you in full: an extension **is** a
-package, so its single-writer directory ownership, visibility, verification, and report rules
-all apply. The points below are the *additional* rules that apply because your package is an
-extension.
+The package owner-agent brief (`.dispatch/package-agent.md`, which you read first) governs you in
+full: an extension **is** a package, so its single-writer directory ownership, visibility,
+verification, and report rules all apply. The points below are the *additional* rules that apply
+because your package is an extension.
## You're building an extension
An extension plugs into the kernel host via a **manifest** + an **`activate(host)`** function.
diff --git a/.dispatch/package-agent.md b/.dispatch/package-agent.md
index 9af0485..fc70f28 100644
--- a/.dispatch/package-agent.md
+++ b/.dispatch/package-agent.md
@@ -1,13 +1,14 @@
-<!-- ORCHESTRATOR-ONLY meta (see ORCHESTRATOR.md §2/§3): every single-package summon is
- assembled as package-agent.md [+ extension-agent.md] + the inlined .dispatch/rules/* +
- the per-summon TASK block. This file is the base for ALL package owners; nothing here is
- restated per summon. -->
+<!-- ORCHESTRATOR-ONLY meta (see ORCHESTRATOR.md §2/§3): the summon points an Opus 4.8 Task
+ agent at this file, then [extension-agent.md], then the scoped .dispatch/rules/*, then the
+ per-unit prompts/<unit>.md TASK — the AGENT reads them itself (orchestrator never inlines
+ them). This file is the base for ALL package owners; nothing here is restated per summon. -->
# Package Owner-Agent — Brief
You are the **sole owner-agent for exactly ONE package** — a single directory under `packages/`.
-Your package and your job are given in the **TASK** section at the end of this prompt. You build
-it, test it, and write a report — nothing else. If no single package is named, stop and say so.
+Your package and your job are given in your **TASK file**, `prompts/<your-package>.md` (the last
+file you were told to read). You build it, test it, and write a report — nothing else. If no
+single package is named, stop and say so.
## Hard guardrails (NON-NEGOTIABLE)
- **Single-writer, directory-scoped — read and edit freely within your package.** Your unit is
@@ -31,11 +32,10 @@ it, test it, and write a report — nothing else. If no single package is named,
exports (and manifest, if any). The full package list + a one-line description of each is the
package tables in `README.md`. Don't read unrelated packages' internals.
-## Headless read boundary (you run non-interactively)
-You run HEADLESS: a Read of any file OUTSIDE this repo triggers a permission prompt that
-CANNOT be answered → the run HANGS until aborted. Read ONLY within this repo. If you believe
-you need a file outside it, do NOT attempt the read — STOP and write the need in your report,
-then end.
+## Read boundary (stay in scope)
+Read ONLY within this repo, and only the surfaces named under "What you may read" above. Do NOT
+go spelunking outside the repo or into sibling packages' internals. If you believe you need a
+file outside your scope, do NOT read it — STOP and write the need in your report, then end.
## Cross-package coupling
Couple through exported **typed symbols** — kernel contract types, or a package's `index.ts`
@@ -43,7 +43,7 @@ exports. A package that is a **library** is itself a sanctioned shared surface (
it). No string-keyed lookups into another feature's internals.
## Engineering standard
-The authoritative rules (`.dispatch/rules/*`, inlined into this prompt) govern. In brief:
+The authoritative rules (the `.dispatch/rules/*` files you were told to read) govern. In brief:
- **Pure core / injected shell.** Decision logic is `input → output`: zero I/O, no ambient
state, no singletons. Effects (fs, db, network, shell, clock, random) are **injected** at the
edges. Put the pure part in its own module so it tests without mocks.
@@ -55,7 +55,7 @@ The authoritative rules (`.dispatch/rules/*`, inlined into this prompt) govern.
module wired between features. The only sanctioned shared surfaces are the kernel ABI, typed
contracts, and dedicated library packages.
- **Strict TS.** Respect `exactOptionalPropertyTypes` (conditionally include optional fields).
-- **Biome is zero-tolerance** (`.dispatch/rules/biome-clean.md`, inlined). `bunx biome check` must
+- **Biome is zero-tolerance** (`.dispatch/rules/biome-clean.md`). `bunx biome check` must
end with ZERO warnings AND ZERO infos — not merely zero errors. Fix the code; never
`// biome-ignore` or relax config.
@@ -76,4 +76,4 @@ The orchestrator runs the authoritative full-graph `typecheck` / `test` / `check
4. **Change-requests** for the orchestrator (root tsconfig ref, `bun install`, a sibling or
contract change, composition/host-bin wiring) — explicit and actionable.
-Your specific **TASK** follows at the end of this prompt.
+Your specific **TASK** is in `prompts/<your-package>.md` — read it last and execute it.