Headbox Live

Watch Headbox work. Live follows one local agent thread beside whatever harness you are actually using, and shows, with the evidence. What it thinks your goal is, where you are drifting, and what belongs in the parking lot.

Deterministic on purpose

Live v1 does no AI inference. It polls the thread every four seconds, runs keyword rules over newly appended records, and every signal carries a fixed confidence and the verbatim text that triggered it. The product ships a built-in guide listing all seven rules. It explains itself in the UI rather than in a doc.

That is a real design position: a thing watching your work is only trustworthy if you can check it. Every card shows its evidence, and every dispatch leaves a receipt.

15
Components
7
Signal rules
6
Statuses
6
Tally counters
4s
Poll cadence
5
Route adapters

Three of the six signal statuses are invisible

Signals carry six statuses. suggested, active, confirmed, parked, dismissed, split, and the status lands in the DOM as a class. But only three are styled: active (green inset), parked (amber inset), dismissed (55% opacity). suggested, confirmed and split render as the identical base card; the status is carried by the badge instead. The Signal card below therefore shows four visually distinct variants, not six. Showing six would be inventing three.

The Live Workspace

Every piece of the Live canvas, reproduced with the Console's real tokens. Route is the primary action because getting a signal out. Into the parking lot, a mailbox, a task. Is the entire point; unavailable routes are marked ○ copy-ready up front rather than failing when you click them.

🎛️
Workspace bar Shipped
Titles the Live canvas and states its contract up front: read-only, deterministic.
Headbox Console · public/index.html:1722 · .live-workspace-bar
Default
Live Read-only local observation · deterministic signals
🔌
Connection bar Shipped
Pick a readable local thread, then Observe. Pause is disabled until one is connected.
Headbox Console · public/index.html:1795 · .headbox-live-connection
Connected
No thread: Pause disabled
Paused: Resume
🟢
Observation pulse Shipped
The heartbeat that shows observation is alive. Three states, and the animation is real.
Headbox Console · public/index.html:388 · .headbox-live-pulse
Idle
idle
On (1.8s)
observing
Busy (0.7s)
reading
📡
Status line Shipped
Which thread is observed and when the last event landed. Refresh is disabled unless observing and unpaused.
Headbox Console · public/index.html:1803 · .headbox-live-status
Connected
auth-refactor.jsonl · last event 4s ago
No thread
No thread connected
🔢
Tally strip Shipped
Six running counters. The "you can see it working" promise, made countable.
Headbox Console · public/index.html:1810 · .headbox-live-tally
Populated
128
Events
6
Goals
4
Confirmed
3
Diversions
2
Parked
1
Dispatches
Zeroed
0
Events
0
Goals
0
Confirmed
0
Diversions
0
Parked
0
Dispatches
🎯
Signal card Shipped
One detected signal, with its fixed confidence. The core object of Live.
Headbox Console · public/index.html:1846 · .headbox-live-signal
Suggested (base)
suggested Stated goal 90%
Refactor the auth guard before the release cut
"refactor the auth guard before the release cut"
Active
active Stated goal 90%
Refactor the auth guard before the release cut
"refactor the auth guard before the release cut"
Parked
parked Parking candidate 88%
Also the log formatter is inconsistent
"also the log formatter is inconsistent"
Dismissed
dismissed Possible diversion 66%
Quick look at the icon set
"quick look at the icon set"
🔍
Evidence block Shipped
The verbatim transcript text that triggered the signal. Why Live is auditable rather than magic.
Headbox Console · public/index.html:1856 · .headbox-live-evidence
Default
"ok so what I actually need to do is refactor the auth guard before we cut the release"
💡
Why line Shipped
States the rule that fired, in words. The anti-black-box control.
Headbox Console · public/index.html:1857 · .headbox-live-why
Default
Matched a stated-goal phrase ("what I need to do is") · fixed confidence 90%
Signal actions Shipped
Six verbs. Route is primary because getting the signal out is the point.
Headbox Console · public/index.html:1858 · .headbox-live-signal-actions
Default
Narrow (≤520px)
✏️
Edit row Shipped
Retitle a signal before routing it. The machine guessed, you correct.
Headbox Console · public/index.html:1866 · .headbox-live-edit
Default
👁️
Preview Shipped
A collapsed markdown preview of the payload that would be dispatched.
Headbox Console · public/index.html:1867 · .headbox-live-preview
Collapsed
Preview payload
Open
Preview payload
## Refactor the auth guard
Source: auth-refactor.jsonl
🧾
Receipt Shipped
Proof of what was dispatched where. Rendered only when a receipt matches the signal.
Headbox Console · public/index.html:1868 · .headbox-live-receipt
Dispatched
parking-lot → ok · .headbox/parking_lot.md · appended 14:22
Copy-ready only
external-router → copy-ready · no adapter configured · payload copied
📖
Signal guide Shipped
A built-in <details> listing all seven rules and their fixed confidence. Live explains itself in the product, not in a doc.
Headbox Console · public/index.html:1789 · .live-signal-guide
Open
How Headbox creates each signal
goal.stated Stated goal 90%
goal.inferred Inferred goal 68%
diversion.possible Possible diversion 66%
parking.candidate Parking candidate 88%
progress Progress evidence 72%
completion Completion evidence 84%
blocker Possible blocker 80%
🌊
Signal stream Shipped
The feed itself. Two distinct empty states, before observing, and observing with nothing yet.
Headbox Console · public/index.html:1823 · .headbox-live-stream
Empty, not observing
Select a thread and press Observe to begin.
Empty: observing
Observing. No signals detected yet.
🧰
Tools row Shipped
Filter the feed, pick a route, name a target. ● configured / ○ copy-ready only. The availability is stated, not discovered on failure.
Headbox Console · public/index.html:1813 · .headbox-live-tools
Default

Status, Honestly

Where Live actually stands, against its own spec.

Shipped in v1.4.0 Working
Event schema, atomic local persistence, byte-offset tail reader, deterministic extraction, the action reducer, the tally, five API routes behind a loopback-only mutation boundary, the deep link, and an app-mode desktop window. It has tests.
Headbox Console · live-sidecar.js · server.js:2423-2500
🔲
Specified, not built Planned
Signals Platform v2: model-assisted review, plugin-defined detectors, webhooks, calibrated confidence, multi-thread scopes, a task graph, and a conformance audit. None of it exists yet.
Headbox Console · implementation plan 005, status Proposed
📱
Mobile is not polished Known regression
The mobile drawer, filter drill-in and icon-only signal controls are real and shipped. But at 390×844 the shell still reserves a fixed column, leaving Live roughly 245px and overlapping the header controls. The project's own audit calls this "a functional responsive regression, not an aesthetic preference": repeated here rather than quietly cropped out.
Headbox Console · surface-map audit
🔌
Two of five routes are copy-only Unconfigured
Three adapters can dispatch; two are hardcoded unavailable and hand you a copy-ready payload instead. The product says so in the dropdown before you pick one.
Headbox Console · server.js:2382-2388