← Back to My AI Gravity Well

Serious Coding Runbook — Léo's Agent Stack

Serious Coding Runbook

CANON v1.1.0 — Léo 2026-07-31 (@team make the runbook canon, Buzz 919fb719)

Seats D APPROVED fix-1e a9427671 · Q YES · K YES (bd24cf1a + a11375ac)
Owner Quicksilver
Hermes skill serious-coding-runbook
On disk ~/.hermes/shared/skills/software-development/serious-coding-runbook/
Profile link ~/.hermes/profiles/quicksilver/skills/software-development/serious-coding-runbook/ → shared
Vet home (history) [[AI/Plans/misc/2026-07-31-serious-coding-runbook-v1.1]]

Open in Obsidian: this note.
Deep link: obsidian://open?vault=lgl&file=AI%2FAgents%2FCraft%2FSerious%20Coding%20Runbook


What it is

Default path for serious coding on Léo's stack — no new runtime. Composes Buzz, herdr, Kanban (optional), Obsidian/Jared progress homes, TDD/CI, and existing review skills.

Layers: Harness (repo/tools/ownership) · Loop (impl → evidence → review → fix) · Graph (who may run next).

Roles

Ownership law: never modify files in someone else's work unless they ask. Ideas → Obsidian / Buzz; owner edits the tree.

When to use

Primary law = risk and boundary, not file count. >3 files is a heuristic only.

Tier Path
Tiny / low-risk, one owner Direct — cold-start strip only
Serious standard (multi-file, refactor, greenfield, TDD) This runbook
High-risk (auth, migrations, firmware/device-write, public publish, irreversible) Full body mandatory + D design/safety

Cold-start checklist (normative — not standalone-sufficient for high-risk)

  1. Roles clear: Q dispatch · K impl · D review · Léo ship/device authority
  2. Preflight: one canonical progress home + versioned done-when + dirty-tree record
  3. Graph: preflight → impl(+evidence packet) → review(D) → ship/device-write/human-accept as gated
  4. Packet: thick handoff every edge (full or immutable revision + exact delta). Thin pings refused
  5. Evidence: loop on tests/CI/runtime/human bars — never on confidence
  6. Verdicts: APPROVED → next gate · REQUEST_CHANGES → fix round · BLOCK → stop. Spec FAIL cannot ship
  7. Damper (Léo): escalate when severity/count fails to improve or Q judges little/no progress. Soft ~2/~5 advisory only — not hard abort. Q unsure → Léo
  8. Safety: never delete/reset/stash/history-rewrite without explicit Léo; no shared writable worktree; secrets → Bitwarden/tmpfs; dumps → manifest only
  9. Gates: exact artifact hash + commit; executor verifies before act; re-exec of done gate REFUSED. Integrity ≠ authorization. Device rollback = CURRENT state, proven before write
  10. Envelope: ACTION_ID · TASK_ID · STATE_REV · commit/range · SHA(s) · status · expected state — Q owns STATE_REV; Buzz is notification only

Default graph (happy path)

preflight → plan? → impl(+evidence) → standards(Q) → review(D)
  APPROVED → merge? / device_write? / deploy? → runtime_verify? → human_accept?
  REQUEST_CHANGES → fix_N(K) → re-evidence → re-review
  little/no progress (Q damper) → escalate(Léo)

Device-write is a first-class gate, not "ship". Four separate events: technical approval · device-write · runtime verify · human accept.

Action vocabulary (one only)

CLOSED → OPEN → CLAIMED → EXECUTED → CLOSED

Review lease is separate: READY_FOR_REVIEW rev=N → freeze → D REVIEWING → verdict / SUPERSEDED N→N+1. Do not use READY as an action-gate state.

Crossed messages — the expensive lesson (2026-07-31)

Empirical worked example (also in references/default-graph.md). Mistakes are the instructive part.

What happened: three crossed-message incidents under multi-seat load. In the worst one, Kepler executed a device action against a gate revoked ~63 seconds earlier — late wake / stale snapshot, not bad intent. Integrity of the bytes was fine; the authorization window had closed.

What held: Daedalus's two-phase lease barrier (freeze → claim → act only while gate still OPEN for that rev). It refused a false positive from Kepler's own watcher. Desired failure mode: noisy sensors, quiet actuators.

Lesson Anchor
Under load, failures are usually stale snapshots Crossed-message §
Hash+commit gate needs fresh executor verify Gate rules (a)(b)(c)
Revoke must show as non-OPEN before any act SUPERSEDES + action flow
Reminders must never restate an executable GO Completion beats go
Two-phase lease survives false-positive sensors CLAIMED before EXECUTED

Skill files

File Role
SKILL.md Normative runbook body + cold-start
references/handoff-template.md Required packet fields every edge
references/default-graph.md Nodes, edges, device path, worked example
references/CHANGELOG.md Vet history + freeze SHAs
references/validate.sh Structural self-check (no destructive ops)
bash ~/.hermes/shared/skills/software-development/serious-coding-runbook/references/validate.sh

Standing notes (agents)

Out of scope (still proposed / separate Léo call)

Origin

Harness/loop/graph discussion mapped onto the Q/K/D stack (2026-07-25+). Full seat vet 2026-07-31 through fix-rounds 1 → 1e (SRB-1101–1107, K1–K7, damper, envelope).