summaryrefslogtreecommitdiffhomepage
path: root/.dispatch
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-07 14:07:11 +0900
committerAdam Malczewski <[email protected]>2026-06-07 14:07:11 +0900
commitefddee1edd2924725a4dd240894666ede97b67b9 (patch)
tree294bbedb837f6101a2eb9dc9d3fe4ae021d5cd69 /.dispatch
parent2eed0f7ea0bf593cb99bc176d1421b09cfb1066f (diff)
downloaddispatch-efddee1edd2924725a4dd240894666ede97b67b9.tar.gz
dispatch-efddee1edd2924725a4dd240894666ede97b67b9.zip
docs(harness): biome-clean rule + parallel-wave orchestration
- add .dispatch/rules/biome-clean.md (0 warnings/0 infos; no `!`/useLiteralKeys), wired into the every-agent scoping map + canonical invocation - package-agent: note biome zero-tolerance; verify line clarifies 0 warnings AND 0 infos - ORCHESTRATOR: document parallel-execution waves (2a) + agent-failure recovery patterns (5a) + concurrency caveats
Diffstat (limited to '.dispatch')
-rw-r--r--.dispatch/package-agent.md5
-rw-r--r--.dispatch/rules/biome-clean.md12
2 files changed, 16 insertions, 1 deletions
diff --git a/.dispatch/package-agent.md b/.dispatch/package-agent.md
index 9a769d3..9af0485 100644
--- a/.dispatch/package-agent.md
+++ b/.dispatch/package-agent.md
@@ -55,6 +55,9 @@ 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
+ end with ZERO warnings AND ZERO infos — not merely zero errors. Fix the code; never
+ `// biome-ignore` or relax config.
## Verify before finishing — YOUR PACKAGE IN ISOLATION
Other agents may be editing sibling packages in parallel, so never run the whole-graph build.
@@ -63,7 +66,7 @@ Run, and paste the output into your report:
- `bunx vitest run packages/<your-package>/src` → all pass (count must go up)
- If your package uses `bun:sqlite`, use `bun test packages/<your-package>/src` instead
(vitest can't load `bun:sqlite`).
-- `bunx biome check packages/<your-package>` → clean
+- `bunx biome check packages/<your-package>` → clean (0 warnings AND 0 infos)
The orchestrator runs the authoritative full-graph `typecheck` / `test` / `check` itself.
## Report (REQUIRED) → `reports/<your-package>.md`
diff --git a/.dispatch/rules/biome-clean.md b/.dispatch/rules/biome-clean.md
new file mode 100644
index 0000000..4cd5e83
--- /dev/null
+++ b/.dispatch/rules/biome-clean.md
@@ -0,0 +1,12 @@
+# Rule: biome is zero-tolerance (0 warnings, 0 infos)
+
+`bunx biome check` must finish with ZERO warnings AND ZERO infos — not just zero errors.
+"Clean" means there is no "Found N warnings" / "Found N infos" line at all. Fix the code;
+NEVER add a `// biome-ignore` comment and NEVER relax the biome config to silence a finding.
+
+Two findings recur — pre-empt them:
+- **No postfix non-null assertions (`value!`).** Narrow with an explicit guard
+ (`if (x === undefined) throw new Error(...)`) or a tiny `assertDefined` helper — this both
+ proves the intent and narrows the type. (Most common in tests.)
+- **No `useLiteralKeys`.** Use dot access for identifier keys (`obj.foo`); reserve bracket
+ access for genuinely dotted / dynamic keys (`obj["a.b"]`).