Lux: The Throw paper has a section called "the packaging engine," Hex. And it does something specific. It takes raw microstates and turns them into induced agent variables. Today we're walking through that engine step by step. Hex: Engine sounds mechanical. What goes in, what comes out? Lux: Think of it like a refinery. Crude material goes in — raw states, raw transitions, raw possibilities. Through a series of stages, the refinery distills that crude material into something usable: macro-variables that define an agent. Packaging, dynamics, costs, viability, and finally — difference-making. Five stages of the emergence calculus pipeline. Hex: Five stages. Let's see the first one. Lux: Stage one: the raw material. You start with a finite state space. In the ring-world that the paper uses as its test bench, that's 72 states and 4 possible actions. Small enough that every state is enumerable, every transition is auditable. Big enough to realize all six Six Birds primitives. Hex: And the first thing you do with the raw states? Lux: Factor them. Every microstate splits into three components: inside, boundary, and outside. Inside is what belongs to the agent. Outside is the rest of the world. And boundary is the coupling — the degrees of freedom through which inside and outside exchange information and resources. Hex: Like cracking crude oil into fractions. Light ends, heavy ends, middle distillates. Lux: Exactly the image. You're separating the raw material into components that have different roles. The inside will become the agent's internal state. The outside will become the environment. And the boundary — that's where the action happens. That's the interface. Hex: Stage two? Lux: The packaging lens. Once you've factored the microstate, you apply a coarse-graining operation. The lens maps the raw microstate to a set of macro-variables. In the Throw paper's setting, you get four: an internal macrostate, an observation at the boundary, a ledger variable tracking resources, and an outside macrostate. Hex: So the lens decides what the agent can see — and what it can't. Lux: And what gets discarded. Micro-details that don't matter at the agent's scale are coarse-grained away. What survives are the variables that the theory needs for its induced physics. And here's where it connects to the broader program. The Plot paper does the same operation. The formula is P-hat equals U times P-to-the-tau times C — evolve the micro-dynamics for tau steps, then package through the lens. Hex: Same packaging move, different paper. Lux: Same structural operation. In Plot, the product is geometry — induced distances on a macro space. In Throw, the product is an agent layer — induced variables for a persistent package with a controllable interface. The refinery is the same. What you test for at the end is different. Hex: Stage three — the dynamics. Lux: A controlled stochastic kernel. For every state-action pair, you get a probability distribution over next states. Formally: P of a, s, s-prime tells you the probability of transitioning to state s-prime given current state s and action a. It's a tensor — one row-stochastic matrix per action. Hex: And not all actions are available. Lux: That's the gating. The ledger — the resource variable we got from the packaging lens — determines which actions you can afford. If your budget can't cover the cost, the action isn't feasible. The feasible action set at state s is everything whose cost fits within your current resources. Hex: So the refinery has a cost structure. Not every operation is available to every batch. Lux: And this matters operationally. The feasibility gate is where P2 — constraints — and P6 — accounting — work together. They carve the action space down to what's actually possible. The paper is explicit: infeasible interface commands are not "actions" in the induced layer. They don't exist at the agent's scale. The ledger erases them. Hex: [thoughtful] That's a strong claim. The budget doesn't just penalize — it removes. Lux: From the agent's perspective, an unaffordable action is like a locked door. It's not that the action costs too much. It's that the action doesn't exist at this scale under these constraints. The theory only sees what's feasible. Hex: Stage four — this is where the refinery does quality control. Lux: The viability kernel. This is the heart of the engine for agenthood. You start with all the states that satisfy the safety predicate — and safety can encode more than just survival. In the paper's setting it also encodes coherence, like requiring a repaired internal bit. Hex: Then you prune. Lux: Iteratively. At each round, remove any state where no feasible action can guarantee that every possible successor stays inside the current set. The word "every" is doing heavy lifting. This is robust support semantics — worst-case, not average-case. If even one nonzero-probability successor can escape, the state gets removed. Hex: That's strict. Average safety isn't enough. Lux: Not for this notion of agenthood. The viability kernel is the conservative answer: which states can the agent maintain indefinitely, no matter what noise the environment throws? You iterate the operator until it stabilizes. In a finite state space, that takes at most as many rounds as there are states. What survives is the greatest fixed point — the largest set where persistent existence is guaranteed. Hex: And if it's empty? Lux: Then there's no agent at this scale. No feasible policy can keep the package viable under the constraints. The refinery ran, but the quality control rejected everything. No usable product. Hex: So the viability kernel is the certification step. It says "this batch passed." Lux: And notice something important. The viability kernel is a feedback notion. The policy can adapt — it picks actions based on the current state. This is different from what comes next. Hex: Stage five. Lux: Empowerment. The output measurement. You fix a starting state, a horizon — how many steps ahead — and an output lens that projects the final state onto an outside variable. Then you build a channel: for every action sequence, you get a probability distribution over outside futures. The capacity of that channel is feasible empowerment. Hex: And the action sequences are open-loop. Lux: Fixed in advance. Not adaptive. You commit to a sequence before seeing what happens. This is complementary to viability. Viability uses feedback — the policy adjusts to current state. Empowerment uses open-loop — the action plan is fixed. They answer different questions about the same system. Hex: Viability asks "can you keep running?" Empowerment asks "how many different outputs can you produce?" Lux: And you need both. A system with a large viability kernel but zero empowerment can persist but can't make any difference outside. It's agenthood without agency. A system with high empowerment but an empty viability kernel appears to have control but can't maintain itself — the agency is fake because the agent doesn't persist. Hex: The refinery needs quality control and output diversity. One without the other isn't enough. Lux: And the refinery itself isn't unique to agents. Hex: You mentioned a connection to the Plot paper. Lux: The Plot paper uses the same structural pipeline. Start with micro-dynamics. Apply a lens. Compute the induced macro kernel — P-hat equals U P-tau C. But then instead of testing for viability and empowerment, Plot tests for geometric coherence. Four conditions. First: closure is nearly idempotent — applying the packaging twice gives approximately the same result as once. Second: macro points are stable — they don't drift under the closure. Third: the induced metric is connected — you can get from anywhere to anywhere at finite cost. Fourth: refinement is coherent — distances persist across scale changes. Hex: So the refinery is general. Same machinery, different quality tests at the end. Lux: In Plot, you test for geometry. In Throw, you test for agency. In the Life paper, you test for maintenance and persistence. The packaging engine is a shared backbone. The six primitives are the controls on that backbone — you toggle them to produce different kinds of induced layers. Toggle protocol and maintenance, you get life. Add a nontrivial interface channel, you get agency. Test for spatial coherence, you get geometry. Hex: And this is why the engine section is the longest in the paper. It's doing the shared construction. Lux: Every exhibit in the paper depends on this engine. The packaging defect measures whether the lens produces stable objects. The viability kernel measures whether those objects can persist. Empowerment measures whether they can make a difference. The null regimes test whether the engine was fed honest data. Remove the engine and you have claims without machinery. The engine is what makes the claims testable. Hex: Crude states in. Agent variables out. Five stages of refining. And you can trace every product back to the machinery that made it. Lux: That's the principle. The emergence calculus doesn't just define agents. It builds them — step by step, through a pipeline whose every stage is auditable. The refinery is open. You can inspect every pipe. Hex: Open refinery. Every pipe inspectable. That's a strong transparency claim. Lux: And the reproducibility section backs it up. Hashed configs, artifact auditor, one-command regeneration. The refinery's blueprints are part of the product. Hex: Blueprints included. Good refinery.