"SUBSTRATE / throughline-archtics"

throughline-archtics

pre-1.0 . v0.0.1 . shipped 2026-06-02 . AGPL-3.0

18 unit tests (zero leaks against test allocator) . lane: research

"WHY"

Long-horizon multi-agent RL evaluation defaults to gridworlds and Atari. Those are not the archetypes the appliance-layer thesis is graded against. The observable large-venue ticketing and revenue-management archetype — perishable inventory across a multi-event calendar, dynamic pricing across multiple price tiers, multi-segment demand under elasticity, and a long-horizon lifetime-value state machine on top of all of it — is one of the cleanest pressure tests in the public economy for the four pieces an env protocol owes to a runner: rich state, long credit-assignment horizon, sparse terminal reward against a dense process-conformance signal, and a non-trivial falsifier the env author can pre-register.

throughline-archtics is the first env past trivial Echo that exercises the throughline protocol under that load. It is the conformance proof that the protocol survives a real archetype without amendment.

"WHAT"

The state space is an inventory grid over events times tiers, plus a three-segment fan model (premium, mid, value) with per-segment price elasticity and a lifetime-value state machine, plus a calendar, plus an RNG, plus a realized-yield tracker against forecast.

The action space is four extern-struct shapes in a 12-byte wire format: Price(event, tier, new_price) mutates the price for one tier on one event, Allocate(event, tier, qty) releases inventory into the saleable pool, Offer(segment, discount) issues a targeted offer against one segment, and RenewalTrigger(segment) advances the lifetime-value state machine for one segment. The 12-byte wire shape is what makes the env addressable from a BEAM runner without serialisation overhead on the hot path.

The reward decomposes across the three throughline channels. The process channel scores rule conformance against floor, ceiling, and capacity constraints — an action that violates the price floor or oversells capacity returns a process-channel penalty without rolling back the env. The outcome channel is sparse and terminal: realized yield versus forecast, clamped to [-1, 2] so a 2x-forecast cap protects the credit-assignment signal from a single lucky run. The judge channel is nil for v0.0.1; the env conforms to the protocol's nil-allowed contract on that channel.

Two claims are pre-registered through the claims() callback. The first is archtics-ltv-renewal-monotonicity — the claim that a RenewalTrigger on a segment with the LTV machine in a renewable state never decreases the segment's expected future yield versus the no-renewal counterfactual under matched RNG. The second is archtics-segment-elasticity-stationarity — the claim that the per-segment elasticity coefficient is stationary across an episode under no offer perturbation. Both claims carry stax-experiment register IDs and are refuted if the runtime trace contradicts the registered hypothesis on any seed.

"MILESTONES"

"DEPENDENCIES"

"ADAPTER TARGETS"

"RELATED CANON"

"RELATED WORKSHOP"

The v0.0.1 to v0.0.2 path is the judge-channel reference binding plus the first training-loop adapter against the BEAM runner. Workshop entry forthcoming on that ship.

"LIMITS"

Pre-1.0 substrate, named honestly.

"SOURCE"

"CITATION"

@software{collins_throughline_archtics_2026,
  author       = {Collins, Sean},
  title        = {{throughline-archtics: Long-Horizon Revenue-Management Env for the throughline Protocol}},
  version      = {v0.0.1},
  year         = {2026},
  month        = {6},
  url          = {https://sunlitmoon.online/substrate/throughline-archtics.html},
  note         = {AGPL-3.0-or-later. Substrate page: sunlitmoon.online/substrate/throughline-archtics.}
}