Documentation
¶
Overview ¶
Command draiver is a coordination substrate for supervising AI coding agents at the ticket level: an append-only, hash-chained per-ticket log plus a read-only board. Agents are cattle, tickets are pets.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package cmd wires the draiver CLI verbs — the shared human<->agent protocol — onto the append-only per-attempt ticket log.
|
Package cmd wires the draiver CLI verbs — the shared human<->agent protocol — onto the append-only per-attempt ticket log. |
|
internal
|
|
|
agent
Package agent is the thin seam between draiverctld and a coding agent.
|
Package agent is the thin seam between draiverctld and a coding agent. |
|
agent/claudecode
Package claudecode implements the agent.Adapter seam over Claude Code driven headless — one `claude` process per session, spoken to in newline-delimited stream-json on stdio (`--input-format stream-json --output-format stream-json`).
|
Package claudecode implements the agent.Adapter seam over Claude Code driven headless — one `claude` process per session, spoken to in newline-delimited stream-json on stdio (`--input-format stream-json --output-format stream-json`). |
|
attempt
Package attempt creates and reads attempts on a ticket.
|
Package attempt creates and reads attempts on a ticket. |
|
audit
Package audit verifies an attempt's hash-chained log: each event must recompute to its stored hash and link to its predecessor.
|
Package audit verifies an attempt's hash-chained log: each event must recompute to its stored hash and link to its predecessor. |
|
brief
Package brief replays a ticket's spec and one attempt's log into a single context blob that cold-starts a fresh agent.
|
Package brief replays a ticket's spec and one attempt's log into a single context blob that cold-starts a fresh agent. |
|
config
Package config loads draiverctld's operator configuration — the tunables the supervisor reads but the ticket data does not own.
|
Package config loads draiverctld's operator configuration — the tunables the supervisor reads but the ticket data does not own. |
|
event
Package event defines the atomic, write-once unit of a ticket's log: a hash-chained markdown file with YAML frontmatter.
|
Package event defines the atomic, write-once unit of a ticket's log: a hash-chained markdown file with YAML frontmatter. |
|
gate
Package gate is the supervisor's "Gate" step (reconcile loop step 3) and the second of the two hooks: the permission gate.
|
Package gate is the supervisor's "Gate" step (reconcile loop step 3) and the second of the two hooks: the permission gate. |
|
limit
Package limit is the supervisor's context-window backstop: the third enforcement seam alongside the protocol gate and the permission gate.
|
Package limit is the supervisor's context-window backstop: the third enforcement seam alongside the protocol gate and the permission gate. |
|
manage
Package manage binds one attempt's coding-agent adapter, its git worktree, and its persisted session identity into a single live-session controller — the "agents are cattle" mechanic in one type.
|
Package manage binds one attempt's coding-agent adapter, its git worktree, and its persisted session identity into a single live-session controller — the "agents are cattle" mechanic in one type. |
|
project
Package project derives an attempt's control state — the human's relationship to it — from its append-only log, and renders the generated state.md projection.
|
Package project derives an attempt's control state — the human's relationship to it — from its append-only log, and renders the generated state.md projection. |
|
protocol
Package protocol is the supervisor's protocol gate (reconcile loop step 3): it enforces the draiver protocol by process control rather than agent goodwill.
|
Package protocol is the supervisor's protocol gate (reconcile loop step 3): it enforces the draiver protocol by process control rather than agent goodwill. |
|
reconcile
Package reconcile is draiverctld's reconcile loop — the supervisor's active half, the piece that ties drvctl-001–007 together into a running daemon.
|
Package reconcile is draiverctld's reconcile loop — the supervisor's active half, the piece that ties drvctl-001–007 together into a running daemon. |
|
session
Package session persists a draiverctld session's runtime state: the session/ directory under an attempt, holding session.json (identity), meter.json (token/cost/context + watchdog counters), and stream.jsonl (the raw stream-json tee).
|
Package session persists a draiverctld session's runtime state: the session/ directory under an attempt, holding session.json (identity), meter.json (token/cost/context + watchdog counters), and stream.jsonl (the raw stream-json tee). |
|
store
Package store resolves the on-disk layout of the ticket data root.
|
Package store resolves the on-disk layout of the ticket data root. |
|
ticketlog
Package ticketlog reads and appends an attempt's write-once, hash-chained event log.
|
Package ticketlog reads and appends an attempt's write-once, hash-chained event log. |
|
watch
Package watch is the supervisor's "Watch" step: it consumes one session's normalized event stream and does the two jobs the reconcile loop's step 2 names — promote and meter.
|
Package watch is the supervisor's "Watch" step: it consumes one session's normalized event stream and does the two jobs the reconcile loop's step 2 names — promote and meter. |
|
web
Package web serves the read-only Draiver board: a self-contained HTMX server that renders the four control states per ATTEMPT from the filesystem log.
|
Package web serves the read-only Draiver board: a self-contained HTMX server that renders the four control states per ATTEMPT from the filesystem log. |
|
worktree
Package worktree manages the per-session git worktree that isolates one draiverctld session, so parallel sessions on the same repo never collide and competing attempts stay comparable.
|
Package worktree manages the per-session git worktree that isolates one draiverctld session, so parallel sessions on the same repo never collide and competing attempts stay comparable. |
Click to show internal directories.
Click to hide internal directories.