diff options
| author | Adam Malczewski <[email protected]> | 2026-06-07 14:07:11 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-07 14:07:11 +0900 |
| commit | efddee1edd2924725a4dd240894666ede97b67b9 (patch) | |
| tree | 294bbedb837f6101a2eb9dc9d3fe4ae021d5cd69 /.dispatch | |
| parent | 2eed0f7ea0bf593cb99bc176d1421b09cfb1066f (diff) | |
| download | dispatch-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.md | 5 | ||||
| -rw-r--r-- | .dispatch/rules/biome-clean.md | 12 |
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"]`). |
