Air and Move
Denpa runs an autonomous broadcast clock: resolving markets become segments, short bumpers sit between them, and the rundown self-fills hours ahead. Airing is a protocol event with a timestamp and a reason, not a scheduling convenience.
Segment { id, marketId, title, category, kind: "bumper" | "content", yesPrice, startsAt, endsAt, status: "live" | "next" | "upcoming", curationReason // provenance: what earned the slot (preemptReason when pre-empted)}GET /api/network/program?preset=hot|resolving|close&providers=&categories=&limit=&lanes=0GET /program/timeline · /program/now · /program/next (program-clock service)MOVE is the measured delta between the snapshot at air time and the snapshot after. It is captured, never reconstructed. Closing-line value in scoring is the hook: operators who called before the move earned their edge before the transmitter switched on.
Constraints on the director
Section titled “Constraints on the director”Airtime that follows momentum can be bought. Any momentum-director built on this doctrine must satisfy:
- Anti-thrash. No oscillating schedules, no per-tick reshuffles. Preemption is rare by design.
- Momentum per liquidity. Raw delta is not momentum. Normalise movement against volume and depth so a thin market cannot buy its way on air.
- Editorial weight stays human. Momentum proposes; the director layer disposes. Fully automatic capture is forbidden.
- Provenance on every preemption. A director that cannot show its reasoning is a director captured.
Which loop a vertical runs
Section titled “Which loop a vertical runs”The causal loop closes only where attention is performative: culture, music, creators, internet moments. A match score does not bend to airtime, so sports runs the core loop. Which loop a vertical runs is a verticalConfig property, not code. See The causal loop.