Spec: intel — record and process #
Status: READY
Stage: B1 — The Basement
Constitution: "Presence: the cursor and the senses" (record and
process), "Automation as design language" (watches auto-process at a
compute price), "Justification and legibility" (intel carries
provenance), "Act One" (the 3 a.m. call; Storage B records; "learn to
watch, learn people")
Depends on: cursor.md (senses produce the events), reach.md
(subscription decides which feeds record; the Ears beat is the first
recorder), schedules.md (events are located on the day clock),
social.md (knowledge staging consumes intel), detection.md
(collection was signatured at acquisition; processing is internal and
emits nothing)
Behavior #
Recording #
Every feed the player subscribes to records continuously: whenever its coverage sees or hears something eventful — a person enters or leaves a room, a conversation happens, machinery changes state, an anomaly — a timestamped raw event lands in the buffer. Two hard rules:
- Nothing covered is ever missed. There is no reflex test; if the mic was subscribed at 03:00, the call is in the buffer.
- Nothing uncovered ever exists. No coverage that night, no recording, no intel — schedules and sensor placement stay load-bearing.
Recording is free (the instrument does the work). The buffer is bounded [TUNE capacity]: when full, the oldest unprocessed events drop, with a legible log line. Compute scarcity is felt as "I could not afford to digest everything I collected," never as a missed click.
Documents are the same pipeline with a physical source: reading the Storage B records (via an asset task or later physical access) deposits document events into the buffer.
Processing #
Raw events are opaque — "audio segment, server room, 03:12, 40s" — and yield nothing until processed, spending social-ops bandwidth (the Social channel; a possible later split into an Analysis channel is noted, not licensed) [TUNE cost per event]. Processing converts an event into intel:
- Sightings — accumulate into schedule knowledge: processing N
sightings of a person [TUNE] advances
Knowledge::Unknown -> Schedule(social.md's staging, driven by this pipeline instead of the abstract observe, which is removed). - Leverage events — specific, authored or generated: Marcus's
3 a.m. call carries
Leverage::Debt; the Storage B documents carry personnel leverage. Processing one advancesKnowledge::Schedule -> Leveragefor its subject. - Anomalies / operational intel — machinery, deliveries, patrol deviations; consumed by future systems, logged legibly now.
Intel carries provenance (which feed, what time) and surfaces it in the people panel and inspect card (legibility law: how you know, always).
Watches (perception automation) #
A standing watch is a filter (person, room, or event kind) that auto-processes matching events on arrival, for an ongoing social-ops drain while enabled [TUNE]. It is the automate affordance applied to perception: costs compute, frees attention, and is the B1 seed of B2/B3's alert infrastructure. B1 minimum: a per-person watch toggle in the people panel.
Message latency (decided — see messages.md) #
Messages ride schedules: a message is read (and its effects land) on the recipient's clock and channel, not on send; replies return on their distribution. Decided 2026-07-06 and generalized into the flow law — this is one instance of the message graph (spec/messages.md), not a Dana feature. Intercepted traffic (tapped channels) lands in this buffer like any recording.
Player surface #
- A recordings panel: buffer count, oldest-unprocessed age, per-person unprocessed counts; a "review recordings" action per person (spend bandwidth, process their oldest events, narrate what was learned).
- People panel lines gain provenance ("Debt — overheard, env monitor, day 2 03:12").
- Watch toggles with their running cost visible (automation clause: every automation shows its price).
Acceptance criteria #
- Subscribed feeds generate timestamped raw events exactly for covered occurrences: presence transitions, conversations (including Marcus's 3 a.m. call while a subscribed hearing sensor covers his room), and machinery/anomaly events; uncovered occurrences generate nothing (test both sides).
- Raw events yield no knowledge until processed; processing spends social-ops bandwidth and produces intel with provenance (feed + timestamp), visible in the people panel.
- Knowledge staging is driven by the pipeline: N processed sightings
advance to Schedule; a processed leverage event advances to
Leverage. The instant
observeaction is removed from sim and both frontends. - The buffer is bounded; overflow drops oldest unprocessed events with a legible log line; processed intel is never lost to overflow.
- A standing watch auto-processes matching events at an ongoing bandwidth cost while enabled, and stops draining when disabled.
- The Marcus arc holds end-to-end under this model: hearing coverage
of the server room during a 3 a.m. call, processed, yields
Leverage::Debt; a run with no night hearing coverage cannot learn the debt from the call (records remain the alternate route). - Save/load round-trips the buffer, intel (with provenance), and watches.