diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8aff3ef..4174191 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,9 +25,11 @@ jobs: - uses: actions/checkout@v7 - uses: dtolnay/rust-toolchain@master with: - toolchain: "1.89" + # wasm-pack 0.15.0 requires cargo-platform 0.3.3 (Rust 1.91+). + # The rust job above remains pinned to the workspace MSRV. + toolchain: "1.91" targets: wasm32-unknown-unknown - - run: cargo install wasm-pack --locked --version 0.13.1 + - run: cargo install wasm-pack --locked --version 0.15.0 - uses: pnpm/action-setup@v6 with: version: 10.14.0 diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index c53b4df..8275043 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -21,11 +21,12 @@ jobs: - uses: actions/checkout@v7 - uses: dtolnay/rust-toolchain@stable with: - toolchain: 1.89.0 + # wasm-pack 0.15.0 requires cargo-platform 0.3.3 (Rust 1.91+). + toolchain: 1.91.0 targets: wasm32-unknown-unknown - uses: Swatinem/rust-cache@v2 - name: Install wasm-pack - run: cargo install wasm-pack --locked --version 0.13.1 + run: cargo install wasm-pack --locked --version 0.15.0 - uses: pnpm/action-setup@v6 with: version: 10.14.0 diff --git a/PDD.md b/PDD.md index 852b417..9b56a1d 100644 --- a/PDD.md +++ b/PDD.md @@ -675,7 +675,7 @@ artifact resolves and records that identity. Micro continues to support exact oracles even when exhaustive search over Showcase would be inappropriate, and an approximate or candidate-bounded Showcase frontier must be labeled as such. -The conformance service enforces minimum Showcase pressure for all thirteen +The conformance service enforces minimum Showcase pressure for all fourteen problems. Every result also receives transport-neutral **Model size** evidence: accounts, rules, steps in the trace, rule-check probes, and alternatives. These measurements are explanatory, not objectives, and cannot affect validity. @@ -844,7 +844,7 @@ artifact and frame. Invalid identities visibly fall back to a catalog default, and shared links never auto-run computation. The same URL therefore works against the native server, the browser Wasm engine, and GitHub Pages. -The implemented Studio exposes the complete thirteen-problem Showcase +The implemented Studio exposes the complete fourteen-problem Showcase surface: pathfinding and networks use graphs; Sokoban and Connect Four use grids; Exact Cover uses a constraint matrix; scheduling and perishables use timelines; markets expose multi-party settlement and rejected shortfalls; @@ -872,7 +872,7 @@ operational run and transport failures. Portable artifacts prove offline playback for the full catalog. The native path proves generated OpenAPI calls, resumable SSE, pause/resume/cancel hooks, artifact and frame retrieval, and scrubbing. Browser tests prove that the same -thirteen-problem Rust service initializes, runs, streams observations, publishes +fourteen-problem Rust service initializes, runs, streams observations, publishes artifacts, and cancels inside an isolated Worker. The Pages build uses a repository-relative Vite base, includes its Wasm binary and `.nojekyll`, and deploys from `main` without a server. Specialized projections are added @@ -1172,7 +1172,7 @@ compatible set or sequence of those resolutions, but it cannot bypass them. ## 10. Executable conformance suite -The project now validates the thesis with thirteen deliberately different +The project now validates the thesis with fourteen deliberately different problems. Full formal specifications live in [PROBLEMS.md](PROBLEMS.md). | Problem | What it demonstrates | @@ -1184,6 +1184,7 @@ problems. Full formal specifications live in [PROBLEMS.md](PROBLEMS.md). | Job shop | Six operations, three machines, identified capacity slots, precedence tokens, completion front, makespan, and direct-oracle agreement | | Rescue | Four hidden sites, 32 encoded scenarios, restricted views, sensing and evacuation, seeded Monte Carlo, approximate success/resource front, and replay | | Bridge | Repeated multi-agent bids, escrow, capacity, atomic round reset, alternative mechanisms, and fairness/credit frontier | +| Living Market | Exact state-evaluated constant-product swaps, endogenous energy/credit value, liquidity depth, heterogeneous actors, counterfactual replays, and exact Shapley price attribution | | Marketplace | Account-derived matching, complete shortfalls, four coupled six-party settlements, clearing, and participant-utility front | | Logistics | Recurrent encoded chance, long rollouts, repair loops, risk projections, approximate policy front, and MCTS route planning | | Connect Four | Standard 7×6 geometry, compact 69-line win certificates, encoded gravity and terminal truth, adversarial MCTS, and plain-board oracles | @@ -1577,7 +1578,7 @@ factor. 13. Add persisted search checkpoints, worker leases, task notifications, and tenant-aware authorization only when the MCP reference boundary is moved into a real multi-process deployment. -14. Measure full-artifact transfer and rendering across the thirteen Studio +14. Measure full-artifact transfer and rendering across the fourteen Studio adapters; add paged model projection, incremental Pareto/Monte Carlo publication, or compact rate schemas only where measured pressure warrants them. @@ -1881,7 +1882,7 @@ Axionomy succeeds when: the same Rust service in a Worker; they can inspect retained solver evidence, scrub every accepted exchange, and inspect exact balances and deltas without a parallel mutable world model or handwritten cross-language contract. -- All thirteen canonical problems are discoverable, runnable, replayable, and +- All fourteen canonical problems are discoverable, runnable, replayable, and meaningfully inspectable through Studio and static Showcase artifacts, with explicit Micro and Stress selection on live interfaces. - CLI, HTTP, MCP, and the browser Worker return the same semantic problem diff --git a/PROBLEMS.md b/PROBLEMS.md index a0a55c1..4d95053 100644 --- a/PROBLEMS.md +++ b/PROBLEMS.md @@ -33,24 +33,24 @@ they bypass the example's trusted action helper. ## Conformance matrix -| Capability | Maze | Sokoban | Exact cover | Workshop | Job shop | Rescue | Bridge | Marketplace | Logistics | Connect Four | Mission | Perishables | Work League | -| --- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | -| Multi-account atomic rewrite | ✓ | ✓ | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | -| Preserved facts/catalysts | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | -| Declared invariants | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | -| Resource objective | ✓ | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ | ✓ | ✓ | -| Exact Pareto front | ✓ | | | ✓ | ✓ | | ✓ | ✓ | | | | ✓ | | -| Approximate or derived Pareto comparison | | | | | | ✓ | | | ✓ | | ✓ | | ✓ | -| Infeasible instance | | ✓ | ✓ | | ✓ | | | ✓ | ✓ | | ✓ | ✓ | | -| Specialized proposer | | | Algorithm X | | Branch optimizer | Scenario/MC evaluator | Auction | Assessment clearing | Monte Carlo/MCTS | MCTS/minimax oracle | ISMCTS/scenario evaluator | Event agenda/index | Competing seeded policies | -| Generic algorithm | BFS/A*/Dijkstra/Pareto | BFS | BFS | BFS/best-first/Pareto | Best-first/Pareto | Rollout/MC/Pareto | BFS/Pareto | Pareto | Rollout/MC/Pareto | MCTS | ISMCTS/Rollout/MC/Pareto/RL | Pareto | Replay-derived vector comparison | -| Hidden or stochastic state | | | | | | ✓ | | | ✓ | | ✓ | | ✓ | -| Multi-agent resolution | | | | | | | ✓ | ✓ | | ✓ | ✓ | | ✓ | -| Long-horizon trajectory | | | | | | | | | ✓ | ✓ | | ✓ | ✓ | -| Per-step leaderboards | | | | | | | | | | | | | ✓ | -| Learning trajectory | | | | | | | | | | | ✓ | | | -| Observation-scoped tree | | | | | | | | | | | ✓ | | | -| Deterministic replay test | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| Capability | Maze | Sokoban | Exact cover | Workshop | Job shop | Rescue | Bridge | Marketplace | Logistics | Connect Four | Mission | Perishables | Work League | Living Market | +| --- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | +| Multi-account atomic rewrite | ✓ | ✓ | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| Preserved facts/catalysts | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| Declared invariants | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ | +| Resource objective | ✓ | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ | ✓ | ✓ | ✓ | +| Exact Pareto front | ✓ | | | ✓ | ✓ | | ✓ | ✓ | | | | ✓ | | | +| Approximate or derived Pareto comparison | | | | | | ✓ | | | ✓ | | ✓ | | ✓ | | +| Infeasible instance | | ✓ | ✓ | | ✓ | | | ✓ | ✓ | | ✓ | ✓ | | ✓ | +| Specialized proposer | | | Algorithm X | | Branch optimizer | Scenario/MC evaluator | Auction | Assessment clearing | Monte Carlo/MCTS | MCTS/minimax oracle | ISMCTS/scenario evaluator | Event agenda/index | Competing seeded policies | Seeded actors/Shapley | +| Generic algorithm | BFS/A*/Dijkstra/Pareto | BFS | BFS | BFS/best-first/Pareto | Best-first/Pareto | Rollout/MC/Pareto | BFS/Pareto | Pareto | Rollout/MC/Pareto | MCTS | ISMCTS/Rollout/MC/Pareto/RL | Pareto | Replay-derived vector comparison | Exact coalition replay | +| Hidden or stochastic state | | | | | | ✓ | | | ✓ | | ✓ | | ✓ | | +| Multi-agent resolution | | | | | | | ✓ | ✓ | | ✓ | ✓ | | ✓ | ✓ | +| Long-horizon trajectory | | | | | | | | | ✓ | ✓ | | ✓ | ✓ | ✓ | +| Per-step leaderboards | | | | | | | | | | | | | ✓ | ✓ | +| Learning trajectory | | | | | | | | | | | ✓ | | | | +| Observation-scoped tree | | | | | | | | | | | ✓ | | | | +| Deterministic replay test | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ## Runnable examples @@ -66,6 +66,7 @@ cargo run -p axionomy-problems --example workshop cargo run -p axionomy-problems --example scheduling cargo run -p axionomy-problems --example rescue cargo run -p axionomy-problems --example bridge +cargo run -p axionomy-problems --example amm cargo run -p axionomy-problems --example marketplace cargo run -p axionomy-problems --example logistics cargo run -p axionomy-problems --example connect_four @@ -117,6 +118,7 @@ catalog, so those two public explanations must change together: | Job shop | Six precedence-constrained operations across three machines and 18 capacity slots | | Rescue | Four hidden sites, 32 encoded Nature scenarios, noisy sensing, contact, and return evacuation | | Bridge | Two consecutive auctions/allocations with escrow, recharge, atomic round reset, and fairness tradeoffs | +| Living Market | Eight actors, exact nonlinear AMM laws, real needs and obligations, liquidity changes, information, a demand shock, internal supply response, three replayable realities, and 128 exact actor coalitions | | Marketplace | Four coupled orders across 14 accounts with shared budgets, inventory, shipping capacity, taxes, and commissions | | Logistics | Four deliveries, recurrent weather and breakdowns, refueling/repair loops, up to 53 accepted transitions, Monte Carlo, and MCTS | | Connect Four | Standard 7×6 board and 69 four-cell win certificates; 226 concrete rates replace the old 1,282-rate 4×4 projection | @@ -843,8 +845,56 @@ replayed snapshot. - Live frame publication without moving transport state into the economy. - Shared URLs that restore a precise problem, outcome, replay step, and leaderboard on both a server and static GitHub Pages. -- Concrete-rate expansion pressure that strengthens the case for future typed - parameterized rate schemas without prematurely changing kernel semantics. +- Concrete-rate expansion pressure that keeps the new exact scalar + parameter/law schema intentionally narrower than a general callback system. + +## 14. Living Market AMM + +Source: `crates/axionomy-problems/src/amm.rs` + +### Specification + +Energy and settlement credit trade through a constant-product pool. The +founding reserve ratio is only an opening hypothesis: a generator supplies +energy, a factory and household buy it to satisfy encoded needs, an informed +speculator and demand whale buy for different reasons, an adaptive provider +changes market depth, and an internal arbitrageur sells into the resulting +scarcity. Credit remains useful because it settles encoded obligations; +energy remains useful because consuming it produces goal and utility assets. +There is no external market, stablecoin peg, or oracle. + +Every swap is an exact state-evaluated rate law. The kernel reads pre-exchange +reserves, evaluates integer floor division with a 0.3% fee, checks the caller's +minimum output, applies both reserve and trader deltas atomically, and emits a +replayable receipt. Proportional liquidity deposits preserve price while +changing depth. Withdrawals burn shares against exact pre-state ownership. + +### Acceptance laws + +- Independent `u128` quotes agree with kernel-computed swap receipts. +- Asset, energy lifecycle, credit, liquidity-share, actor-goal, and information + invariants hold across every replay. +- Constant product never decreases during a swap and round trips cannot create + credit. +- Quotes are monotone in input and remain strictly below the output reserve. +- Market Day reaches the factory, household, generator, and information goals. +- The no-whale and thin-liquidity counterfactuals produce different discovered + prices without changing the AMM law. +- Direct per-actor price changes sum exactly to total reserve-price movement. +- Exact Shapley allocation replays all 128 coalitions of the seven active price + actors and sums exactly to the full counterfactual price difference. +- Studio price history, reserve curve, actors, rule expressions, rejected + slippage probes, and leaderboards derive only from replay evidence. + +### API pressure + +- Serializable state-dependent rates without opaque domain callbacks. +- Exact named exchange parameters and authoritative inequality conditions. +- Nonlinear effects while retaining assets, accounts, rates, and exchanges as + the only semantic primitives. +- Causal attribution through isolated replay forks rather than external + analytics state. +- A dedicated market surface that remains a projection of Rust-owned truth. ## Cross-problem acceptance tests @@ -905,7 +955,7 @@ cargo test --workspace --all-targets --all-features The benchmarks support the generalized kernel, but they also show its next limits clearly: -1. Scheduling and stochastic outcomes need typed parameterized rate schemas to +1. Scheduling and stochastic outcomes need richer typed parameter schemas to avoid eager concrete expansion. 2. Solvers need a standard finite binding enumerator derived from schemas and account capabilities. @@ -926,5 +976,5 @@ limits clearly: or domain-proven pruning; approximate epsilon dominance must never be mislabeled as exhaustive Pareto truth. -Any future abstraction must continue to pass all thirteen problems without +Any future abstraction must continue to pass all fourteen problems without moving authoritative meaning into solver callbacks or an external world. diff --git a/README.md b/README.md index 74c09a9..ad73615 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ evaluation and rating design, and between the Work Utility System and the Autonomy Harness that owns agents, learning, deployment, and assurance. -The thirteen reference problems expose explicit **Micro**, **Showcase**, and +The fourteen reference problems expose explicit **Micro**, **Showcase**, and **Stress** instances. Micro keeps exact fixtures and independent oracles fast; Showcase is the default that Studio and the generated artifacts use. Stress raises a domain-relevant dimension—sampling, topology, board size, horizon, @@ -135,6 +135,8 @@ adapters. - User-defined asset, account, rate-ID, role, and checked `Quantity` types. - Atomic multi-account exchanges with consume, produce, and preserve baskets. +- Serializable state-evaluated rate laws with exact integer expressions, + named exchange parameters, and authoritative conditions for nonlinear rules. - Explanatory assessments, complete shortfalls, projected deltas, and receipts. - Declared invariants, asset-configured goals, isolated forks, and deterministic replay. - Stable Serde models plus optional `BigUint`, dimension-safe `uom`, and Jiff authoring. @@ -239,7 +241,7 @@ pnpm dev Open `http://127.0.0.1:5173`. The native server is optional: when it is healthy, Studio uses HTTP/SSE and exposes pause, resume, and cancellation; otherwise it loads the same Rust service as WebAssembly in an isolated Worker and keeps Run -enabled for all thirteen problems. Worker cancellation is immediate by + enabled for all fourteen problems. Worker cancellation is immediate by terminating that disposable worker. If WebAssembly cannot initialize, the committed Showcase artifacts still provide read-only playback. The status badge is backed by a current health/initialization check rather than by a catalog that @@ -489,6 +491,7 @@ contract, deployment limits, and integration details. | Job shop | Precedence, identified machine slots, makespan, per-job completion | Best-first, branch search, direct oracle, exact allocation Pareto front | | Rescue | Hidden truth, seed, observation, belief, chance, sensor use | Exact scenario evaluation, seeded Monte Carlo, approximate policy front | | Bridge | Capacity, bids, escrow, priority, joint resolution | BFS, first-come, auction, exact priority/credit Pareto front | +| Living Market AMM | Closed energy/credit economy, exact constant-product swaps, fees, liquidity shares, real needs, obligations, information, actor price attribution | Market-day replay, no-whale and thin-liquidity counterfactuals, exact coalition Shapley attribution | | Marketplace | Buyers, sellers, carriers, tax, commission, competing orders, participant utility | Assessment matching, replayable clearing, exact allocation Pareto front | | Logistics | Orders, routes, fuel, time, weather, breakdown, repair | Long rollouts, risk-aware Monte Carlo, route MCTS, approximate policy front | | Connect Four | Identified cells, gravity, turns, line counts, wins, draw | Vector-valued MCTS with plain-board/minimax oracles | diff --git a/STUDIO_VISUAL_LANGUAGE.md b/STUDIO_VISUAL_LANGUAGE.md index c0cdb51..c72de23 100644 --- a/STUDIO_VISUAL_LANGUAGE.md +++ b/STUDIO_VISUAL_LANGUAGE.md @@ -14,6 +14,7 @@ and honest about what the engine actually proved. | Surface | Canonical problem | What it establishes | | --- | --- | --- | | Graph | **Autonomous Work League** | Topology, mobile agents, attached work queues, shared facilities, relationship lines, dense replay state, and live comparative outcomes | +| Market | **The Living Market** | Central pool dominance, exact reserves, endogenous price history, constant-product curve position, actor flows, liquidity depth, and causal attribution | | Onboarding graph | **Key-door Maze** | Immediate comprehension, competing routes, solver expansion playback, inventory transfer, a stateful gate, planned/traversed route evidence, and rejected-move explanation | | Grid | **Sokoban** | Stable terrain, independently animated occupants, cell anchoring, goals, and exact replay motion | | Timeline | **Job-shop scheduling** | Resource lanes, bounded spans, ordering, duration, and temporal progress | @@ -36,6 +37,29 @@ The other canonical problems are equally normative for their surface types. Graph conventions must not be forced onto a grid, matrix, or timeline when the surface itself communicates the problem more clearly. +## Market grammar + +The Living Market is the canonical market surface. A market scene explains how +replay-verified exchanges change one public reserve ratio; it never imports an +oracle price or recomputes an authoritative quote in TypeScript. + +- The pool is the dominant central object and links directly to its economic + account. +- Reserve quantities, liquidity supply, fee terms, product, and price are exact + Rust-owned projection fields. +- Participants surround the pool and link to their authoritative accounts. +- The selected exchange emphasizes only the bound trader or liquidity provider + and derives its direction and deltas from the receipt. +- Price history is assembled from the sequence of replay-derived market + snapshots. It is not stored as independent market state. +- The bonding curve uses the snapshot's exact reserve product and marks the + current reserve point. It explains sensitivity but cannot authorize a swap. +- Proportional liquidity changes depth without visually implying a price move. +- Direct attribution is accumulated from adjacent reserve-price changes; + counterfactual attribution must state whether it is exact or sampled. +- No external comparison line may appear unless an external venue is itself + encoded as accounts, assets, rates, and exchanges in the closed economy. + ## Truth boundary The scene contract may project authoritative state into geometry, labels, diff --git a/crates/axionomy-mcp/README.md b/crates/axionomy-mcp/README.md index c989ace..6f8933c 100644 --- a/crates/axionomy-mcp/README.md +++ b/crates/axionomy-mcp/README.md @@ -66,7 +66,7 @@ inputs, tool outputs, or economic semantics. | `axionomy_exchange_apply` | `economy_id`, exchange | Source ID, new snapshot ID, and receipt | | `axionomy_trace_replay` | `economy_id`, trace | Source ID, new snapshot ID, and all receipts | | `axionomy_search` | `economy_id`, goal, concrete candidate exchanges, bounds | MCP task handle; poll `tasks/get` for progress and the structured search result | -| `axionomy_problem_catalog` | None | The same thirteen descriptors, Micro/Showcase/Stress instances, strategies, and capabilities exposed by CLI and Studio | +| `axionomy_problem_catalog` | None | The same fourteen descriptors, Micro/Showcase/Stress instances, strategies, and capabilities exposed by CLI and Studio | | `axionomy_problem_run` | Problem, optional instance and strategy, seed, and budget | MCP task handle whose terminal result is the shared replay-derived `RunArtifact` with resolved instance identity | Tool inputs and outputs carry generated JSON Schemas. The reference wire diff --git a/crates/axionomy-problems/README.md b/crates/axionomy-problems/README.md index 18b281c..50269b9 100644 --- a/crates/axionomy-problems/README.md +++ b/crates/axionomy-problems/README.md @@ -30,6 +30,7 @@ cargo run -p axionomy-problems --example workshop cargo run -p axionomy-problems --example scheduling cargo run -p axionomy-problems --example rescue cargo run -p axionomy-problems --example bridge +cargo run -p axionomy-problems --example amm cargo run -p axionomy-problems --example marketplace cargo run -p axionomy-problems --example logistics cargo run -p axionomy-problems --example connect_four @@ -56,7 +57,7 @@ RUST_LOG=debug cargo run -p axionomy-problems --example maze Logging is initialized only by these example binaries. Problem modules, search, and kernel libraries never install a global subscriber. -Replay-derived presentation adapters for all thirteen problems live uniformly +Replay-derived presentation adapters for all fourteen problems live uniformly in `axionomy-service`. Keeping them out of this crate prevents a singled-out viewer from becoming part of a problem's semantics: these modules remain pure domain encodings and strategy helpers usable without Studio. diff --git a/crates/axionomy-problems/examples/amm.rs b/crates/axionomy-problems/examples/amm.rs new file mode 100644 index 0000000..89d884d --- /dev/null +++ b/crates/axionomy-problems/examples/amm.rs @@ -0,0 +1,51 @@ +mod support; + +use axionomy_problems::amm::{self, Scenario}; +use tracing::{debug, info}; + +fn main() { + support::init( + "The Living Market", + "Discover the only public price in a closed economy through exact AMM exchanges.", + ); + let initial = amm::initial_showcase(); + let opening = amm::pool_state(&initial); + info!( + energy = opening.energy, + credit = opening.credit, + price_milli = opening.price_milli, + actors = amm::ACTORS.len(), + "founding liquidity establishes a price hypothesis" + ); + + let trace = amm::trace(&initial, Scenario::MarketDay); + let final_world = initial + .replayed(&trace) + .expect("the canonical market day must replay"); + let closing = amm::pool_state(&final_world); + assert!(final_world.matches(&amm::goal())); + info!( + exchanges = trace.exchanges().len(), + closing_price_milli = closing.price_milli, + product = %closing.product, + goal_verified = true, + "closed market discovered a new exchange value" + ); + + for (actor, contribution) in amm::direct_price_contributions(&initial, &trace) { + info!( + ?actor, + price_milli_delta = contribution, + "direct price contribution" + ); + } + for contribution in amm::shapley_price_contributions(&initial) { + info!( + actor = ?contribution.actor, + numerator = %contribution.numerator, + denominator = contribution.denominator, + "exact counterfactual Shapley contribution" + ); + } + debug!(exchanges = ?trace.exchanges(), "verified market replay"); +} diff --git a/crates/axionomy-problems/src/amm.rs b/crates/axionomy-problems/src/amm.rs new file mode 100644 index 0000000..9b9519a --- /dev/null +++ b/crates/axionomy-problems/src/amm.rs @@ -0,0 +1,917 @@ +//! The Living Market: endogenous price discovery in a closed economy. +//! +//! Energy has value because actors need it to satisfy production and household +//! goals. Credit has value because it settles obligations and buys scarce +//! access to that energy. No external price or oracle exists: the AMM reserve +//! ratio is the economy's only public marginal price. + +use axionomy::{ + Account, Economy, EconomyBuilder, Exchange, Goal, LinearInvariant, Quantity, + QuantityComparison, QuantityExpression as Q, Rate, Trace, basket, +}; +use std::collections::{BTreeMap, BTreeSet}; + +pub const FEE_DENOMINATOR: u64 = 1_000; +pub const FEE_NUMERATOR: u64 = 997; +pub const MAX_LP_SHARES: u64 = 1_000_000; + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum Actor { + Founder, + Generator, + Factory, + Household, + Speculator, + AdaptiveLp, + Arbitrageur, + Whale, +} + +pub const ACTORS: [Actor; 8] = [ + Actor::Founder, + Actor::Generator, + Actor::Factory, + Actor::Household, + Actor::Speculator, + Actor::AdaptiveLp, + Actor::Arbitrageur, + Actor::Whale, +]; + +/// Actors whose decisions can change the Market Day price. The founding LP's +/// initial reserve ratio is the counterfactual baseline rather than a later +/// intervention, so it is deliberately excluded from Shapley allocation. +pub const PRICE_ACTORS: [Actor; 7] = [ + Actor::Generator, + Actor::Factory, + Actor::Household, + Actor::Speculator, + Actor::AdaptiveLp, + Actor::Arbitrageur, + Actor::Whale, +]; + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum AccountId { + Pool, + Treasury, + Information, + Actor(Actor), +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum Asset { + Energy, + Credit, + SolarPotential, + SpentEnergy, + LpShare, + UnissuedLpShare, + Need(Actor), + SatisfiedNeed(Actor), + Obligation(Actor), + SettledObligation(Actor), + Uninformed(Actor), + Informed(Actor), + ShortageSignal, + Utility, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum Role { + Pool, + Trader, + LiquidityProvider, + Producer, + Consumer, + Treasury, + Information, + Observer, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum RateId { + BuyEnergy, + SellEnergy, + AddLiquidity, + RemoveLiquidity, + ProduceEnergy, + UseEnergy(Actor), + SettleObligation(Actor), + LearnShortage(Actor), +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum Scenario { + MarketDay, + NoWhale, + ThinLiquidity, +} + +pub type World = Economy; +pub type Action = Exchange; + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct PoolState { + pub energy: u64, + pub credit: u64, + pub issued_lp_shares: u64, + /// Credit per energy, scaled by 1,000 for exact display and comparison. + pub price_milli: u64, + pub product: u128, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct ShapleyContribution { + pub actor: Actor, + /// Signed contribution in price-milli units, before division. + pub numerator: i128, + pub denominator: u64, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +enum MarketSize { + Micro, + Showcase, + Stress, +} + +pub fn initial() -> World { + build(MarketSize::Micro) +} + +pub fn initial_showcase() -> World { + build(MarketSize::Showcase) +} + +pub fn initial_stress() -> World { + build(MarketSize::Stress) +} + +fn build(size: MarketSize) -> World { + let (pool_energy, pool_credit, actor_scale) = match size { + MarketSize::Micro => (4_000, 40_000, 1), + MarketSize::Showcase => (10_000, 100_000, 1), + MarketSize::Stress => (40_000, 400_000, 4), + }; + let initial_lp = pool_energy; + + let mut builder = EconomyBuilder::new() + .account( + AccountId::Pool, + Account::from(basket([ + (Asset::Energy, pool_energy), + (Asset::Credit, pool_credit), + (Asset::UnissuedLpShare, MAX_LP_SHARES - initial_lp), + ])), + ) + .account( + AccountId::Treasury, + Account::from(basket([(Asset::Credit, 20_000 * actor_scale)])), + ) + .account( + AccountId::Information, + Account::from(basket([(Asset::ShortageSignal, 1)])), + ) + .account( + AccountId::Actor(Actor::Founder), + Account::from(basket([ + (Asset::LpShare, initial_lp), + (Asset::Credit, 5_000 * actor_scale), + ])), + ) + .account( + AccountId::Actor(Actor::Generator), + Account::from(basket([ + (Asset::Energy, 3_000 * actor_scale), + (Asset::SolarPotential, 6_000 * actor_scale), + (Asset::Credit, 5_000 * actor_scale), + (Asset::Obligation(Actor::Generator), 1), + ])), + ) + .account( + AccountId::Actor(Actor::Factory), + Account::from(basket([ + (Asset::Credit, 40_000 * actor_scale), + (Asset::Need(Actor::Factory), 1), + (Asset::Obligation(Actor::Factory), 1), + ])), + ) + .account( + AccountId::Actor(Actor::Household), + Account::from(basket([ + // The shallow micro pool can move far enough that meeting the + // household's fixed real-energy need costs more than it does + // in the deeper showcase pool. + (Asset::Credit, 20_000 * actor_scale), + (Asset::Need(Actor::Household), 1), + ])), + ) + .account( + AccountId::Actor(Actor::Speculator), + Account::from(basket([ + (Asset::Credit, 25_000 * actor_scale), + (Asset::Uninformed(Actor::Speculator), 1), + ])), + ) + .account( + AccountId::Actor(Actor::AdaptiveLp), + Account::from(basket([ + (Asset::Energy, 2_000 * actor_scale), + (Asset::Credit, 20_000 * actor_scale), + ])), + ) + .account( + AccountId::Actor(Actor::Arbitrageur), + Account::from(basket([ + (Asset::Energy, 2_500 * actor_scale), + (Asset::Credit, 10_000 * actor_scale), + ])), + ) + .account( + AccountId::Actor(Actor::Whale), + Account::from(basket([(Asset::Credit, 80_000 * actor_scale)])), + ); + + let buy_output = swap_output_expression(Asset::Credit, Asset::Energy); + builder = builder.rate( + RateId::BuyEnergy, + swap_rate(Asset::Credit, Asset::Energy, buy_output), + ); + let sell_output = swap_output_expression(Asset::Energy, Asset::Credit); + builder = builder.rate( + RateId::SellEnergy, + swap_rate(Asset::Energy, Asset::Credit, sell_output), + ); + builder = builder + .rate(RateId::AddLiquidity, add_liquidity_rate()) + .rate(RateId::RemoveLiquidity, remove_liquidity_rate()) + .rate( + RateId::ProduceEnergy, + Rate::new() + .consume(Role::Producer, basket([(Asset::SolarPotential, 1)])) + .produce(Role::Producer, basket([(Asset::Energy, 1)])), + ); + + for actor in [Actor::Factory, Actor::Household] { + let (energy, utility) = energy_use(actor); + builder = builder.rate( + RateId::UseEnergy(actor), + Rate::new() + .consume( + Role::Consumer, + basket([(Asset::Energy, energy), (Asset::Need(actor), 1)]), + ) + .produce( + Role::Consumer, + basket([ + (Asset::SpentEnergy, energy), + (Asset::SatisfiedNeed(actor), 1), + (Asset::Utility, utility), + ]), + ), + ); + } + for actor in [Actor::Generator, Actor::Factory] { + let cost = obligation_cost(actor); + builder = builder.rate( + RateId::SettleObligation(actor), + Rate::new() + .consume( + Role::Consumer, + basket([(Asset::Credit, cost), (Asset::Obligation(actor), 1)]), + ) + .produce( + Role::Consumer, + basket([(Asset::SettledObligation(actor), 1)]), + ) + .produce(Role::Treasury, basket([(Asset::Credit, cost)])) + .distinct(Role::Consumer, Role::Treasury), + ); + } + builder = builder.rate( + RateId::LearnShortage(Actor::Speculator), + Rate::new() + .preserve(Role::Information, basket([(Asset::ShortageSignal, 1)])) + .consume( + Role::Observer, + basket([(Asset::Uninformed(Actor::Speculator), 1)]), + ) + .produce( + Role::Observer, + basket([(Asset::Informed(Actor::Speculator), 1)]), + ) + .distinct(Role::Information, Role::Observer), + ); + + let mut energy_invariant = LinearInvariant::new("closed energy accounting") + .weight(Asset::Energy, 1) + .weight(Asset::SolarPotential, 1) + .weight(Asset::SpentEnergy, 1); + let mut lifecycle = LinearInvariant::new("actor goal lifecycle"); + for actor in [Actor::Factory, Actor::Household] { + lifecycle = lifecycle + .weight(Asset::Need(actor), 1) + .weight(Asset::SatisfiedNeed(actor), 1); + } + for actor in [Actor::Generator, Actor::Factory] { + lifecycle = lifecycle + .weight(Asset::Obligation(actor), 1) + .weight(Asset::SettledObligation(actor), 1); + } + energy_invariant = energy_invariant.weight(Asset::Utility, 0); + builder + .invariant(energy_invariant) + .invariant(LinearInvariant::new("closed credit accounting").weight(Asset::Credit, 1)) + .invariant( + LinearInvariant::new("liquidity share accounting") + .weight(Asset::LpShare, 1) + .weight(Asset::UnissuedLpShare, 1), + ) + .invariant(lifecycle) + .invariant( + LinearInvariant::new("shortage knowledge lifecycle") + .weight(Asset::Uninformed(Actor::Speculator), 1) + .weight(Asset::Informed(Actor::Speculator), 1), + ) + .build() + .expect("the Living Market model is coherent") +} + +fn swap_output_expression(input: Asset, output: Asset) -> Q { + let input_after_fee = Q::multiply(Q::constant(FEE_NUMERATOR), Q::units()); + Q::divide_floor( + Q::multiply(Q::balance(Role::Pool, output), input_after_fee.clone()), + Q::plus( + Q::multiply(Q::balance(Role::Pool, input), Q::constant(FEE_DENOMINATOR)), + input_after_fee, + ), + ) +} + +fn swap_rate(input: Asset, output: Asset, output_quantity: Q) -> Rate { + Rate::new() + .consume(Role::Trader, basket([(input, 1)])) + .produce(Role::Pool, basket([(input, 1)])) + .consume_computed(Role::Pool, output, output_quantity.clone()) + .produce_computed(Role::Trader, output, output_quantity.clone()) + .condition( + "minimum output", + output_quantity, + QuantityComparison::GreaterThanOrEqual, + Q::parameter("minimum_output"), + ) + .distinct(Role::Pool, Role::Trader) +} + +fn issued_lp_expression() -> Q { + Q::subtract( + Q::constant(MAX_LP_SHARES), + Q::balance(Role::Pool, Asset::UnissuedLpShare), + ) +} + +fn minted_lp_expression() -> Q { + let issued = issued_lp_expression(); + Q::minimum( + Q::divide_floor( + Q::multiply(Q::parameter("energy_amount"), issued.clone()), + Q::balance(Role::Pool, Asset::Energy), + ), + Q::divide_floor( + Q::multiply(Q::parameter("credit_amount"), issued), + Q::balance(Role::Pool, Asset::Credit), + ), + ) +} + +fn add_liquidity_rate() -> Rate { + let minted = minted_lp_expression(); + Rate::new() + .consume_computed( + Role::LiquidityProvider, + Asset::Energy, + Q::parameter("energy_amount"), + ) + .consume_computed( + Role::LiquidityProvider, + Asset::Credit, + Q::parameter("credit_amount"), + ) + .produce_computed(Role::Pool, Asset::Energy, Q::parameter("energy_amount")) + .produce_computed(Role::Pool, Asset::Credit, Q::parameter("credit_amount")) + .consume_computed(Role::Pool, Asset::UnissuedLpShare, minted.clone()) + .produce_computed(Role::LiquidityProvider, Asset::LpShare, minted.clone()) + .condition( + "liquidity must preserve the discovered price", + Q::multiply( + Q::parameter("energy_amount"), + Q::balance(Role::Pool, Asset::Credit), + ), + QuantityComparison::Equal, + Q::multiply( + Q::parameter("credit_amount"), + Q::balance(Role::Pool, Asset::Energy), + ), + ) + .condition( + "minimum liquidity shares", + minted, + QuantityComparison::GreaterThanOrEqual, + Q::parameter("minimum_lp_shares"), + ) + .distinct(Role::Pool, Role::LiquidityProvider) +} + +fn remove_liquidity_rate() -> Rate { + let issued = issued_lp_expression(); + let energy = Q::divide_floor( + Q::multiply(Q::balance(Role::Pool, Asset::Energy), Q::units()), + issued.clone(), + ); + let credit = Q::divide_floor( + Q::multiply(Q::balance(Role::Pool, Asset::Credit), Q::units()), + issued, + ); + Rate::new() + .consume(Role::LiquidityProvider, basket([(Asset::LpShare, 1)])) + .produce(Role::Pool, basket([(Asset::UnissuedLpShare, 1)])) + .consume_computed(Role::Pool, Asset::Energy, energy.clone()) + .consume_computed(Role::Pool, Asset::Credit, credit.clone()) + .produce_computed(Role::LiquidityProvider, Asset::Energy, energy) + .produce_computed(Role::LiquidityProvider, Asset::Credit, credit) + .distinct(Role::Pool, Role::LiquidityProvider) +} + +pub fn goal() -> Goal { + Goal::new() + .require( + AccountId::Actor(Actor::Factory), + basket([ + (Asset::SatisfiedNeed(Actor::Factory), 1), + (Asset::SettledObligation(Actor::Factory), 1), + ]), + ) + .require( + AccountId::Actor(Actor::Household), + basket([(Asset::SatisfiedNeed(Actor::Household), 1)]), + ) + .require( + AccountId::Actor(Actor::Generator), + basket([(Asset::SettledObligation(Actor::Generator), 1)]), + ) + .require( + AccountId::Actor(Actor::Speculator), + basket([(Asset::Informed(Actor::Speculator), 1)]), + ) +} + +pub fn buy_energy(actor: Actor, credit_input: u64, minimum_energy: u64) -> Action { + Exchange::new(RateId::BuyEnergy, Quantity::new(credit_input)) + .bind(Role::Pool, AccountId::Pool) + .bind(Role::Trader, AccountId::Actor(actor)) + .parameter("minimum_output", Quantity::new(minimum_energy)) +} + +pub fn sell_energy(actor: Actor, energy_input: u64, minimum_credit: u64) -> Action { + Exchange::new(RateId::SellEnergy, Quantity::new(energy_input)) + .bind(Role::Pool, AccountId::Pool) + .bind(Role::Trader, AccountId::Actor(actor)) + .parameter("minimum_output", Quantity::new(minimum_credit)) +} + +pub fn add_liquidity(actor: Actor, energy: u64, credit: u64, minimum_lp_shares: u64) -> Action { + Exchange::new(RateId::AddLiquidity, Quantity::new(1)) + .bind(Role::Pool, AccountId::Pool) + .bind(Role::LiquidityProvider, AccountId::Actor(actor)) + .parameter("energy_amount", Quantity::new(energy)) + .parameter("credit_amount", Quantity::new(credit)) + .parameter("minimum_lp_shares", Quantity::new(minimum_lp_shares)) +} + +pub fn remove_liquidity(actor: Actor, shares: u64) -> Action { + Exchange::new(RateId::RemoveLiquidity, Quantity::new(shares)) + .bind(Role::Pool, AccountId::Pool) + .bind(Role::LiquidityProvider, AccountId::Actor(actor)) +} + +pub fn produce_energy(actor: Actor, units: u64) -> Action { + Exchange::new(RateId::ProduceEnergy, Quantity::new(units)) + .bind(Role::Producer, AccountId::Actor(actor)) +} + +pub fn use_energy(actor: Actor) -> Action { + Exchange::new(RateId::UseEnergy(actor), Quantity::new(1)) + .bind(Role::Consumer, AccountId::Actor(actor)) +} + +pub fn settle_obligation(actor: Actor) -> Action { + Exchange::new(RateId::SettleObligation(actor), Quantity::new(1)) + .bind(Role::Consumer, AccountId::Actor(actor)) + .bind(Role::Treasury, AccountId::Treasury) +} + +pub fn learn_shortage(actor: Actor) -> Action { + Exchange::new(RateId::LearnShortage(actor), Quantity::new(1)) + .bind(Role::Information, AccountId::Information) + .bind(Role::Observer, AccountId::Actor(actor)) +} + +fn energy_use(actor: Actor) -> (u64, u64) { + match actor { + Actor::Factory => (1_500, 150), + Actor::Household => (350, 100), + _ => (1, 1), + } +} + +fn obligation_cost(actor: Actor) -> u64 { + match actor { + Actor::Generator => 4_000, + Actor::Factory => 6_000, + _ => 1, + } +} + +pub fn pool_state(world: &World) -> PoolState { + let energy = world.balance(&AccountId::Pool, &Asset::Energy).get(); + let credit = world.balance(&AccountId::Pool, &Asset::Credit).get(); + let unissued = world + .balance(&AccountId::Pool, &Asset::UnissuedLpShare) + .get(); + PoolState { + energy, + credit, + issued_lp_shares: MAX_LP_SHARES - unissued, + price_milli: credit + .saturating_mul(1_000) + .checked_div(energy) + .unwrap_or_default(), + product: u128::from(energy) * u128::from(credit), + } +} + +pub fn quote_output(world: &World, input: Asset, input_amount: u64) -> Option { + let output = match input { + Asset::Credit => Asset::Energy, + Asset::Energy => Asset::Credit, + _ => return None, + }; + let reserve_in = u128::from(world.balance(&AccountId::Pool, &input).get()); + let reserve_out = u128::from(world.balance(&AccountId::Pool, &output).get()); + let after_fee = u128::from(input_amount) * u128::from(FEE_NUMERATOR); + let denominator = reserve_in * u128::from(FEE_DENOMINATOR) + after_fee; + if denominator == 0 { + return None; + } + u64::try_from(reserve_out * after_fee / denominator).ok() +} + +fn guarded_buy(world: &World, actor: Actor, input: u64) -> Action { + let output = quote_output(world, Asset::Credit, input).unwrap_or_default(); + buy_energy(actor, input, output.saturating_mul(98) / 100) +} + +fn guarded_buy_at_least( + world: &World, + actor: Actor, + preferred_input: u64, + required_output: u64, +) -> Action { + let mut input = preferred_input; + while quote_output(world, Asset::Credit, input).unwrap_or_default() < required_output { + input = input + .checked_add(100) + .expect("canonical market input remains bounded"); + } + let output = quote_output(world, Asset::Credit, input).unwrap_or_default(); + buy_energy(actor, input, output.saturating_mul(98) / 100) +} + +fn guarded_sell(world: &World, actor: Actor, input: u64) -> Action { + let output = quote_output(world, Asset::Energy, input).unwrap_or_default(); + sell_energy(actor, input, output.saturating_mul(98) / 100) +} + +fn push(world: &mut World, trace: &mut Trace, action: Action) { + world + .apply(action.clone()) + .expect("canonical Living Market action is applicable"); + trace.push(action); +} + +pub fn trace(initial: &World, scenario: Scenario) -> Trace { + let mut included = ACTORS.into_iter().collect::>(); + if matches!(scenario, Scenario::NoWhale) { + included.remove(&Actor::Whale); + } + trace_with_actors(initial, scenario, &included) +} + +/// Replays the same deterministic Market Day policies for an arbitrary actor +/// coalition. Missing actors make no proposals; every remaining action is +/// re-quoted against the counterfactual reserve state before Axionomy applies +/// it. This is the causal primitive used by exact Shapley attribution. +pub fn market_day_with_actors( + initial: &World, + included: &BTreeSet, +) -> Trace { + trace_with_actors(initial, Scenario::MarketDay, included) +} + +fn trace_with_actors( + initial: &World, + scenario: Scenario, + included: &BTreeSet, +) -> Trace { + let mut world = initial.fork(); + let mut trace = Trace::new(); + let stress = pool_state(initial).energy >= 40_000; + let scale = if stress { 4 } else { 1 }; + + if matches!(scenario, Scenario::ThinLiquidity) { + let shares = pool_state(&world).issued_lp_shares / 2; + push( + &mut world, + &mut trace, + remove_liquidity(Actor::Founder, shares), + ); + } else if included.contains(&Actor::AdaptiveLp) { + let state = pool_state(&world); + let energy = state.energy / 10; + let credit = state.credit / 10; + push( + &mut world, + &mut trace, + add_liquidity(Actor::AdaptiveLp, energy, credit, energy), + ); + } + + if included.contains(&Actor::Generator) { + push( + &mut world, + &mut trace, + produce_energy(Actor::Generator, 1_500 * scale), + ); + let action = guarded_sell(&world, Actor::Generator, 2_500 * scale); + push(&mut world, &mut trace, action); + } + + if included.contains(&Actor::Factory) { + let action = guarded_buy_at_least(&world, Actor::Factory, 26_000 * scale, 1_500); + push(&mut world, &mut trace, action); + push(&mut world, &mut trace, use_energy(Actor::Factory)); + push(&mut world, &mut trace, settle_obligation(Actor::Factory)); + } + + if included.contains(&Actor::Household) { + let action = guarded_buy_at_least(&world, Actor::Household, 5_000 * scale, 350); + push(&mut world, &mut trace, action); + push(&mut world, &mut trace, use_energy(Actor::Household)); + } + + if included.contains(&Actor::Speculator) { + push(&mut world, &mut trace, learn_shortage(Actor::Speculator)); + let action = guarded_buy(&world, Actor::Speculator, 16_000 * scale); + push(&mut world, &mut trace, action); + } + + if included.contains(&Actor::Whale) && !matches!(scenario, Scenario::NoWhale) { + let action = guarded_buy(&world, Actor::Whale, 45_000 * scale); + push(&mut world, &mut trace, action); + } + + if included.contains(&Actor::Generator) { + push( + &mut world, + &mut trace, + produce_energy(Actor::Generator, 1_800 * scale), + ); + let action = guarded_sell(&world, Actor::Generator, 1_800 * scale); + push(&mut world, &mut trace, action); + } + if included.contains(&Actor::Arbitrageur) { + let action = guarded_sell(&world, Actor::Arbitrageur, 1_200 * scale); + push(&mut world, &mut trace, action); + } + if included.contains(&Actor::Generator) { + push(&mut world, &mut trace, settle_obligation(Actor::Generator)); + } + trace +} + +pub fn shapley_price_contributions(initial: &World) -> Vec { + let actor_count = PRICE_ACTORS.len(); + let coalition_count = 1_usize << actor_count; + let mut values = vec![0_i128; coalition_count]; + for (mask, value) in values.iter_mut().enumerate() { + let included = PRICE_ACTORS + .into_iter() + .enumerate() + .filter_map(|(index, actor)| ((mask & (1 << index)) != 0).then_some(actor)) + .collect::>(); + let trace = market_day_with_actors(initial, &included); + let final_world = initial + .replayed(&trace) + .expect("every canonical actor coalition is replayable"); + *value = i128::from(pool_state(&final_world).price_milli); + } + + let factorials = (0..=actor_count) + .scan(1_u64, |factorial, value| { + if value > 0 { + *factorial *= value as u64; + } + Some(*factorial) + }) + .collect::>(); + let denominator = factorials[actor_count]; + PRICE_ACTORS + .into_iter() + .enumerate() + .map(|(actor_index, actor)| { + let mut numerator = 0_i128; + for mask in 0..coalition_count { + if mask & (1 << actor_index) != 0 { + continue; + } + let size = mask.count_ones() as usize; + let weight = factorials[size] * factorials[actor_count - size - 1]; + let marginal = values[mask | (1 << actor_index)] - values[mask]; + numerator += i128::from(weight) * marginal; + } + ShapleyContribution { + actor, + numerator, + denominator, + } + }) + .collect() +} + +pub fn direct_price_contributions( + initial: &World, + trace: &Trace, +) -> BTreeMap { + let mut world = initial.fork(); + let mut contributions = BTreeMap::new(); + for exchange in trace.exchanges() { + let before = i128::from(pool_state(&world).price_milli); + world + .apply(exchange.clone()) + .expect("trace was already valid"); + let after = i128::from(pool_state(&world).price_milli); + if matches!(exchange.rate(), RateId::BuyEnergy | RateId::SellEnergy) + && let Some(AccountId::Actor(actor)) = exchange.bindings().get(&Role::Trader) + { + *contributions.entry(*actor).or_default() += after - before; + } + } + contributions +} + +#[cfg(test)] +mod tests { + use super::*; + use proptest::prelude::*; + + #[test] + fn swaps_follow_the_independent_constant_product_quote() { + let mut world = initial_showcase(); + let before = pool_state(&world); + let expected = quote_output(&world, Asset::Credit, 10_000).unwrap(); + world + .apply(buy_energy(Actor::Factory, 10_000, expected)) + .unwrap(); + let after = pool_state(&world); + + assert_eq!(before.energy - after.energy, expected); + assert_eq!(after.credit - before.credit, 10_000); + assert!(after.product >= before.product); + assert!(after.price_milli > before.price_milli); + } + + #[test] + fn proportional_liquidity_changes_depth_without_changing_price() { + let mut world = initial_showcase(); + let before = pool_state(&world); + world + .apply(add_liquidity(Actor::AdaptiveLp, 1_000, 10_000, 1_000)) + .unwrap(); + let after = pool_state(&world); + + assert_eq!(after.price_milli, before.price_milli); + assert_eq!(after.issued_lp_shares, before.issued_lp_shares + 1_000); + assert!(after.product > before.product); + } + + #[test] + fn market_day_is_closed_replayable_and_reaches_real_actor_goals() { + let initial = initial_showcase(); + let trace = trace(&initial, Scenario::MarketDay); + let final_world = initial.replayed(&trace).unwrap(); + + assert!(final_world.matches(&goal())); + assert!(trace.exchanges().len() >= 14); + assert!( + final_world + .balance(&AccountId::Actor(Actor::Factory), &Asset::Utility) + .get() + > 0 + ); + } + + #[test] + fn removing_the_whale_changes_the_discovered_price() { + let initial = initial_showcase(); + let full = initial + .replayed(&trace(&initial, Scenario::MarketDay)) + .unwrap(); + let no_whale = initial + .replayed(&trace(&initial, Scenario::NoWhale)) + .unwrap(); + + assert_ne!( + pool_state(&full).price_milli, + pool_state(&no_whale).price_milli + ); + assert!(pool_state(&full).price_milli > pool_state(&no_whale).price_milli); + } + + #[test] + fn direct_actor_contributions_sum_to_swap_price_movement() { + let initial = initial_showcase(); + let trace = trace(&initial, Scenario::MarketDay); + let contributions = direct_price_contributions(&initial, &trace); + let total: i128 = contributions.values().sum(); + let final_world = initial.replayed(&trace).unwrap(); + let actual = i128::from(pool_state(&final_world).price_milli) + - i128::from(pool_state(&initial).price_milli); + + assert_eq!(total, actual); + assert!(contributions.len() >= 6); + } + + #[test] + fn exact_shapley_contributions_allocate_the_full_counterfactual_price_change() { + let initial = initial_showcase(); + let contributions = shapley_price_contributions(&initial); + let denominator = i128::from(contributions[0].denominator); + let allocated: i128 = contributions.iter().map(|entry| entry.numerator).sum(); + let empty = initial + .replayed(&market_day_with_actors(&initial, &BTreeSet::new())) + .unwrap(); + let full = initial + .replayed(&market_day_with_actors( + &initial, + &PRICE_ACTORS.into_iter().collect(), + )) + .unwrap(); + let difference = + i128::from(pool_state(&full).price_milli) - i128::from(pool_state(&empty).price_milli); + + assert_eq!(allocated, difference * denominator); + assert_eq!(contributions.len(), PRICE_ACTORS.len()); + } + + #[test] + fn every_market_day_swap_preserves_or_grows_constant_product() { + let mut world = initial_showcase(); + let trace = trace(&world, Scenario::MarketDay); + for exchange in trace.exchanges() { + let before = pool_state(&world); + world.apply(exchange.clone()).unwrap(); + let after = pool_state(&world); + if matches!(exchange.rate(), RateId::BuyEnergy | RateId::SellEnergy) { + assert!(after.product >= before.product); + } + } + } + + #[test] + fn a_round_trip_cannot_create_credit() { + let mut world = initial_showcase(); + let input = 10_000; + let energy = quote_output(&world, Asset::Credit, input).unwrap(); + world + .apply(buy_energy(Actor::Factory, input, energy)) + .unwrap(); + let credit_back = quote_output(&world, Asset::Energy, energy).unwrap(); + world + .apply(sell_energy(Actor::Factory, energy, credit_back)) + .unwrap(); + assert!(credit_back < input); + } + + proptest! { + #[test] + fn exact_quotes_are_monotone_and_bounded(first in 1_u64..20_000, extra in 0_u64..20_000) { + let world = initial_showcase(); + let second = first + extra; + let first_output = quote_output(&world, Asset::Credit, first).unwrap(); + let second_output = quote_output(&world, Asset::Credit, second).unwrap(); + prop_assert!(second_output >= first_output); + prop_assert!(second_output < pool_state(&world).energy); + } + } +} diff --git a/crates/axionomy-problems/src/lib.rs b/crates/axionomy-problems/src/lib.rs index 3628be6..7f4b405 100644 --- a/crates/axionomy-problems/src/lib.rs +++ b/crates/axionomy-problems/src/lib.rs @@ -1,5 +1,6 @@ #![doc = include_str!("../README.md")] +pub mod amm; pub mod bridge; pub mod connect_four; pub mod exact_cover; diff --git a/crates/axionomy-service/README.md b/crates/axionomy-service/README.md index 30dfb01..6f53b06 100644 --- a/crates/axionomy-service/README.md +++ b/crates/axionomy-service/README.md @@ -5,7 +5,7 @@ capabilities, accepts reproducible run requests, and returns replay-derived artifacts without depending on HTTP, CLI, MCP, async runtimes, databases, or a browser. -`ReferenceService` adapts the thirteen canonical conformance problems. External +`ReferenceService` adapts the fourteen canonical conformance problems. External interfaces call the same service and are tested for semantic parity. Its deliberately small vocabulary is `ProblemDescriptor`, `RunRequest`, diff --git a/crates/axionomy-service/src/adapters.rs b/crates/axionomy-service/src/adapters.rs index a82c0c4..3aea79a 100644 --- a/crates/axionomy-service/src/adapters.rs +++ b/crates/axionomy-service/src/adapters.rs @@ -78,6 +78,7 @@ pub(super) fn link_balance( entity } +mod amm; mod bridge; mod connect_four; mod exact_cover; @@ -478,6 +479,47 @@ pub(crate) fn catalog() -> Vec { Capability::MultiAccountExchange, ], ), + problem( + ProblemCopy { + key: "amm", + title: "The Living Market", + summary: "Watch a closed economy discover its only public price. Production, real needs, beliefs, liquidity, speculation, and internal arbitrage move an exact constant-product AMM with no oracle or outside market.", + instances: [ + "A compact closed market that exposes every reserve calculation and refusal", + "Eight heterogeneous actors discover value through production, consumption, liquidity, information, and exchange", + "A four-times-deeper economy with proportionally larger flows and the same exact replay guarantees", + ], + }, + ProblemFamily::Market, + "market_day", + &[ + ( + "market_day", + "Endogenous market day", + "The complete closed-economy price-discovery story, including a demand shock and supply response.", + "verified autonomous market replay", + ), + ( + "no_whale", + "Counterfactual: no whale", + "Replay the same economy without its largest buyer and inspect the causal price difference.", + "counterfactual replay", + ), + ( + "thin_liquidity", + "Counterfactual: thin liquidity", + "Withdraw half the founding liquidity before trading and observe amplified price impact.", + "counterfactual replay", + ), + ], + &[ + Capability::AtomicSettlement, + Capability::MultiAccountExchange, + Capability::FeasibilityAssessment, + Capability::ReplayDerivedLeaderboards, + Capability::NonFungibleFacts, + ], + ), problem( ProblemCopy { key: "marketplace", @@ -806,6 +848,7 @@ pub(crate) fn run( "scheduling" => scheduling::build(request, &descriptor), "rescue" => rescue::build(request, &descriptor), "bridge" => bridge::build(request, &descriptor), + "amm" => amm::build(request, &descriptor), "marketplace" => marketplace::build(request, &descriptor), "logistics" => logistics::build(request, &descriptor, &mut progress), "connect_four" => connect_four::build(request, &descriptor, &mut progress), diff --git a/crates/axionomy-service/src/adapters/amm.rs b/crates/axionomy-service/src/adapters/amm.rs new file mode 100644 index 0000000..792014c --- /dev/null +++ b/crates/axionomy-service/src/adapters/amm.rs @@ -0,0 +1,503 @@ +use super::*; +use axionomy_problems::amm::{ + self, ACTORS, AccountId, Actor, Asset, RateId, Role, Scenario, World, +}; +use axionomy_view::{ + ExactQuantity, LeaderboardEntryView, LeaderboardView, MarketActorView, MarketPoolView, + ObjectiveDirectionView, SceneGlyphView, SceneSurfaceView, SceneToneView, TelemetryKindView, +}; +use std::collections::BTreeMap; + +pub(super) fn build( + request: &RunRequest, + descriptor: &ProblemDescriptor, +) -> Result { + let initial = match instance_profile(request, descriptor) { + InstanceProfile::Micro => amm::initial(), + InstanceProfile::Showcase => amm::initial_showcase(), + InstanceProfile::Stress => amm::initial_stress(), + }; + let scenarios = [ + ( + "market_day", + Scenario::MarketDay, + "Living Market · endogenous price discovery", + "A founding price hypothesis meets production, real consumption, informed speculation, a demand whale, adaptive liquidity, and internal arbitrage. No external price exists.", + ), + ( + "no_whale", + Scenario::NoWhale, + "Living Market · without the demand whale", + "The same closed economy replays without its largest buyer, exposing that actor's causal effect on the discovered exchange value.", + ), + ( + "thin_liquidity", + Scenario::ThinLiquidity, + "Living Market · thin-liquidity reality", + "Half the founding liquidity exits before the market opens. Identical needs and beliefs now move price further because the economy has less depth.", + ), + ]; + + let mut documents = Vec::new(); + for (strategy, scenario, title, description) in scenarios { + let trace = amm::trace(&initial, scenario); + let final_world = initial + .replayed(&trace) + .map_err(|error| problem_error("amm", format!("{error:?}")))?; + let final_pool = amm::pool_state(&final_world); + let mut view = document( + DocumentSpec { + problem: "amm", + strategy, + title, + description, + source_label: "Closed endogenous market", + }, + &initial, + &amm::goal(), + &trace, + vec![ + ObjectiveView { + key: "needs".into(), + label: "Needs satisfied".into(), + direction: ObjectiveDirectionView::Maximize, + value: satisfied_needs(&final_world).to_string(), + }, + ObjectiveView { + key: "utility".into(), + label: "Realized utility".into(), + direction: ObjectiveDirectionView::Maximize, + value: total_utility(&final_world).to_string(), + }, + ObjectiveView { + key: "depth".into(), + label: "Energy liquidity".into(), + direction: ObjectiveDirectionView::Maximize, + value: final_pool.energy.to_string(), + }, + ], + scene, + ) + .map_err(|error| problem_error("amm", error))?; + attach_contribution_leaderboards(&initial, &trace, &mut view)?; + if matches!(scenario, Scenario::MarketDay) + && let Some(final_frame) = view.frames.last_mut() + { + final_frame + .after + .leaderboards + .push(causal_contribution_board(&initial)); + } + view.telemetry.push(telemetry( + "verified market replay", + true, + [ + ( + TelemetryKindView::Transitions, + trace.exchanges().len() as u64, + "authoritative exchanges".into(), + ), + ( + TelemetryKindView::Accounts, + initial.accounts().count() as u64, + "closed-economy accounts".into(), + ), + ( + TelemetryKindView::Alternatives, + ACTORS.len() as u64, + "heterogeneous actors".into(), + ), + ], + )); + + let quote = amm::quote_output(&initial, Asset::Credit, 10_000).unwrap_or_default(); + let guarded = amm::buy_energy(Actor::Factory, 10_000, quote.saturating_add(1)); + view.proposals.push(proposal( + "amm", + ProposalSpec { + id: "impossible-minimum-output", + label: "Demand more than the curve returns", + description: "The trader supplies enough credit, but its minimum-output protection correctly refuses the AMM quote.", + }, + &initial, + &guarded, + )); + let wrong_ratio = amm::add_liquidity(Actor::AdaptiveLp, 1_000, 9_000, 1); + view.proposals.push(proposal( + "amm", + ProposalSpec { + id: "price-moving-liquidity", + label: "Deposit liquidity at the wrong ratio", + description: "Liquidity may deepen the discovered market price, but this rule refuses to rewrite that price by depositing an inconsistent reserve ratio.", + }, + &initial, + &wrong_ratio, + )); + documents.push(view); + } + + artifact( + request, + descriptor, + selected_strategy(request, descriptor), + documents, + ) +} + +fn exact(value: impl ToString) -> ExactQuantity { + ExactQuantity(value.to_string()) +} + +fn account_key(account: AccountId) -> String { + match account { + AccountId::Pool => "amm:account:pool".into(), + AccountId::Treasury => "amm:account:treasury".into(), + AccountId::Information => "amm:account:information".into(), + AccountId::Actor(actor) => format!("amm:account:actor-{}", actor_debug_key(actor)), + } +} + +fn actor_key(actor: Actor) -> &'static str { + match actor { + Actor::Founder => "founder", + Actor::Generator => "generator", + Actor::Factory => "factory", + Actor::Household => "household", + Actor::Speculator => "speculator", + Actor::AdaptiveLp => "adaptive-lp", + Actor::Arbitrageur => "arbitrageur", + Actor::Whale => "whale", + } +} + +fn actor_debug_key(actor: Actor) -> &'static str { + match actor { + Actor::AdaptiveLp => "adaptivelp", + actor => actor_key(actor), + } +} + +fn actor_label(actor: Actor) -> &'static str { + match actor { + Actor::Founder => "Founding LP", + Actor::Generator => "Solar Generator", + Actor::Factory => "Factory", + Actor::Household => "Household", + Actor::Speculator => "Informed Speculator", + Actor::AdaptiveLp => "Adaptive LP", + Actor::Arbitrageur => "Internal Arbitrageur", + Actor::Whale => "Demand Whale", + } +} + +fn actor_glyph(actor: Actor) -> SceneGlyphView { + match actor { + Actor::Founder | Actor::AdaptiveLp => SceneGlyphView::Organization, + Actor::Generator => SceneGlyphView::Energy, + Actor::Factory => SceneGlyphView::Machine, + Actor::Household => SceneGlyphView::Person, + Actor::Speculator => SceneGlyphView::Information, + Actor::Arbitrageur => SceneGlyphView::Move, + Actor::Whale => SceneGlyphView::Money, + } +} + +fn actor_status(world: &World, actor: Actor) -> Option { + let account = AccountId::Actor(actor); + if world.balance(&account, &Asset::SatisfiedNeed(actor)).get() > 0 { + Some("need satisfied".into()) + } else if world.balance(&account, &Asset::Informed(actor)).get() > 0 { + Some("shortage informed".into()) + } else if world + .balance(&account, &Asset::SettledObligation(actor)) + .get() + > 0 + { + Some("obligation settled".into()) + } else if world.balance(&account, &Asset::LpShare).get() > 0 { + Some("liquidity provider".into()) + } else { + None + } +} + +fn actor_tone(world: &World, actor: Actor) -> SceneToneView { + if actor_status(world, actor).is_some() { + SceneToneView::Success + } else if matches!(actor, Actor::Whale | Actor::Speculator) { + SceneToneView::Warning + } else { + SceneToneView::Neutral + } +} + +fn scene(_: u64, world: &World) -> Option { + let state = amm::pool_state(world); + let positions = [ + (12.0, 17.0), + (11.0, 44.0), + (13.0, 72.0), + (36.0, 87.0), + (64.0, 87.0), + (87.0, 72.0), + (89.0, 44.0), + (88.0, 17.0), + ]; + let actors = ACTORS + .into_iter() + .zip(positions) + .map(|(actor, (x, y))| { + let account = AccountId::Actor(actor); + MarketActorView { + id: ViewId::new( + format!("amm:actor:{}", actor_key(actor)), + actor_label(actor), + ), + account: account_key(account), + glyph: actor_glyph(actor), + tone: actor_tone(world, actor), + x, + y, + energy: exact(world.balance(&account, &Asset::Energy)), + credit: exact(world.balance(&account, &Asset::Credit)), + liquidity: exact(world.balance(&account, &Asset::LpShare)), + utility: exact(world.balance(&account, &Asset::Utility)), + status: actor_status(world, actor), + } + }) + .collect::>(); + let entities = actors + .iter() + .map(|actor| SceneEntityView { + id: actor.id.clone(), + glyph: actor.glyph, + anchor: SceneAnchorView::Unanchored, + role: SceneEntityRoleView::Occupant, + tone: actor.tone, + status: actor.status.clone(), + account: Some(actor.account.clone()), + evidence: vec![SceneEvidenceRefView::Account { + account: actor.account.clone(), + }], + metrics: vec![ + visual_metric("energy", "Energy", actor.energy.0.clone(), Some("units")), + visual_metric("credit", "Credit", actor.credit.0.clone(), Some("credits")), + ], + }) + .collect(); + Some(Scene { + title: "The Living Market".into(), + surface: SceneSurfaceView::Market { + pool: Box::new(MarketPoolView { + id: ViewId::new("amm:pool:energy-credit", "Energy / Credit AMM"), + base_asset: ViewId::new("amm:asset:energy", "Energy"), + quote_asset: ViewId::new("amm:asset:credit", "Credit"), + base_reserve: exact(state.energy), + quote_reserve: exact(state.credit), + price_milli: exact(state.price_milli), + product: exact(state.product), + issued_liquidity: exact(state.issued_lp_shares), + fee_numerator: amm::FEE_NUMERATOR, + fee_denominator: amm::FEE_DENOMINATOR, + account: account_key(AccountId::Pool), + }), + actors, + }, + entities, + paths: Vec::new(), + annotations: Vec::new(), + metrics: vec![ + visual_metric( + "price", + "Discovered price", + format_price(state.price_milli), + Some("credit / energy"), + ), + visual_metric( + "energy_reserve", + "Energy reserve", + state.energy, + Some("energy"), + ), + visual_metric( + "liquidity", + "Liquidity shares", + state.issued_lp_shares, + Some("LP"), + ), + ], + legend: Vec::new(), + }) +} + +fn format_price(price_milli: u64) -> String { + format!("{}.{:03}", price_milli / 1_000, price_milli % 1_000) +} + +fn satisfied_needs(world: &World) -> u64 { + [Actor::Factory, Actor::Household] + .into_iter() + .map(|actor| { + world + .balance(&AccountId::Actor(actor), &Asset::SatisfiedNeed(actor)) + .get() + }) + .sum() +} + +fn total_utility(world: &World) -> u64 { + ACTORS + .into_iter() + .map(|actor| { + world + .balance(&AccountId::Actor(actor), &Asset::Utility) + .get() + }) + .sum() +} + +fn attach_contribution_leaderboards( + initial: &World, + trace: &axionomy::Trace, + document: &mut ViewDocument, +) -> Result<(), ServiceError> { + let mut world = initial.fork(); + let mut contributions = BTreeMap::::new(); + document.initial.leaderboards = vec![contribution_board(&contributions)]; + for (index, exchange) in trace.exchanges().iter().enumerate() { + let board_before = contribution_board(&contributions); + let before = i128::from(amm::pool_state(&world).price_milli); + world + .apply(exchange.clone()) + .map_err(|error| problem_error("amm", format!("{error:?}")))?; + let after = i128::from(amm::pool_state(&world).price_milli); + if matches!(exchange.rate(), RateId::BuyEnergy | RateId::SellEnergy) + && let Some(AccountId::Actor(actor)) = exchange.bindings().get(&Role::Trader) + { + *contributions.entry(*actor).or_default() += after - before; + } + let frame = &mut document.frames[index]; + frame.before.leaderboards = vec![board_before]; + frame.after.leaderboards = vec![contribution_board(&contributions)]; + } + Ok(()) +} + +fn contribution_board(contributions: &BTreeMap) -> LeaderboardView { + let mut values = ACTORS + .into_iter() + .map(|actor| (actor, *contributions.get(&actor).unwrap_or(&0))) + .collect::>(); + values.sort_by(|left, right| right.1.cmp(&left.1).then(left.0.cmp(&right.0))); + let mut previous = None; + let mut rank = 0; + let entries = values + .into_iter() + .enumerate() + .map(|(index, (actor, value))| { + if previous != Some(value) { + rank = index as u64 + 1; + previous = Some(value); + } + LeaderboardEntryView { + rank: Some(rank), + participant: ViewId::new(account_key(AccountId::Actor(actor)), actor_label(actor)), + value: format_signed_milli(value), + unit: Some("Δ credit / energy".into()), + eligible: true, + components: Vec::new(), + } + }) + .collect(); + LeaderboardView { + key: "price_contribution".into(), + label: "Direct price contribution".into(), + description: "Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.".into(), + direction: ObjectiveDirectionView::Maximize, + entries, + } +} + +fn format_signed_milli(value: i128) -> String { + let sign = match value.cmp(&0) { + std::cmp::Ordering::Greater => "+", + std::cmp::Ordering::Less => "-", + std::cmp::Ordering::Equal => "", + }; + let magnitude = value.unsigned_abs(); + format!("{sign}{}.{:03}", magnitude / 1_000, magnitude % 1_000) +} + +fn causal_contribution_board(initial: &World) -> LeaderboardView { + let mut contributions = amm::shapley_price_contributions(initial); + contributions.sort_by(|left, right| { + right + .numerator + .cmp(&left.numerator) + .then(left.actor.cmp(&right.actor)) + }); + let mut previous = None; + let mut rank = 0; + let entries = contributions + .into_iter() + .enumerate() + .map(|(index, contribution)| { + if previous != Some(contribution.numerator) { + rank = index as u64 + 1; + previous = Some(contribution.numerator); + } + let denominator = i128::from(contribution.denominator) * 1_000; + let divisor = gcd(contribution.numerator.unsigned_abs(), denominator as u128); + let reduced_numerator = contribution.numerator / divisor as i128; + let reduced_denominator = denominator / divisor as i128; + LeaderboardEntryView { + rank: Some(rank), + participant: ViewId::new( + account_key(AccountId::Actor(contribution.actor)), + actor_label(contribution.actor), + ), + value: format!("{reduced_numerator}/{reduced_denominator}"), + unit: Some("Δ credit / energy".into()), + eligible: true, + components: vec![visual_metric( + "coalitions", + "Counterfactual coalitions", + 1_u64 << amm::PRICE_ACTORS.len(), + None, + )], + } + }) + .collect(); + LeaderboardView { + key: "causal_price_contribution".into(), + label: "Causal price contribution".into(), + description: "Exact Shapley allocation across every coalition of active market actors. Each coalition is independently re-quoted and replayed through Axionomy; the reduced fractions sum to the full counterfactual price change.".into(), + direction: ObjectiveDirectionView::Maximize, + entries, + } +} + +fn gcd(mut left: u128, mut right: u128) -> u128 { + while right != 0 { + let remainder = left % right; + left = right; + right = remainder; + } + left.max(1) +} + +#[cfg(test)] +mod tests { + use super::format_signed_milli; + + #[test] + fn signed_milli_preserves_the_sign_of_fractional_moves() { + assert_eq!(format_signed_milli(12_345), "+12.345"); + assert_eq!(format_signed_milli(0), "0.000"); + assert_eq!(format_signed_milli(-500), "-0.500"); + assert_eq!( + format_signed_milli(i128::MIN), + "-170141183460469231731687303715884105.728" + ); + } +} diff --git a/crates/axionomy-service/src/adapters/labels.rs b/crates/axionomy-service/src/adapters/labels.rs index d7cbaa6..84c6fb7 100644 --- a/crates/axionomy-service/src/adapters/labels.rs +++ b/crates/axionomy-service/src/adapters/labels.rs @@ -1,6 +1,6 @@ use axionomy_problems::{ - bridge, connect_four, exact_cover, logistics, marketplace, maze, mission, perishables, rescue, - scheduling, sokoban, work_league, workshop, + amm, bridge, connect_four, exact_cover, logistics, marketplace, maze, mission, perishables, + rescue, scheduling, sokoban, work_league, workshop, }; use std::fmt::Debug; @@ -229,6 +229,77 @@ impl StudioLabel for workshop::RateId { debug_labels!(workshop::Role); +impl StudioLabel for amm::Actor { + fn studio_label(&self) -> String { + match self { + Self::Founder => "Founding LP", + Self::Generator => "Solar Generator", + Self::Factory => "Factory", + Self::Household => "Household", + Self::Speculator => "Informed Speculator", + Self::AdaptiveLp => "Adaptive LP", + Self::Arbitrageur => "Internal Arbitrageur", + Self::Whale => "Demand Whale", + } + .into() + } +} + +impl StudioLabel for amm::AccountId { + fn studio_label(&self) -> String { + match self { + Self::Pool => "Energy / Credit AMM".into(), + Self::Treasury => "Closed-economy Treasury".into(), + Self::Information => "Scarcity Information".into(), + Self::Actor(actor) => actor.studio_label(), + } + } +} + +impl StudioLabel for amm::Asset { + fn studio_label(&self) -> String { + match self { + Self::Energy => "Usable energy".into(), + Self::Credit => "Settlement credit".into(), + Self::SolarPotential => "Unharvested solar potential".into(), + Self::SpentEnergy => "Energy consumed toward goals".into(), + Self::LpShare => "AMM liquidity share".into(), + Self::UnissuedLpShare => "Unissued liquidity share".into(), + Self::Need(actor) => format!("{} energy need", actor.studio_label()), + Self::SatisfiedNeed(actor) => format!("{} need satisfied", actor.studio_label()), + Self::Obligation(actor) => format!("{} credit obligation", actor.studio_label()), + Self::SettledObligation(actor) => { + format!("{} obligation settled", actor.studio_label()) + } + Self::Uninformed(actor) => format!("{} has no shortage signal", actor.studio_label()), + Self::Informed(actor) => format!("{} knows about the shortage", actor.studio_label()), + Self::ShortageSignal => "Verified energy shortage signal".into(), + Self::Utility => "Realized utility".into(), + } + } +} + +impl StudioLabel for amm::RateId { + fn studio_label(&self) -> String { + match self { + Self::BuyEnergy => "Buy energy from the AMM".into(), + Self::SellEnergy => "Sell energy into the AMM".into(), + Self::AddLiquidity => "Deepen AMM liquidity".into(), + Self::RemoveLiquidity => "Withdraw AMM liquidity".into(), + Self::ProduceEnergy => "Harvest solar energy".into(), + Self::UseEnergy(actor) => format!("{} uses energy", actor.studio_label()), + Self::SettleObligation(actor) => { + format!("{} settles a credit obligation", actor.studio_label()) + } + Self::LearnShortage(actor) => { + format!("{} receives the shortage signal", actor.studio_label()) + } + } + } +} + +debug_labels!(amm::Role); + fn job(job: scheduling::Job) -> &'static str { match job { scheduling::Job::One => "Job One", diff --git a/crates/axionomy-service/src/lib.rs b/crates/axionomy-service/src/lib.rs index b23c99f..9542256 100644 --- a/crates/axionomy-service/src/lib.rs +++ b/crates/axionomy-service/src/lib.rs @@ -330,7 +330,7 @@ mod tests { #[test] fn catalog_covers_every_canonical_problem() { let catalog = ReferenceService.catalog(); - assert_eq!(catalog.len(), 13); + assert_eq!(catalog.len(), 14); assert!(catalog.iter().all(|problem| !problem.strategies.is_empty())); assert!(catalog.iter().all(|problem| { problem.default_instance == "showcase" @@ -611,6 +611,7 @@ mod tests { "mission" => (6, 5, 39), "perishables" => (10, 5, 13), "work_league" => (60, 20, 900), + "amm" => (14, 11, 10), other => panic!("missing showcase pressure threshold for {other}"), }; assert!( diff --git a/crates/axionomy-studio-server/README.md b/crates/axionomy-studio-server/README.md index 77b8e49..bf0e54e 100644 --- a/crates/axionomy-studio-server/README.md +++ b/crates/axionomy-studio-server/README.md @@ -1,7 +1,7 @@ # axionomy-studio-server This crate is the native reference backend for Axionomy Studio. It adapts the -same `axionomy-service` used by CLI and MCP into a thirteen-problem catalog, +same `axionomy-service` used by CLI and MCP into a fourteen-problem catalog, pausable/resumable/cancellable in-memory runs, replay-derived artifacts, paginated frames, Server-Sent Events, and an OpenAPI 3.1 contract. It intentionally has no database: a run is operational UI state, while a portable diff --git a/crates/axionomy-studio-server/src/lib.rs b/crates/axionomy-studio-server/src/lib.rs index 09f1536..5487a18 100644 --- a/crates/axionomy-studio-server/src/lib.rs +++ b/crates/axionomy-studio-server/src/lib.rs @@ -937,7 +937,7 @@ mod tests { .await .unwrap(); let catalog: ProblemList = response_json(response).await; - assert_eq!(catalog.problems.len(), 13); + assert_eq!(catalog.problems.len(), 14); } #[test] diff --git a/crates/axionomy-view/src/lib.rs b/crates/axionomy-view/src/lib.rs index 71b38d9..b91fac4 100644 --- a/crates/axionomy-view/src/lib.rs +++ b/crates/axionomy-view/src/lib.rs @@ -6,7 +6,7 @@ use axionomy::{ AccountAssessment, AccountDelta, ApplyError, Basket, Economy, Exchange, ExchangeAssessment, - Goal, Quantity, QuantityScalar, Receipt, Trace, + Goal, Quantity, QuantityComparison, QuantityExpression, QuantityScalar, Receipt, Trace, }; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; @@ -79,6 +79,14 @@ pub struct ExchangeView { pub rate: ViewId, pub units: ExactQuantity, pub bindings: Vec, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub parameters: Vec, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] +pub struct ExchangeParameterView { + pub name: String, + pub value: ExactQuantity, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] @@ -116,7 +124,11 @@ pub enum AssessmentIssueKindView { RolesMustDiffer, MissingAccount, ZeroUnits, + MissingParameter, + UnknownParameter, RateOverflow, + RateLawEvaluation, + RateConditionFailed, Infeasible, BalanceOverflow, InvariantOverflow, @@ -164,12 +176,35 @@ pub struct RateRoleView { pub preserved: Vec, } +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] +pub struct ComputedRateAmountView { + pub role: ViewId, + pub asset: ViewId, + pub quantity: String, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] +pub struct RateConditionView { + pub name: String, + pub left: String, + pub comparison: String, + pub right: String, +} + /// One immutable transition rule in the closed model. #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] pub struct RateView { pub rate: ViewId, pub roles: Vec, pub distinct_roles: Vec<[ViewId; 2]>, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub computed_consumed: Vec, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub computed_produced: Vec, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub computed_preserved: Vec, + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub conditions: Vec, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] @@ -396,6 +431,42 @@ pub struct SceneLegendView { pub tone: SceneToneView, } +/// One constant-product pool projected from an authoritative replay snapshot. +/// Values remain exact text so renderers cannot silently round economic state. +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] +pub struct MarketPoolView { + pub id: ViewId, + pub base_asset: ViewId, + pub quote_asset: ViewId, + pub base_reserve: ExactQuantity, + pub quote_reserve: ExactQuantity, + /// Quote per base, scaled by 1,000. + pub price_milli: ExactQuantity, + pub product: ExactQuantity, + pub issued_liquidity: ExactQuantity, + pub fee_numerator: u64, + pub fee_denominator: u64, + pub account: String, +} + +/// One participant positioned around a market pool. Balances and status are +/// replay-derived presentation data linked back to the represented account. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)] +pub struct MarketActorView { + pub id: ViewId, + pub account: String, + pub glyph: SceneGlyphView, + pub tone: SceneToneView, + pub x: f64, + pub y: f64, + pub energy: ExactQuantity, + pub credit: ExactQuantity, + pub liquidity: ExactQuantity, + pub utility: ExactQuantity, + #[serde(skip_serializing_if = "Option::is_none")] + pub status: Option, +} + /// The geometric substrate for a derived scene. Surface geometry and semantic /// entities are deliberately separate so one vehicle can move through a graph, /// grid, matrix, or timeline without inventing four domain models. @@ -424,6 +495,10 @@ pub enum SceneSurfaceView { #[serde(skip_serializing_if = "Option::is_none")] cursor: Option, }, + Market { + pool: Box, + actors: Vec, + }, } /// Optional problem picture derived from the economic state. @@ -738,6 +813,7 @@ impl Scene { return Err(SceneValidationError::UnknownAnchor("timeline span".into())); } } + SceneSurfaceView::Market { .. } => {} } for anchor in self .entities @@ -1667,10 +1743,37 @@ where .distinct_roles() .map(|(left, right)| [ontology.role(left), ontology.role(right)]) .collect(); + let computed_amounts = |amounts: &[axionomy::ComputedAmount]| { + amounts + .iter() + .map(|amount| ComputedRateAmountView { + role: ontology.role(amount.role()), + asset: ontology.asset(amount.asset()), + quantity: expression_view(amount.quantity(), ontology), + }) + .collect::>() + }; Some(RateView { rate: ontology.rate(id), roles, distinct_roles, + computed_consumed: computed_amounts(rate.computed_consumed()), + computed_produced: computed_amounts(rate.computed_produced()), + computed_preserved: computed_amounts(rate.computed_preserved()), + conditions: rate + .conditions() + .iter() + .map(|condition| RateConditionView { + name: condition.name().into(), + left: expression_view(condition.left(), ontology), + comparison: match condition.comparison() { + QuantityComparison::Equal => "=".into(), + QuantityComparison::GreaterThanOrEqual => "≥".into(), + QuantityComparison::LessThanOrEqual => "≤".into(), + }, + right: expression_view(condition.right(), ontology), + }) + .collect(), }) }) .collect::>(); @@ -1710,6 +1813,61 @@ where } } +fn expression_view( + expression: &QuantityExpression, + ontology: &O, +) -> String +where + N: QuantityScalar, + O: ViewOntology, +{ + match expression { + QuantityExpression::Constant { value } => value.to_string(), + QuantityExpression::Units => "exchange units".into(), + QuantityExpression::Parameter { name } => format!("${name}"), + QuantityExpression::Balance { role, asset } => { + format!( + "{}.{}", + ontology.role(role).label, + ontology.asset(asset).label + ) + } + QuantityExpression::Add { left, right } => format!( + "({} + {})", + expression_view(left, ontology), + expression_view(right, ontology) + ), + QuantityExpression::Subtract { left, right } => format!( + "({} − {})", + expression_view(left, ontology), + expression_view(right, ontology) + ), + QuantityExpression::Multiply { left, right } => format!( + "({} × {})", + expression_view(left, ontology), + expression_view(right, ontology) + ), + QuantityExpression::DivideFloor { + numerator, + denominator, + } => format!( + "floor({} ÷ {})", + expression_view(numerator, ontology), + expression_view(denominator, ontology) + ), + QuantityExpression::Minimum { left, right } => format!( + "min({}, {})", + expression_view(left, ontology), + expression_view(right, ontology) + ), + QuantityExpression::Maximum { left, right } => format!( + "max({}, {})", + expression_view(left, ontology), + expression_view(right, ontology) + ), + } +} + /// Projects a snapshot without mutating or replaying it. pub fn derive_snapshot( index: u64, @@ -1781,29 +1939,31 @@ where .map(|account| account.balances.len()) .sum::(); let scene = ontology.scene(index, economy).map(|mut scene| { - scene.metrics.extend([ - SceneMetricView { - key: "snapshot".into(), - label: "Economic step".into(), - value: index.to_string(), - unit: Some("exchanges".into()), - previous: index.checked_sub(1).map(|value| value.to_string()), - }, - SceneMetricView { - key: "accounts".into(), - label: "Accounts".into(), - value: accounts.len().to_string(), - unit: None, - previous: None, - }, - SceneMetricView { - key: "balances".into(), - label: "Non-zero balances".into(), - value: balance_entries.to_string(), - unit: None, - previous: None, - }, - ]); + if !matches!(scene.surface, SceneSurfaceView::Market { .. }) { + scene.metrics.extend([ + SceneMetricView { + key: "snapshot".into(), + label: "Economic step".into(), + value: index.to_string(), + unit: Some("exchanges".into()), + previous: index.checked_sub(1).map(|value| value.to_string()), + }, + SceneMetricView { + key: "accounts".into(), + label: "Accounts".into(), + value: accounts.len().to_string(), + unit: None, + previous: None, + }, + SceneMetricView { + key: "balances".into(), + label: "Non-zero balances".into(), + value: balance_entries.to_string(), + unit: None, + previous: None, + }, + ]); + } scene }); @@ -1854,6 +2014,14 @@ where account: ontology.account(account), }) .collect(), + parameters: exchange + .parameters() + .iter() + .map(|(name, value)| ExchangeParameterView { + name: name.clone(), + value: value.into(), + }) + .collect(), } } @@ -2023,6 +2191,16 @@ where "Exchange units must be greater than zero.".into(), Vec::new(), ), + ApplyError::MissingParameter { name } => ( + AssessmentIssueKindView::MissingParameter, + format!("Missing required exchange parameter `{name}`."), + Vec::new(), + ), + ApplyError::UnknownParameter { name } => ( + AssessmentIssueKindView::UnknownParameter, + format!("Parameter `{name}` is not declared by this rate."), + Vec::new(), + ), ApplyError::RateOverflow { rate, asset } => { let rate = ontology.rate(rate); let asset = ontology.asset(asset); @@ -2035,6 +2213,25 @@ where vec![rate, asset], ) } + ApplyError::RateLawEvaluation { rate, message } => { + let rate = ontology.rate(rate); + ( + AssessmentIssueKindView::RateLawEvaluation, + format!( + "Rate `{}` could not evaluate its exchange law: {message}.", + rate.label + ), + vec![rate], + ) + } + ApplyError::RateConditionFailed { rate, condition } => { + let rate = ontology.rate(rate); + ( + AssessmentIssueKindView::RateConditionFailed, + format!("Rate `{}` refused condition `{condition}`.", rate.label), + vec![rate], + ) + } ApplyError::Infeasible { shortfalls } => { let accounts = shortfalls .iter() diff --git a/src/economy.rs b/src/economy.rs index fb42705..8b66a0e 100644 --- a/src/economy.rs +++ b/src/economy.rs @@ -1,6 +1,6 @@ use crate::{ Account, AccountDelta, AccountError, Basket, Exchange, LinearInvariant, Quantity, - QuantityScalar, Rate, Receipt, Trace, + QuantityComparison, QuantityExpression, QuantityScalar, Rate, Receipt, Trace, }; use indexmap::IndexMap; use schemars::{JsonSchema, Schema, SchemaGenerator}; @@ -545,6 +545,7 @@ where assets.extend(basket.iter().map(|(asset, _)| asset)); } } + assets.extend(rate.computed_asset_keys()); } for invariant in self.invariants.iter() { assets.extend(invariant.weights().map(|(asset, _)| asset)); @@ -711,6 +712,20 @@ where issues.push(ApplyError::UnknownBinding { role: role.clone() }); } } + + let parameter_names = rate.parameter_names(); + for name in ¶meter_names { + if !exchange.parameters().contains_key(*name) { + issues.push(ApplyError::MissingParameter { + name: (*name).to_owned(), + }); + } + } + for name in exchange.parameters().keys() { + if !parameter_names.contains(name.as_str()) { + issues.push(ApplyError::UnknownParameter { name: name.clone() }); + } + } for (left, right) in rate.distinct_roles() { if let (Some(left_account), Some(right_account)) = ( exchange.bindings().get(left), @@ -738,6 +753,38 @@ where return invalid_analysis(issues); } + for condition in rate.conditions() { + let left = match evaluate_expression(condition.left(), exchange, &self.accounts) { + Ok(value) => value, + Err(message) => { + return invalid_analysis(vec![ApplyError::RateLawEvaluation { + rate: exchange.rate().clone(), + message, + }]); + } + }; + let right = match evaluate_expression(condition.right(), exchange, &self.accounts) { + Ok(value) => value, + Err(message) => { + return invalid_analysis(vec![ApplyError::RateLawEvaluation { + rate: exchange.rate().clone(), + message, + }]); + } + }; + let satisfied = match condition.comparison() { + QuantityComparison::Equal => left == right, + QuantityComparison::GreaterThanOrEqual => left >= right, + QuantityComparison::LessThanOrEqual => left <= right, + }; + if !satisfied { + return invalid_analysis(vec![ApplyError::RateConditionFailed { + rate: exchange.rate().clone(), + condition: condition.name().to_owned(), + }]); + } + } + let mut effects: BTreeMap> = BTreeMap::new(); for role in rate.roles() { let account_id = exchange @@ -772,6 +819,42 @@ where } } + for (amounts, direction) in [ + (rate.computed_consumed(), ComputedDirection::Consume), + (rate.computed_produced(), ComputedDirection::Produce), + (rate.computed_preserved(), ComputedDirection::Preserve), + ] { + for amount in amounts { + let quantity = + match evaluate_expression(amount.quantity(), exchange, &self.accounts) { + Ok(value) => value, + Err(message) => { + return invalid_analysis(vec![ApplyError::RateLawEvaluation { + rate: exchange.rate().clone(), + message, + }]); + } + }; + let account_id = exchange + .bindings() + .get(amount.role()) + .expect("computed rate roles were checked") + .clone(); + let effect = effects.entry(account_id).or_default(); + let target = match direction { + ComputedDirection::Consume => &mut effect.consume, + ComputedDirection::Produce => &mut effect.produce, + ComputedDirection::Preserve => &mut effect.preserve, + }; + if merge_quantity(target, amount.asset().clone(), quantity).is_err() { + return invalid_analysis(vec![ApplyError::RateOverflow { + rate: exchange.rate().clone(), + asset: amount.asset().clone(), + }]); + } + } + } + let mut account_assessments = Vec::with_capacity(effects.len()); let mut shortfalls = Vec::new(); for (account_id, effect) in &effects { @@ -992,8 +1075,16 @@ where MissingAccount { account: AccountId }, #[error("exchange units must be greater than zero")] ZeroUnits, + #[error("exchange is missing a required rate parameter")] + MissingParameter { name: String }, + #[error("exchange contains an unknown rate parameter")] + UnknownParameter { name: String }, #[error("scaled rate overflow")] RateOverflow { rate: RateId, asset: A }, + #[error("state-evaluated rate law could not be evaluated: {message}")] + RateLawEvaluation { rate: RateId, message: String }, + #[error("state-evaluated rate condition failed")] + RateConditionFailed { rate: RateId, condition: String }, #[error("exchange is infeasible")] Infeasible { shortfalls: Vec>, @@ -1017,6 +1108,13 @@ struct Effect { preserve: Basket, } +#[derive(Debug, Clone, Copy)] +enum ComputedDirection { + Consume, + Produce, + Preserve, +} + impl Default for Effect { fn default() -> Self { Self { @@ -1050,6 +1148,114 @@ where target.checked_add(&scaled) } +fn merge_quantity(target: &mut Basket, asset: A, quantity: Quantity) -> Result<(), A> +where + A: Clone + Eq + Hash, + N: QuantityScalar, +{ + let Some(total) = target.quantity(&asset).checked_add(&quantity) else { + return Err(asset); + }; + target.insert(asset, total); + Ok(()) +} + +fn evaluate_expression( + expression: &QuantityExpression, + exchange: &Exchange, + accounts: &IndexMap>>, +) -> Result, String> +where + AccountId: Eq + Hash, + A: Eq + Hash, + Role: Ord, + N: QuantityScalar, +{ + match expression { + QuantityExpression::Constant { value } => Ok(value.clone()), + QuantityExpression::Units => Ok(exchange.units().clone()), + QuantityExpression::Parameter { name } => exchange + .parameters() + .get(name) + .cloned() + .ok_or_else(|| format!("missing parameter `{name}`")), + QuantityExpression::Balance { role, asset } => { + let account_id = exchange + .bindings() + .get(role) + .ok_or_else(|| "expression references an unbound role".to_owned())?; + let account = accounts + .get(account_id) + .ok_or_else(|| "expression references a missing account".to_owned())?; + Ok(account.balance(asset)) + } + QuantityExpression::Add { left, right } => evaluate_binary( + left, + right, + exchange, + accounts, + "addition overflow", + |left, right| left.checked_add(right), + ), + QuantityExpression::Subtract { left, right } => evaluate_binary( + left, + right, + exchange, + accounts, + "subtraction underflow", + |left, right| left.checked_sub(right), + ), + QuantityExpression::Multiply { left, right } => evaluate_binary( + left, + right, + exchange, + accounts, + "multiplication overflow", + |left, right| left.checked_mul(right), + ), + QuantityExpression::DivideFloor { + numerator, + denominator, + } => evaluate_binary( + numerator, + denominator, + exchange, + accounts, + "division by zero", + |left, right| left.checked_div(right), + ), + QuantityExpression::Minimum { left, right } => { + let left = evaluate_expression(left, exchange, accounts)?; + let right = evaluate_expression(right, exchange, accounts)?; + Ok(std::cmp::min(left, right)) + } + QuantityExpression::Maximum { left, right } => { + let left = evaluate_expression(left, exchange, accounts)?; + let right = evaluate_expression(right, exchange, accounts)?; + Ok(std::cmp::max(left, right)) + } + } +} + +fn evaluate_binary( + left: &QuantityExpression, + right: &QuantityExpression, + exchange: &Exchange, + accounts: &IndexMap>>, + error: &str, + operation: impl FnOnce(&Quantity, &Quantity) -> Option>, +) -> Result, String> +where + AccountId: Eq + Hash, + A: Eq + Hash, + Role: Ord, + N: QuantityScalar, +{ + let left = evaluate_expression(left, exchange, accounts)?; + let right = evaluate_expression(right, exchange, accounts)?; + operation(&left, &right).ok_or_else(|| error.to_owned()) +} + fn invalid_analysis( issues: Vec>, ) -> Analysis diff --git a/src/exchange.rs b/src/exchange.rs index d5a287c..a72077d 100644 --- a/src/exchange.rs +++ b/src/exchange.rs @@ -13,6 +13,8 @@ pub struct Exchange { rate: RateId, bindings: BTreeMap, units: Quantity, + #[serde(default, skip_serializing_if = "BTreeMap::is_empty")] + parameters: BTreeMap>, } impl Exchange @@ -24,6 +26,7 @@ where rate, bindings: BTreeMap::new(), units, + parameters: BTreeMap::new(), } } @@ -32,6 +35,16 @@ where self } + /// Supplies a named exact quantity to a state-evaluated rate law. + /// + /// Parameters belong to the exchange proposal and are interpreted only by + /// the bound rate. A common example is an AMM caller's `minimum_output` + /// protection. Unknown and missing parameters are rejected by the economy. + pub fn parameter(mut self, name: impl Into, value: Quantity) -> Self { + self.parameters.insert(name.into(), value); + self + } + pub fn rate(&self) -> &RateId { &self.rate } @@ -43,6 +56,10 @@ where pub fn units(&self) -> &Quantity { &self.units } + + pub fn parameters(&self) -> &BTreeMap> { + &self.parameters + } } #[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)] diff --git a/src/lib.rs b/src/lib.rs index 42e0717..bf8341a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -18,4 +18,7 @@ pub use economy::{ }; pub use exchange::{AccountDelta, Exchange, Receipt, Trace}; pub use quantity::{Quantity, QuantityError, QuantityScalar}; -pub use rate::{LinearInvariant, Rate, RateError, basket}; +pub use rate::{ + ComputedAmount, LinearInvariant, QuantityComparison, QuantityExpression, Rate, RateCondition, + RateError, basket, +}; diff --git a/src/quantity.rs b/src/quantity.rs index d21afe7..4bc1b9f 100644 --- a/src/quantity.rs +++ b/src/quantity.rs @@ -1,4 +1,4 @@ -use num_traits::{CheckedAdd, CheckedMul, CheckedSub, Zero}; +use num_traits::{CheckedAdd, CheckedDiv, CheckedMul, CheckedSub, Zero}; use schemars::{JsonSchema, Schema, SchemaGenerator}; use serde::{Deserialize, Deserializer, Serialize, Serializer}; use std::borrow::Cow; @@ -13,7 +13,17 @@ use thiserror::Error; /// boundary. Floating-point implementations are intentionally unsupported: /// authoritative balances require exact equality and total ordering. pub trait QuantityScalar: - Clone + Eq + Ord + Hash + fmt::Debug + fmt::Display + Zero + CheckedAdd + CheckedSub + CheckedMul + Clone + + Eq + + Ord + + Hash + + fmt::Debug + + fmt::Display + + Zero + + CheckedAdd + + CheckedSub + + CheckedMul + + CheckedDiv { /// Signed exact type used while evaluating linear invariants. type SignedMeasure: Clone + Eq + fmt::Debug + fmt::Display + Zero + CheckedAdd; @@ -119,6 +129,12 @@ where .checked_mul(&rhs.0) .and_then(|value| Self::try_from_scalar(value).ok()) } + + pub fn checked_div(&self, rhs: &Self) -> Option { + self.0 + .checked_div(&rhs.0) + .and_then(|value| Self::try_from_scalar(value).ok()) + } } impl Default for Quantity diff --git a/src/rate.rs b/src/rate.rs index 54a1c6c..90ac0fb 100644 --- a/src/rate.rs +++ b/src/rate.rs @@ -9,6 +9,270 @@ use std::collections::{BTreeMap, BTreeSet}; use std::hash::Hash; use thiserror::Error; +/// An exact, serializable quantity expression evaluated against the economy's +/// pre-exchange snapshot. +/// +/// This keeps state-dependent exchange laws inside Axionomy authority without +/// embedding domain callbacks in the kernel. Expressions intentionally expose +/// only exact integer arithmetic; division is floor division. +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] +#[serde( + tag = "kind", + rename_all = "snake_case", + bound( + serialize = "Role: Serialize, A: Serialize, N: Serialize", + deserialize = "Role: Deserialize<'de>, A: Deserialize<'de>, N: Deserialize<'de> + QuantityScalar" + ) +)] +pub enum QuantityExpression { + Constant { + value: Quantity, + }, + Units, + Parameter { + name: String, + }, + Balance { + role: Role, + asset: A, + }, + Add { + left: Box, + right: Box, + }, + Subtract { + left: Box, + right: Box, + }, + Multiply { + left: Box, + right: Box, + }, + DivideFloor { + numerator: Box, + denominator: Box, + }, + Minimum { + left: Box, + right: Box, + }, + Maximum { + left: Box, + right: Box, + }, +} + +impl QuantityExpression { + pub const fn constant(value: u64) -> Self { + Self::Constant { + value: Quantity::new(value), + } + } +} + +impl std::ops::Add for QuantityExpression { + type Output = Self; + + fn add(self, right: Self) -> Self::Output { + Self::Add { + left: Box::new(self), + right: Box::new(right), + } + } +} + +impl QuantityExpression { + pub const fn units() -> Self { + Self::Units + } + + pub fn parameter(name: impl Into) -> Self { + Self::Parameter { name: name.into() } + } + + pub const fn balance(role: Role, asset: A) -> Self { + Self::Balance { role, asset } + } + + pub fn plus(left: Self, right: Self) -> Self { + Self::Add { + left: Box::new(left), + right: Box::new(right), + } + } + + pub fn subtract(left: Self, right: Self) -> Self { + Self::Subtract { + left: Box::new(left), + right: Box::new(right), + } + } + + pub fn multiply(left: Self, right: Self) -> Self { + Self::Multiply { + left: Box::new(left), + right: Box::new(right), + } + } + + pub fn divide_floor(numerator: Self, denominator: Self) -> Self { + Self::DivideFloor { + numerator: Box::new(numerator), + denominator: Box::new(denominator), + } + } + + pub fn minimum(left: Self, right: Self) -> Self { + Self::Minimum { + left: Box::new(left), + right: Box::new(right), + } + } + + pub fn maximum(left: Self, right: Self) -> Self { + Self::Maximum { + left: Box::new(left), + right: Box::new(right), + } + } + + fn collect_roles<'a>(&'a self, roles: &mut BTreeSet<&'a Role>) + where + Role: Ord, + { + match self { + Self::Balance { role, .. } => { + roles.insert(role); + } + Self::Add { left, right } + | Self::Subtract { left, right } + | Self::Multiply { left, right } + | Self::Minimum { left, right } + | Self::Maximum { left, right } => { + left.collect_roles(roles); + right.collect_roles(roles); + } + Self::DivideFloor { + numerator, + denominator, + } => { + numerator.collect_roles(roles); + denominator.collect_roles(roles); + } + Self::Constant { .. } | Self::Units | Self::Parameter { .. } => {} + } + } + + fn collect_assets<'a>(&'a self, assets: &mut Vec<&'a A>) { + match self { + Self::Balance { asset, .. } => assets.push(asset), + Self::Add { left, right } + | Self::Subtract { left, right } + | Self::Multiply { left, right } + | Self::Minimum { left, right } + | Self::Maximum { left, right } => { + left.collect_assets(assets); + right.collect_assets(assets); + } + Self::DivideFloor { + numerator, + denominator, + } => { + numerator.collect_assets(assets); + denominator.collect_assets(assets); + } + Self::Constant { .. } | Self::Units | Self::Parameter { .. } => {} + } + } + + fn collect_parameters<'a>(&'a self, parameters: &mut BTreeSet<&'a str>) { + match self { + Self::Parameter { name } => { + parameters.insert(name); + } + Self::Add { left, right } + | Self::Subtract { left, right } + | Self::Multiply { left, right } + | Self::Minimum { left, right } + | Self::Maximum { left, right } => { + left.collect_parameters(parameters); + right.collect_parameters(parameters); + } + Self::DivideFloor { + numerator, + denominator, + } => { + numerator.collect_parameters(parameters); + denominator.collect_parameters(parameters); + } + Self::Constant { .. } | Self::Units | Self::Balance { .. } => {} + } + } +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] +#[serde(bound( + serialize = "Role: Serialize, A: Serialize, N: Serialize", + deserialize = "Role: Deserialize<'de>, A: Deserialize<'de>, N: Deserialize<'de> + QuantityScalar" +))] +pub struct ComputedAmount { + role: Role, + asset: A, + quantity: QuantityExpression, +} + +impl ComputedAmount { + pub const fn role(&self) -> &Role { + &self.role + } + + pub const fn asset(&self) -> &A { + &self.asset + } + + pub const fn quantity(&self) -> &QuantityExpression { + &self.quantity + } +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] +#[serde(rename_all = "snake_case")] +pub enum QuantityComparison { + Equal, + GreaterThanOrEqual, + LessThanOrEqual, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] +#[serde(bound( + serialize = "Role: Serialize, A: Serialize, N: Serialize", + deserialize = "Role: Deserialize<'de>, A: Deserialize<'de>, N: Deserialize<'de> + QuantityScalar" +))] +pub struct RateCondition { + name: String, + left: QuantityExpression, + comparison: QuantityComparison, + right: QuantityExpression, +} + +impl RateCondition { + pub fn name(&self) -> &str { + &self.name + } + + pub const fn left(&self) -> &QuantityExpression { + &self.left + } + + pub const fn comparison(&self) -> QuantityComparison { + self.comparison + } + + pub const fn right(&self) -> &QuantityExpression { + &self.right + } +} + #[derive(Debug, Clone)] pub struct Rate { consume: BTreeMap>, @@ -16,6 +280,10 @@ pub struct Rate { preserve: BTreeMap>, roles: BTreeSet, distinct: BTreeSet<(Role, Role)>, + computed_consume: Vec>, + computed_produce: Vec>, + computed_preserve: Vec>, + conditions: Vec>, } impl Rate @@ -31,6 +299,10 @@ where preserve: BTreeMap::new(), roles: BTreeSet::new(), distinct: BTreeSet::new(), + computed_consume: Vec::new(), + computed_produce: Vec::new(), + computed_preserve: Vec::new(), + conditions: Vec::new(), } } @@ -100,6 +372,82 @@ where self } + pub fn consume_computed( + mut self, + role: Role, + asset: A, + quantity: QuantityExpression, + ) -> Self { + self.register_expression_roles(&role, &quantity); + self.computed_consume.push(ComputedAmount { + role, + asset, + quantity, + }); + self + } + + pub fn produce_computed( + mut self, + role: Role, + asset: A, + quantity: QuantityExpression, + ) -> Self { + self.register_expression_roles(&role, &quantity); + self.computed_produce.push(ComputedAmount { + role, + asset, + quantity, + }); + self + } + + pub fn preserve_computed( + mut self, + role: Role, + asset: A, + quantity: QuantityExpression, + ) -> Self { + self.register_expression_roles(&role, &quantity); + self.computed_preserve.push(ComputedAmount { + role, + asset, + quantity, + }); + self + } + + pub fn condition( + mut self, + name: impl Into, + left: QuantityExpression, + comparison: QuantityComparison, + right: QuantityExpression, + ) -> Self { + let mut expression_roles = BTreeSet::new(); + left.collect_roles(&mut expression_roles); + right.collect_roles(&mut expression_roles); + self.roles.extend(expression_roles.into_iter().cloned()); + self.conditions.push(RateCondition { + name: name.into(), + left, + comparison, + right, + }); + self + } + + fn register_expression_roles( + &mut self, + target: &Role, + expression: &QuantityExpression, + ) { + self.roles.insert(target.clone()); + let mut expression_roles = BTreeSet::new(); + expression.collect_roles(&mut expression_roles); + self.roles.extend(expression_roles.into_iter().cloned()); + } + pub fn roles(&self) -> impl Iterator { self.roles.iter() } @@ -119,6 +467,57 @@ where pub fn distinct_roles(&self) -> impl Iterator { self.distinct.iter() } + + pub fn computed_consumed(&self) -> &[ComputedAmount] { + &self.computed_consume + } + + pub fn computed_produced(&self) -> &[ComputedAmount] { + &self.computed_produce + } + + pub fn computed_preserved(&self) -> &[ComputedAmount] { + &self.computed_preserve + } + + pub fn conditions(&self) -> &[RateCondition] { + &self.conditions + } + + pub fn parameter_names(&self) -> BTreeSet<&str> { + let mut parameters = BTreeSet::new(); + for amount in self + .computed_consume + .iter() + .chain(&self.computed_produce) + .chain(&self.computed_preserve) + { + amount.quantity.collect_parameters(&mut parameters); + } + for condition in &self.conditions { + condition.left.collect_parameters(&mut parameters); + condition.right.collect_parameters(&mut parameters); + } + parameters + } + + pub fn computed_asset_keys(&self) -> Vec<&A> { + let mut assets = Vec::new(); + for amount in self + .computed_consume + .iter() + .chain(&self.computed_produce) + .chain(&self.computed_preserve) + { + assets.push(&amount.asset); + amount.quantity.collect_assets(&mut assets); + } + for condition in &self.conditions { + condition.left.collect_assets(&mut assets); + condition.right.collect_assets(&mut assets); + } + assets + } } impl Default for Rate @@ -155,11 +554,15 @@ where where S: Serializer, { - let mut state = serializer.serialize_struct("Rate", 4)?; + let mut state = serializer.serialize_struct("Rate", 8)?; state.serialize_field("consume", &self.consume.iter().collect::>())?; state.serialize_field("produce", &self.produce.iter().collect::>())?; state.serialize_field("preserve", &self.preserve.iter().collect::>())?; state.serialize_field("distinct", &self.distinct.iter().collect::>())?; + state.serialize_field("computed_consume", &self.computed_consume)?; + state.serialize_field("computed_produce", &self.computed_produce)?; + state.serialize_field("computed_preserve", &self.computed_preserve)?; + state.serialize_field("conditions", &self.conditions)?; state.end() } } @@ -173,6 +576,14 @@ struct RateData { produce: Vec<(Role, Basket)>, preserve: Vec<(Role, Basket)>, distinct: Vec<(Role, Role)>, + #[serde(default)] + computed_consume: Vec>, + #[serde(default)] + computed_produce: Vec>, + #[serde(default)] + computed_preserve: Vec>, + #[serde(default)] + conditions: Vec>, } impl<'de, Role, A, N> Deserialize<'de> for Rate @@ -205,6 +616,23 @@ where for (left, right) in data.distinct { rate = rate.distinct(left, right); } + for amount in data.computed_consume { + rate = rate.consume_computed(amount.role, amount.asset, amount.quantity); + } + for amount in data.computed_produce { + rate = rate.produce_computed(amount.role, amount.asset, amount.quantity); + } + for amount in data.computed_preserve { + rate = rate.preserve_computed(amount.role, amount.asset, amount.quantity); + } + for condition in data.conditions { + rate = rate.condition( + condition.name, + condition.left, + condition.comparison, + condition.right, + ); + } Ok(rate) } } @@ -233,6 +661,10 @@ where produce: Vec<(Role, Basket)>, preserve: Vec<(Role, Basket)>, distinct: Vec<(Role, Role)>, + computed_consume: Vec>, + computed_produce: Vec>, + computed_preserve: Vec>, + conditions: Vec>, } generator.subschema_for::>() diff --git a/studio/README.md b/studio/README.md index 80d5002..e7f5c81 100644 --- a/studio/README.md +++ b/studio/README.md @@ -1,11 +1,11 @@ # Axionomy Studio Axionomy Studio is the browser trace player and economic debugger for Axionomy. -All thirteen problems are discoverable and runnable. **Source of truth** shows +All fourteen problems are discoverable and runnable. **Source of truth** shows accounts and assets; **The rules** shows rates, roles, goals, and invariants; **One step** explains the selected exchange and its exact effects. -Graph, grid, matrix, and timeline pictures help people read a result, but they +Graph, grid, matrix, timeline, and market pictures help people read a result, but they never become a second simulation model. Geometry, semantic entities, paths, metrics, annotations, and transition cues all come from the same Rust contract. Graph scenes use one semantic grammar across domains: topology is the stable @@ -48,6 +48,12 @@ values, trace lengths, and algorithm evidence side by side, while uniform complexity telemetry exposes accounts, rates, transitions, rejection proofs, and alternatives across every domain. +The Living Market adds an exact reserve curve, replayed price path, direct +per-actor price attribution, three counterfactual realities, and final exact +Shapley attribution across every coalition of active actors. No external price +or oracle enters the artifact; every displayed price comes from replayed pool +reserves. + The Work League adds six replay-derived leaderboards. Contract value, throughput, resource efficiency, residual waste, reliability, and Pareto standing are recomputed from each verified snapshot, so the lead can change as @@ -93,7 +99,7 @@ pnpm install pnpm dev ``` -Open `http://127.0.0.1:5173`. `predev` builds the Worker engine, so all thirteen +Open `http://127.0.0.1:5173`. `predev` builds the Worker engine, so all fourteen problems can run without a server. To use native HTTP/SSE and resumable pause, start this optional command from the repository root: @@ -138,7 +144,7 @@ The Playwright tests launch both servers, start a real run, follow its SSE stream, observe fine-grained logistics progress and pause/resume behavior, fetch and scrub its replay-verified artifact, verify structured rejection proofs, and inspect a structurally different static Exact Cover matrix. Rust -adapter tests build all thirteen problem artifacts. +adapter tests build all fourteen problem artifacts. The Wasm suite launches Studio with native probes disabled, runs stochastic logistics through the Worker, verifies live and retained solver evidence, diff --git a/studio/openapi.json b/studio/openapi.json index 0cc6ec1..df5fe74 100644 --- a/studio/openapi.json +++ b/studio/openapi.json @@ -645,7 +645,11 @@ "roles_must_differ", "missing_account", "zero_units", + "missing_parameter", + "unknown_parameter", "rate_overflow", + "rate_law_evaluation", + "rate_condition_failed", "infeasible", "balance_overflow", "invariant_overflow", @@ -761,6 +765,25 @@ "replay_derived_leaderboards" ] }, + "ComputedRateAmountView": { + "type": "object", + "properties": { + "asset": { + "$ref": "#/components/schemas/ViewId" + }, + "quantity": { + "type": "string" + }, + "role": { + "$ref": "#/components/schemas/ViewId" + } + }, + "required": [ + "role", + "asset", + "quantity" + ] + }, "ErrorResponse": { "type": "object", "properties": { @@ -823,6 +846,21 @@ "after" ] }, + "ExchangeParameterView": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/ExactQuantity" + } + }, + "required": [ + "name", + "value" + ] + }, "ExchangeView": { "type": "object", "properties": { @@ -832,6 +870,12 @@ "$ref": "#/components/schemas/RoleBindingView" } }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExchangeParameterView" + } + }, "rate": { "$ref": "#/components/schemas/ViewId" }, @@ -1219,6 +1263,123 @@ "direction" ] }, + "MarketActorView": { + "description": "One participant positioned around a market pool. Balances and status are\nreplay-derived presentation data linked back to the represented account.", + "type": "object", + "properties": { + "account": { + "type": "string" + }, + "credit": { + "$ref": "#/components/schemas/ExactQuantity" + }, + "energy": { + "$ref": "#/components/schemas/ExactQuantity" + }, + "glyph": { + "$ref": "#/components/schemas/SceneGlyphView" + }, + "id": { + "$ref": "#/components/schemas/ViewId" + }, + "liquidity": { + "$ref": "#/components/schemas/ExactQuantity" + }, + "status": { + "type": [ + "string", + "null" + ] + }, + "tone": { + "$ref": "#/components/schemas/SceneToneView" + }, + "utility": { + "$ref": "#/components/schemas/ExactQuantity" + }, + "x": { + "type": "number", + "format": "double" + }, + "y": { + "type": "number", + "format": "double" + } + }, + "required": [ + "id", + "account", + "glyph", + "tone", + "x", + "y", + "energy", + "credit", + "liquidity", + "utility" + ] + }, + "MarketPoolView": { + "description": "One constant-product pool projected from an authoritative replay snapshot.\nValues remain exact text so renderers cannot silently round economic state.", + "type": "object", + "properties": { + "account": { + "type": "string" + }, + "base_asset": { + "$ref": "#/components/schemas/ViewId" + }, + "base_reserve": { + "$ref": "#/components/schemas/ExactQuantity" + }, + "fee_denominator": { + "type": "integer", + "format": "uint64", + "minimum": 0 + }, + "fee_numerator": { + "type": "integer", + "format": "uint64", + "minimum": 0 + }, + "id": { + "$ref": "#/components/schemas/ViewId" + }, + "issued_liquidity": { + "$ref": "#/components/schemas/ExactQuantity" + }, + "price_milli": { + "description": "Quote per base, scaled by 1,000.", + "allOf": [ + { + "$ref": "#/components/schemas/ExactQuantity" + } + ] + }, + "product": { + "$ref": "#/components/schemas/ExactQuantity" + }, + "quote_asset": { + "$ref": "#/components/schemas/ViewId" + }, + "quote_reserve": { + "$ref": "#/components/schemas/ExactQuantity" + } + }, + "required": [ + "id", + "base_asset", + "quote_asset", + "base_reserve", + "quote_reserve", + "price_milli", + "product", + "issued_liquidity", + "fee_numerator", + "fee_denominator", + "account" + ] + }, "MatrixCellView": { "type": "object", "properties": { @@ -1521,6 +1682,29 @@ "assessment" ] }, + "RateConditionView": { + "type": "object", + "properties": { + "comparison": { + "type": "string" + }, + "left": { + "type": "string" + }, + "name": { + "type": "string" + }, + "right": { + "type": "string" + } + }, + "required": [ + "name", + "left", + "comparison", + "right" + ] + }, "RateRoleView": { "description": "A rate role's complete consume/produce/preserve contract.", "type": "object", @@ -1558,6 +1742,30 @@ "description": "One immutable transition rule in the closed model.", "type": "object", "properties": { + "computed_consumed": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComputedRateAmountView" + } + }, + "computed_preserved": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComputedRateAmountView" + } + }, + "computed_produced": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComputedRateAmountView" + } + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RateConditionView" + } + }, "distinct_roles": { "type": "array", "items": { @@ -2348,6 +2556,29 @@ "lanes", "spans" ] + }, + { + "type": "object", + "properties": { + "actors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MarketActorView" + } + }, + "kind": { + "type": "string", + "const": "market" + }, + "pool": { + "$ref": "#/components/schemas/MarketPoolView" + } + }, + "required": [ + "kind", + "pool", + "actors" + ] } ] }, diff --git a/studio/public/artifacts/amm.json b/studio/public/artifacts/amm.json new file mode 100644 index 0000000..0223394 --- /dev/null +++ b/studio/public/artifacts/amm.json @@ -0,0 +1 @@ +{"id":"amm:showcase:market_day:17:128","problem":{"key":"amm","title":"The Living Market","summary":"Watch a closed economy discover its only public price. Production, real needs, beliefs, liquidity, speculation, and internal arbitrage move an exact constant-product AMM with no oracle or outside market.","family":"market","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"A compact closed market that exposes every reserve calculation and refusal","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Eight heterogeneous actors discover value through production, consumption, liquidity, information, and exchange","profile":"showcase"},{"key":"stress","label":"Stress","description":"A four-times-deeper economy with proportionally larger flows and the same exact replay guarantees","profile":"stress"}],"default_strategy":"market_day","strategies":[{"key":"market_day","label":"Endogenous market day","description":"The complete closed-economy price-discovery story, including a demand shock and supply response.","algorithm":"verified autonomous market replay"},{"key":"no_whale","label":"Counterfactual: no whale","description":"Replay the same economy without its largest buyer and inspect the causal price difference.","algorithm":"counterfactual replay"},{"key":"thin_liquidity","label":"Counterfactual: thin liquidity","description":"Withdraw half the founding liquidity before trading and observe amplified price impact.","algorithm":"counterfactual replay"}],"capabilities":["atomic_settlement","multi_account_exchange","feasibility_assessment","replay_derived_leaderboards","non_fungible_facts"]},"instance":{"key":"showcase","label":"Showcase","description":"Eight heterogeneous actors discover value through production, consumption, liquidity, information, and exchange","profile":"showcase"},"request":{"problem":"amm","seed":17,"budget":128},"selected_document_id":"amm:market_day","documents":[{"id":"amm:market_day","title":"Living Market · endogenous price discovery","description":"A founding price hypothesis meets production, real consumption, informed speculation, a demand whale, adaptive liquidity, and internal arbitrage. No external price exists.","source":{"key":"amm","label":"Closed endogenous market"},"model":{"rates":[{"rate":{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"},"roles":[{"role":{"key":"amm:role:pool","label":"Pool"},"consumed":[],"produced":[],"preserved":[]},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"consumed":[],"produced":[],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:pool","label":"Pool"},{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"}]],"computed_consumed":[{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"$energy_amount"},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"$credit_amount"},{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"min(floor(($energy_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Usable energy), floor(($credit_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Settlement credit))"}],"computed_produced":[{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"$energy_amount"},{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"$credit_amount"},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"min(floor(($energy_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Usable energy), floor(($credit_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Settlement credit))"}],"conditions":[{"name":"liquidity must preserve the discovered price","left":"($energy_amount × Pool.Settlement credit)","comparison":"=","right":"($credit_amount × Pool.Usable energy)"},{"name":"minimum liquidity shares","left":"min(floor(($energy_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Usable energy), floor(($credit_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Settlement credit))","comparison":"≥","right":"$minimum_lp_shares"}]},{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"roles":[{"role":{"key":"amm:role:pool","label":"Pool"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:trader","label":"Trader"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"1"}],"produced":[],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:pool","label":"Pool"},{"key":"amm:role:trader","label":"Trader"}]],"computed_consumed":[{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"floor((Pool.Usable energy × (997 × exchange units)) ÷ ((Pool.Settlement credit × 1000) + (997 × exchange units)))"}],"computed_produced":[{"role":{"key":"amm:role:trader","label":"Trader"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"floor((Pool.Usable energy × (997 × exchange units)) ÷ ((Pool.Settlement credit × 1000) + (997 × exchange units)))"}],"conditions":[{"name":"minimum output","left":"floor((Pool.Usable energy × (997 × exchange units)) ÷ ((Pool.Settlement credit × 1000) + (997 × exchange units)))","comparison":"≥","right":"$minimum_output"}]},{"rate":{"key":"amm:rate:learnshortage-speculator","label":"Informed Speculator receives the shortage signal"},"roles":[{"role":{"key":"amm:role:information","label":"Information"},"consumed":[],"produced":[],"preserved":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"role":{"key":"amm:role:observer","label":"Observer"},"consumed":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:information","label":"Information"},{"key":"amm:role:observer","label":"Observer"}]]},{"rate":{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},"roles":[{"role":{"key":"amm:role:producer","label":"Producer"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1"}],"preserved":[]}],"distinct_roles":[]},{"rate":{"key":"amm:rate:removeliquidity","label":"Withdraw AMM liquidity"},"roles":[{"role":{"key":"amm:role:pool","label":"Pool"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"consumed":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1"}],"produced":[],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:pool","label":"Pool"},{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"}]],"computed_consumed":[{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"floor((Pool.Usable energy × exchange units) ÷ (1000000 − Pool.Unissued liquidity share))"},{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"floor((Pool.Settlement credit × exchange units) ÷ (1000000 − Pool.Unissued liquidity share))"}],"computed_produced":[{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"floor((Pool.Usable energy × exchange units) ÷ (1000000 − Pool.Unissued liquidity share))"},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"floor((Pool.Settlement credit × exchange units) ÷ (1000000 − Pool.Unissued liquidity share))"}]},{"rate":{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},"roles":[{"role":{"key":"amm:role:pool","label":"Pool"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:trader","label":"Trader"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1"}],"produced":[],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:pool","label":"Pool"},{"key":"amm:role:trader","label":"Trader"}]],"computed_consumed":[{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"floor((Pool.Settlement credit × (997 × exchange units)) ÷ ((Pool.Usable energy × 1000) + (997 × exchange units)))"}],"computed_produced":[{"role":{"key":"amm:role:trader","label":"Trader"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"floor((Pool.Settlement credit × (997 × exchange units)) ÷ ((Pool.Usable energy × 1000) + (997 × exchange units)))"}],"conditions":[{"name":"minimum output","left":"floor((Pool.Settlement credit × (997 × exchange units)) ÷ ((Pool.Usable energy × 1000) + (997 × exchange units)))","comparison":"≥","right":"$minimum_output"}]},{"rate":{"key":"amm:rate:settleobligation-factory","label":"Factory settles a credit obligation"},"roles":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:treasury","label":"Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"}],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:role:treasury","label":"Treasury"}]]},{"rate":{"key":"amm:rate:settleobligation-generator","label":"Solar Generator settles a credit obligation"},"roles":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:treasury","label":"Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"}],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:role:treasury","label":"Treasury"}]]},{"rate":{"key":"amm:rate:useenergy-factory","label":"Factory uses energy"},"roles":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}],"preserved":[]}],"distinct_roles":[]},{"rate":{"key":"amm:rate:useenergy-household","label":"Household uses energy"},"roles":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}],"preserved":[]}],"distinct_roles":[]}],"goal":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"required":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"required":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"required":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"required":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]}],"invariants":[{"name":"closed energy accounting","terms":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"weight":1},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"weight":1},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"weight":1}]},{"name":"closed credit accounting","terms":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"weight":1}]},{"name":"liquidity share accounting","terms":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"weight":1},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"weight":1}]},{"name":"actor goal lifecycle","terms":[{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"weight":1},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"weight":1},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"weight":1},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"weight":1},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"weight":1},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"weight":1},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"weight":1},{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"weight":1}]},{"name":"shortage knowledge lifecycle","terms":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"weight":1},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"weight":1}]}]},"initial":{"index":0,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"100000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"990000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10000","quote_reserve":"100000","price_milli":"10000","product":"1000000000","issued_liquidity":"10000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3000","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3000","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"10000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"frames":[{"index":0,"exchange":{"rate":{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"},"units":"1","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"}}],"parameters":[{"name":"credit_amount","value":"10000"},{"name":"energy_amount","value":"1000"},{"name":"minimum_lp_shares","value":"1000"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"990000"}],"required":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"1000"}],"consumed":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"1000"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"preserved":[]},{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"produced":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"1000"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"preserved":[]},{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"produced":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"1000"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"preserved":[]},{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"produced":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}],"preserved":[]}]},"before":{"index":0,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"100000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"990000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10000","quote_reserve":"100000","price_milli":"10000","product":"1000000000","issued_liquidity":"10000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3000","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3000","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"10000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":1,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"110000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"11000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"11000","quote_reserve":"110000","price_milli":"10000","product":"1210000000","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3000","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3000","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"11000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Deepen AMM liquidity","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["1000 Unissued liquidity share"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"}]},{"kind":"produced","label":"Energy / Credit AMM produced 2 assets","details":["10000 Settlement credit","1000 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"consumed","label":"Adaptive LP consumed 2 assets","details":["10000 Settlement credit","1000 Usable energy"],"subjects":[{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},{"key":"amm:asset:credit","label":"Settlement credit"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Adaptive LP produced 1 asset","details":["1000 AMM liquidity share"],"subjects":[{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},{"key":"amm:asset:lpshare","label":"AMM liquidity share"}]}],"observations":[]},{"index":1,"exchange":{"rate":{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},"units":"1500","bindings":[{"role":{"key":"amm:role:producer","label":"Producer"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}],"required":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1500"}],"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1500"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1500"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1500"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"}],"preserved":[]}]},"before":{"index":1,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"110000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"11000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"11000","quote_reserve":"110000","price_milli":"10000","product":"1210000000","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3000","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3000","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"11000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":2,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4500"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"110000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"11000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"11000","quote_reserve":"110000","price_milli":"10000","product":"1210000000","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"4500","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"4500","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"11000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Harvest solar energy","details":["applied atomically · 1 roles bound · 1 accounts changed"],"subjects":[{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},{"key":"amm:role:producer","label":"Producer"},{"key":"amm:account:actor-generator","label":"Solar Generator"}]},{"kind":"consumed","label":"Solar Generator consumed 1 asset","details":["1500 Unharvested solar potential"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["1500 Usable energy"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":2,"exchange":{"rate":{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},"units":"2500","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}}],"parameters":[{"name":"minimum_output","value":"19913"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"110000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4500"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"preserved":[]}]},"before":{"index":2,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4500"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"110000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"11000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"11000","quote_reserve":"110000","price_milli":"10000","product":"1210000000","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"4500","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"4500","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"11000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":3,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"89680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"13500"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"13500","quote_reserve":"89680","price_milli":"6642","product":"1210680000","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"6.642","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"13500","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Sell energy into the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-generator","label":"Solar Generator"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["20320 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["2500 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"consumed","label":"Solar Generator consumed 1 asset","details":["2500 Usable energy"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["20320 Settlement credit"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:credit","label":"Settlement credit"}]}],"observations":[]},{"index":3,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"26000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-factory","label":"Factory"}}],"parameters":[{"name":"minimum_output","value":"2966"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"13500"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"preserved":[]}]},"before":{"index":3,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"89680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"13500"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"13500","quote_reserve":"89680","price_milli":"6642","product":"1210680000","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"6.642","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"13500","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":4,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"115680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10473","quote_reserve":"115680","price_milli":"11045","product":"1211516640","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"3027","credit":"14000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"3027","unit":"units"},{"key":"credit","label":"Credit","value":"14000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"11.045","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10473","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Buy energy from the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-factory","label":"Factory"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["3027 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["26000 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Factory consumed 1 asset","details":["26000 Settlement credit"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Factory produced 1 asset","details":["3027 Usable energy"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":4,"exchange":{"rate":{"key":"amm:rate:useenergy-factory","label":"Factory uses energy"},"units":"1","bindings":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"account":{"key":"amm:account:actor-factory","label":"Factory"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:actor-factory","label":"Factory"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}],"preserved":[]}]},"before":{"index":4,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"115680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10473","quote_reserve":"115680","price_milli":"11045","product":"1211516640","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"3027","credit":"14000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"3027","unit":"units"},{"key":"credit","label":"Credit","value":"14000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"11.045","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10473","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":5,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"115680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10473","quote_reserve":"115680","price_milli":"11045","product":"1211516640","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"14000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"14000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"11.045","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10473","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Factory uses energy","details":["applied atomically · 1 roles bound · 1 accounts changed"],"subjects":[{"key":"amm:rate:useenergy-factory","label":"Factory uses energy"},{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:account:actor-factory","label":"Factory"}]},{"kind":"consumed","label":"Factory consumed 2 assets","details":["1500 Usable energy","1 Factory energy need"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:energy","label":"Usable energy"},{"key":"amm:asset:need-factory","label":"Factory energy need"}]},{"kind":"produced","label":"Factory produced 3 assets","details":["1 Factory need satisfied","1500 Energy consumed toward goals","150 Realized utility"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},{"key":"amm:asset:utility","label":"Realized utility"}]}],"observations":[]},{"index":5,"exchange":{"rate":{"key":"amm:rate:settleobligation-factory","label":"Factory settles a credit obligation"},"units":"1","bindings":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"account":{"key":"amm:account:actor-factory","label":"Factory"}},{"role":{"key":"amm:role:treasury","label":"Treasury"},"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"available":[],"required":[],"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}],"preserved":[]}]},"before":{"index":5,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"115680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10473","quote_reserve":"115680","price_milli":"11045","product":"1211516640","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"14000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"14000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"11.045","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10473","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":6,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"115680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10473","quote_reserve":"115680","price_milli":"11045","product":"1211516640","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"11.045","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10473","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Factory settles a credit obligation","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:settleobligation-factory","label":"Factory settles a credit obligation"},{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:role:treasury","label":"Treasury"},{"key":"amm:account:treasury","label":"Closed-economy Treasury"}]},{"kind":"produced","label":"Closed-economy Treasury produced 1 asset","details":["6000 Settlement credit"],"subjects":[{"key":"amm:account:treasury","label":"Closed-economy Treasury"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Factory consumed 2 assets","details":["6000 Settlement credit","1 Factory credit obligation"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:credit","label":"Settlement credit"},{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"}]},{"kind":"produced","label":"Factory produced 1 asset","details":["1 Factory obligation settled"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"}]}],"observations":[]},{"index":6,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"5000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-household","label":"Household"}}],"parameters":[{"name":"minimum_output","value":"423"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"preserved":[]},{"account":{"key":"amm:account:actor-household","label":"Household"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"preserved":[]},{"account":{"key":"amm:account:actor-household","label":"Household"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"preserved":[]},{"account":{"key":"amm:account:actor-household","label":"Household"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"preserved":[]}]},"before":{"index":6,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"115680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10473","quote_reserve":"115680","price_milli":"11045","product":"1211516640","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"11.045","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10473","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":7,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"120680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10041","quote_reserve":"120680","price_milli":"12018","product":"1211747880","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"432","credit":"15000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"432","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.018","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10041","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Buy energy from the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-household","label":"Household"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["432 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["5000 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Household consumed 1 asset","details":["5000 Settlement credit"],"subjects":[{"key":"amm:account:actor-household","label":"Household"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Household produced 1 asset","details":["432 Usable energy"],"subjects":[{"key":"amm:account:actor-household","label":"Household"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":7,"exchange":{"rate":{"key":"amm:rate:useenergy-household","label":"Household uses energy"},"units":"1","bindings":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"account":{"key":"amm:account:actor-household","label":"Household"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:actor-household","label":"Household"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:actor-household","label":"Household"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:actor-household","label":"Household"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}],"preserved":[]}]},"before":{"index":7,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"120680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10041","quote_reserve":"120680","price_milli":"12018","product":"1211747880","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"432","credit":"15000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"432","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.018","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10041","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":8,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"120680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10041","quote_reserve":"120680","price_milli":"12018","product":"1211747880","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.018","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10041","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Household uses energy","details":["applied atomically · 1 roles bound · 1 accounts changed"],"subjects":[{"key":"amm:rate:useenergy-household","label":"Household uses energy"},{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:account:actor-household","label":"Household"}]},{"kind":"consumed","label":"Household consumed 2 assets","details":["350 Usable energy","1 Household energy need"],"subjects":[{"key":"amm:account:actor-household","label":"Household"},{"key":"amm:asset:energy","label":"Usable energy"},{"key":"amm:asset:need-household","label":"Household energy need"}]},{"kind":"produced","label":"Household produced 3 assets","details":["1 Household need satisfied","350 Energy consumed toward goals","100 Realized utility"],"subjects":[{"key":"amm:account:actor-household","label":"Household"},{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},{"key":"amm:asset:utility","label":"Realized utility"}]}],"observations":[]},{"index":8,"exchange":{"rate":{"key":"amm:rate:learnshortage-speculator","label":"Informed Speculator receives the shortage signal"},"units":"1","bindings":[{"role":{"key":"amm:role:information","label":"Information"},"account":{"key":"amm:account:information","label":"Scarcity Information"}},{"role":{"key":"amm:role:observer","label":"Observer"},"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:information","label":"Scarcity Information"},"available":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}],"consumed":[],"produced":[],"preserved":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"available":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:information","label":"Scarcity Information"},"consumed":[],"produced":[],"preserved":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"consumed":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:information","label":"Scarcity Information"},"consumed":[],"produced":[],"preserved":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"consumed":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}],"preserved":[]}]},"before":{"index":8,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"120680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10041","quote_reserve":"120680","price_milli":"12018","product":"1211747880","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.018","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10041","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":9,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"120680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10041","quote_reserve":"120680","price_milli":"12018","product":"1211747880","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.018","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10041","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Informed Speculator receives the shortage signal","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:learnshortage-speculator","label":"Informed Speculator receives the shortage signal"},{"key":"amm:role:information","label":"Information"},{"key":"amm:account:information","label":"Scarcity Information"},{"key":"amm:role:observer","label":"Observer"},{"key":"amm:account:actor-speculator","label":"Informed Speculator"}]},{"kind":"preserved","label":"Scarcity Information preserved 1 asset","details":["1 Verified energy shortage signal"],"subjects":[{"key":"amm:account:information","label":"Scarcity Information"},{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"}]},{"kind":"consumed","label":"Informed Speculator consumed 1 asset","details":["1 Informed Speculator has no shortage signal"],"subjects":[{"key":"amm:account:actor-speculator","label":"Informed Speculator"},{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"}]},{"kind":"produced","label":"Informed Speculator produced 1 asset","details":["1 Informed Speculator knows about the shortage"],"subjects":[{"key":"amm:account:actor-speculator","label":"Informed Speculator"},{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"}]}],"observations":[]},{"index":9,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"16000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"}}],"parameters":[{"name":"minimum_output","value":"1148"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"preserved":[]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"preserved":[]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"preserved":[]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"preserved":[]}]},"before":{"index":9,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"120680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10041","quote_reserve":"120680","price_milli":"12018","product":"1211747880","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.018","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10041","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":10,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"136680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"8869"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"8869","quote_reserve":"136680","price_milli":"15410","product":"1212214920","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"15.410","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"8869","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Buy energy from the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-speculator","label":"Informed Speculator"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["1172 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["16000 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Informed Speculator consumed 1 asset","details":["16000 Settlement credit"],"subjects":[{"key":"amm:account:actor-speculator","label":"Informed Speculator"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Informed Speculator produced 1 asset","details":["1172 Usable energy"],"subjects":[{"key":"amm:account:actor-speculator","label":"Informed Speculator"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":10,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"45000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-whale","label":"Demand Whale"}}],"parameters":[{"name":"minimum_output","value":"2147"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"8869"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"preserved":[]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"preserved":[]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"preserved":[]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}],"preserved":[]}]},"before":{"index":10,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"136680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"8869"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"8869","quote_reserve":"136680","price_milli":"15410","product":"1212214920","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"15.410","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"8869","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":11,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"181680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"6678"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"6678","quote_reserve":"181680","price_milli":"27205","product":"1213259040","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"2191","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"2191","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"27.205","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"6678","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+11.795","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Buy energy from the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-whale","label":"Demand Whale"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["2191 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["45000 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Demand Whale consumed 1 asset","details":["45000 Settlement credit"],"subjects":[{"key":"amm:account:actor-whale","label":"Demand Whale"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Demand Whale produced 1 asset","details":["2191 Usable energy"],"subjects":[{"key":"amm:account:actor-whale","label":"Demand Whale"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":11,"exchange":{"rate":{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},"units":"1800","bindings":[{"role":{"key":"amm:role:producer","label":"Producer"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}],"required":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1800"}],"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]}]},"before":{"index":11,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"181680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"6678"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"6678","quote_reserve":"181680","price_milli":"27205","product":"1213259040","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"2191","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"2191","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"27.205","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"6678","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+11.795","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":12,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3800"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"181680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"6678"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"6678","quote_reserve":"181680","price_milli":"27205","product":"1213259040","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3800","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"2191","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3800","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"2191","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"27.205","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"6678","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+11.795","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Harvest solar energy","details":["applied atomically · 1 roles bound · 1 accounts changed"],"subjects":[{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},{"key":"amm:role:producer","label":"Producer"},{"key":"amm:account:actor-generator","label":"Solar Generator"}]},{"kind":"consumed","label":"Solar Generator consumed 1 asset","details":["1800 Unharvested solar potential"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["1800 Usable energy"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":12,"exchange":{"rate":{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},"units":"1800","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}}],"parameters":[{"name":"minimum_output","value":"37712"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"181680"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"38482"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"38482"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3800"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"38482"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"38482"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"38482"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"38482"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"38482"}],"preserved":[]}]},"before":{"index":12,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3800"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"181680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"6678"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"6678","quote_reserve":"181680","price_milli":"27205","product":"1213259040","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3800","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"2191","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3800","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"2191","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"27.205","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"6678","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+11.795","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":13,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"63802"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"143198"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"8478"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"8478","quote_reserve":"143198","price_milli":"16890","product":"1214032644","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"63802","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"2191","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"63802","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"2191","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"16.890","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"8478","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+11.795","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-13.673","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Sell energy into the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-generator","label":"Solar Generator"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["38482 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["1800 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"consumed","label":"Solar Generator consumed 1 asset","details":["1800 Usable energy"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["38482 Settlement credit"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:credit","label":"Settlement credit"}]}],"observations":[]},{"index":13,"exchange":{"rate":{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},"units":"1200","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"}}],"parameters":[{"name":"minimum_output","value":"17353"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"143198"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"17708"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"17708"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"preserved":[]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"17708"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"17708"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"preserved":[]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"17708"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"17708"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"preserved":[]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"17708"}],"preserved":[]}]},"before":{"index":13,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"63802"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"143198"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"8478"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"8478","quote_reserve":"143198","price_milli":"16890","product":"1214032644","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"63802","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"2191","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"63802","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"2191","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"16.890","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"8478","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+11.795","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-13.673","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":14,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"27708"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1300"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"63802"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"125490"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"9678"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"9678","quote_reserve":"125490","price_milli":"12966","product":"1214492220","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"63802","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"1300","credit":"27708","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"2191","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"63802","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"1300","unit":"units"},{"key":"credit","label":"Credit","value":"27708","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"2191","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.966","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"9678","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+11.795","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":7,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"-3.924","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-13.673","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Sell energy into the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["17708 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["1200 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"consumed","label":"Internal Arbitrageur consumed 1 asset","details":["1200 Usable energy"],"subjects":[{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Internal Arbitrageur produced 1 asset","details":["17708 Settlement credit"],"subjects":[{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},{"key":"amm:asset:credit","label":"Settlement credit"}]}],"observations":[]},{"index":14,"exchange":{"rate":{"key":"amm:rate:settleobligation-generator","label":"Solar Generator settles a credit obligation"},"units":"1","bindings":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}},{"role":{"key":"amm:role:treasury","label":"Treasury"},"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"available":[],"required":[],"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"63802"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}],"preserved":[]}]},"before":{"index":14,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"27708"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1300"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"63802"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"125490"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"9678"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"9678","quote_reserve":"125490","price_milli":"12966","product":"1214492220","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"63802","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"1300","credit":"27708","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"2191","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"63802","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"1300","unit":"units"},{"key":"credit","label":"Credit","value":"27708","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"2191","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.966","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"9678","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+11.795","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":7,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"-3.924","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-13.673","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":15,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"27708"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1300"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59802"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2191"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"125490"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"9678"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"30000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"9678","quote_reserve":"125490","price_milli":"12966","product":"1214492220","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"success","x":11.0,"y":44.0,"energy":"2000","credit":"59802","liquidity":"0","utility":"0","status":"obligation settled"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"1300","credit":"27708","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"2191","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"obligation settled","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"59802","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"1300","unit":"units"},{"key":"credit","label":"Credit","value":"27708","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"2191","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.966","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"9678","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+11.795","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":7,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"-3.924","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-13.673","unit":"Δ credit / energy","eligible":true,"components":[]}]},{"key":"causal_price_contribution","label":"Causal price contribution","description":"Exact Shapley allocation across every coalition of active market actors. Each coalition is independently re-quoted and replayed through Axionomy; the reduced fractions sum to the full counterfactual price change.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"228313/30000","unit":"Δ credit / energy","eligible":true,"components":[{"key":"coalitions","label":"Counterfactual coalitions","value":"128"}]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"260447/60000","unit":"Δ credit / energy","eligible":true,"components":[{"key":"coalitions","label":"Counterfactual coalitions","value":"128"}]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"157553/60000","unit":"Δ credit / energy","eligible":true,"components":[{"key":"coalitions","label":"Counterfactual coalitions","value":"128"}]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"50437/60000","unit":"Δ credit / energy","eligible":true,"components":[{"key":"coalitions","label":"Counterfactual coalitions","value":"128"}]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"-37/150","unit":"Δ credit / energy","eligible":true,"components":[{"key":"coalitions","label":"Counterfactual coalitions","value":"128"}]},{"rank":6,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"-44267/12000","unit":"Δ credit / energy","eligible":true,"components":[{"key":"coalitions","label":"Counterfactual coalitions","value":"128"}]},{"rank":7,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-63871/7500","unit":"Δ credit / energy","eligible":true,"components":[{"key":"coalitions","label":"Counterfactual coalitions","value":"128"}]}]}]},"cues":[{"kind":"atomic_exchange","label":"Solar Generator settles a credit obligation","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:settleobligation-generator","label":"Solar Generator settles a credit obligation"},{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:role:treasury","label":"Treasury"},{"key":"amm:account:treasury","label":"Closed-economy Treasury"}]},{"kind":"produced","label":"Closed-economy Treasury produced 1 asset","details":["4000 Settlement credit"],"subjects":[{"key":"amm:account:treasury","label":"Closed-economy Treasury"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Solar Generator consumed 2 assets","details":["4000 Settlement credit","1 Solar Generator credit obligation"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:credit","label":"Settlement credit"},{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["1 Solar Generator obligation settled"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"}]}],"observations":[]}],"objectives":[{"key":"needs","label":"Needs satisfied","direction":"maximize","value":"2"},{"key":"utility","label":"Realized utility","direction":"maximize","value":"250"},{"key":"depth","label":"Energy liquidity","direction":"maximize","value":"9678"}],"pareto_fronts":[],"proposals":[{"id":"impossible-minimum-output","label":"Demand more than the curve returns","description":"The trader supplies enough credit, but its minimum-output protection correctly refuses the AMM quote.","snapshot_index":0,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"10000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-factory","label":"Factory"}}],"parameters":[{"name":"minimum_output","value":"907"}]},"assessment":{"status":"invalid","accounts":[],"projected_deltas":[],"shortfalls":[],"issues":[{"kind":"rate_condition_failed","message":"Rate `Buy energy from the AMM` refused condition `minimum output`.","subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"}]}]}},{"id":"price-moving-liquidity","label":"Deposit liquidity at the wrong ratio","description":"Liquidity may deepen the discovered market price, but this rule refuses to rewrite that price by depositing an inconsistent reserve ratio.","snapshot_index":0,"exchange":{"rate":{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"},"units":"1","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"}}],"parameters":[{"name":"credit_amount","value":"9000"},{"name":"energy_amount","value":"1000"},{"name":"minimum_lp_shares","value":"1"}]},"assessment":{"status":"invalid","accounts":[],"projected_deltas":[],"shortfalls":[],"issues":[{"kind":"rate_condition_failed","message":"Rate `Deepen AMM liquidity` refused condition `liquidity must preserve the discovered price`.","subjects":[{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"}]}]}}],"telemetry":[{"algorithm":"verified market replay","exact":true,"points":[{"sequence":0,"kind":"transitions","value":"15","label":"authoritative exchanges"},{"sequence":1,"kind":"accounts","value":"11","label":"closed-economy accounts"},{"sequence":2,"kind":"alternatives","value":"8","label":"heterogeneous actors"}]},{"algorithm":"Model size","exact":true,"points":[{"sequence":0,"kind":"accounts","value":"11","label":"accounts"},{"sequence":1,"kind":"rates","value":"10","label":"rules"},{"sequence":2,"kind":"transitions","value":"15","label":"steps in this trace"},{"sequence":3,"kind":"constraints","value":"2","label":"rejection probes"},{"sequence":4,"kind":"alternatives","value":"3","label":"alternatives compared"}]}],"observations":[],"solve_observations":[{"sequence":0,"phase":"prepare","algorithm":"prepare","kind":"phase","label":"preparing amm · showcase","completed":0,"total":1,"metrics":[{"key":"completed","label":"Work completed","value":"0"},{"key":"remaining","label":"Work remaining","value":"1"}]},{"sequence":1,"phase":"artifact","algorithm":"artifact","kind":"artifact","label":"derived Living Market · endogenous price discovery","completed":1,"total":3,"metrics":[{"key":"completed","label":"Work completed","value":"1"},{"key":"remaining","label":"Work remaining","value":"2"}]},{"sequence":2,"phase":"artifact","algorithm":"artifact","kind":"artifact","label":"derived Living Market · without the demand whale","completed":2,"total":3,"metrics":[{"key":"completed","label":"Work completed","value":"2"},{"key":"remaining","label":"Work remaining","value":"1"}]},{"sequence":3,"phase":"artifact","algorithm":"artifact","kind":"artifact","label":"derived Living Market · thin-liquidity reality","completed":3,"total":3,"metrics":[{"key":"completed","label":"Work completed","value":"3"},{"key":"remaining","label":"Work remaining","value":"0"}]}]},{"id":"amm:no_whale","title":"Living Market · without the demand whale","description":"The same closed economy replays without its largest buyer, exposing that actor's causal effect on the discovered exchange value.","source":{"key":"amm","label":"Closed endogenous market"},"model":{"rates":[{"rate":{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"},"roles":[{"role":{"key":"amm:role:pool","label":"Pool"},"consumed":[],"produced":[],"preserved":[]},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"consumed":[],"produced":[],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:pool","label":"Pool"},{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"}]],"computed_consumed":[{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"$energy_amount"},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"$credit_amount"},{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"min(floor(($energy_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Usable energy), floor(($credit_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Settlement credit))"}],"computed_produced":[{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"$energy_amount"},{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"$credit_amount"},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"min(floor(($energy_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Usable energy), floor(($credit_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Settlement credit))"}],"conditions":[{"name":"liquidity must preserve the discovered price","left":"($energy_amount × Pool.Settlement credit)","comparison":"=","right":"($credit_amount × Pool.Usable energy)"},{"name":"minimum liquidity shares","left":"min(floor(($energy_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Usable energy), floor(($credit_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Settlement credit))","comparison":"≥","right":"$minimum_lp_shares"}]},{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"roles":[{"role":{"key":"amm:role:pool","label":"Pool"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:trader","label":"Trader"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"1"}],"produced":[],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:pool","label":"Pool"},{"key":"amm:role:trader","label":"Trader"}]],"computed_consumed":[{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"floor((Pool.Usable energy × (997 × exchange units)) ÷ ((Pool.Settlement credit × 1000) + (997 × exchange units)))"}],"computed_produced":[{"role":{"key":"amm:role:trader","label":"Trader"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"floor((Pool.Usable energy × (997 × exchange units)) ÷ ((Pool.Settlement credit × 1000) + (997 × exchange units)))"}],"conditions":[{"name":"minimum output","left":"floor((Pool.Usable energy × (997 × exchange units)) ÷ ((Pool.Settlement credit × 1000) + (997 × exchange units)))","comparison":"≥","right":"$minimum_output"}]},{"rate":{"key":"amm:rate:learnshortage-speculator","label":"Informed Speculator receives the shortage signal"},"roles":[{"role":{"key":"amm:role:information","label":"Information"},"consumed":[],"produced":[],"preserved":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"role":{"key":"amm:role:observer","label":"Observer"},"consumed":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:information","label":"Information"},{"key":"amm:role:observer","label":"Observer"}]]},{"rate":{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},"roles":[{"role":{"key":"amm:role:producer","label":"Producer"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1"}],"preserved":[]}],"distinct_roles":[]},{"rate":{"key":"amm:rate:removeliquidity","label":"Withdraw AMM liquidity"},"roles":[{"role":{"key":"amm:role:pool","label":"Pool"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"consumed":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1"}],"produced":[],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:pool","label":"Pool"},{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"}]],"computed_consumed":[{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"floor((Pool.Usable energy × exchange units) ÷ (1000000 − Pool.Unissued liquidity share))"},{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"floor((Pool.Settlement credit × exchange units) ÷ (1000000 − Pool.Unissued liquidity share))"}],"computed_produced":[{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"floor((Pool.Usable energy × exchange units) ÷ (1000000 − Pool.Unissued liquidity share))"},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"floor((Pool.Settlement credit × exchange units) ÷ (1000000 − Pool.Unissued liquidity share))"}]},{"rate":{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},"roles":[{"role":{"key":"amm:role:pool","label":"Pool"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:trader","label":"Trader"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1"}],"produced":[],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:pool","label":"Pool"},{"key":"amm:role:trader","label":"Trader"}]],"computed_consumed":[{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"floor((Pool.Settlement credit × (997 × exchange units)) ÷ ((Pool.Usable energy × 1000) + (997 × exchange units)))"}],"computed_produced":[{"role":{"key":"amm:role:trader","label":"Trader"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"floor((Pool.Settlement credit × (997 × exchange units)) ÷ ((Pool.Usable energy × 1000) + (997 × exchange units)))"}],"conditions":[{"name":"minimum output","left":"floor((Pool.Settlement credit × (997 × exchange units)) ÷ ((Pool.Usable energy × 1000) + (997 × exchange units)))","comparison":"≥","right":"$minimum_output"}]},{"rate":{"key":"amm:rate:settleobligation-factory","label":"Factory settles a credit obligation"},"roles":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:treasury","label":"Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"}],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:role:treasury","label":"Treasury"}]]},{"rate":{"key":"amm:rate:settleobligation-generator","label":"Solar Generator settles a credit obligation"},"roles":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:treasury","label":"Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"}],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:role:treasury","label":"Treasury"}]]},{"rate":{"key":"amm:rate:useenergy-factory","label":"Factory uses energy"},"roles":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}],"preserved":[]}],"distinct_roles":[]},{"rate":{"key":"amm:rate:useenergy-household","label":"Household uses energy"},"roles":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}],"preserved":[]}],"distinct_roles":[]}],"goal":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"required":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"required":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"required":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"required":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]}],"invariants":[{"name":"closed energy accounting","terms":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"weight":1},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"weight":1},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"weight":1}]},{"name":"closed credit accounting","terms":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"weight":1}]},{"name":"liquidity share accounting","terms":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"weight":1},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"weight":1}]},{"name":"actor goal lifecycle","terms":[{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"weight":1},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"weight":1},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"weight":1},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"weight":1},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"weight":1},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"weight":1},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"weight":1},{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"weight":1}]},{"name":"shortage knowledge lifecycle","terms":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"weight":1},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"weight":1}]}]},"initial":{"index":0,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"100000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"990000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10000","quote_reserve":"100000","price_milli":"10000","product":"1000000000","issued_liquidity":"10000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3000","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3000","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"10000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"frames":[{"index":0,"exchange":{"rate":{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"},"units":"1","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"}}],"parameters":[{"name":"credit_amount","value":"10000"},{"name":"energy_amount","value":"1000"},{"name":"minimum_lp_shares","value":"1000"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"990000"}],"required":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"1000"}],"consumed":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"1000"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"preserved":[]},{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"produced":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"1000"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"preserved":[]},{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"produced":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"1000"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"preserved":[]},{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"}],"produced":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}],"preserved":[]}]},"before":{"index":0,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"100000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"990000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10000","quote_reserve":"100000","price_milli":"10000","product":"1000000000","issued_liquidity":"10000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3000","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3000","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"10000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":1,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"110000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"11000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"11000","quote_reserve":"110000","price_milli":"10000","product":"1210000000","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3000","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3000","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"11000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Deepen AMM liquidity","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["1000 Unissued liquidity share"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"}]},{"kind":"produced","label":"Energy / Credit AMM produced 2 assets","details":["10000 Settlement credit","1000 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"consumed","label":"Adaptive LP consumed 2 assets","details":["10000 Settlement credit","1000 Usable energy"],"subjects":[{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},{"key":"amm:asset:credit","label":"Settlement credit"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Adaptive LP produced 1 asset","details":["1000 AMM liquidity share"],"subjects":[{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},{"key":"amm:asset:lpshare","label":"AMM liquidity share"}]}],"observations":[]},{"index":1,"exchange":{"rate":{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},"units":"1500","bindings":[{"role":{"key":"amm:role:producer","label":"Producer"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}],"required":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1500"}],"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1500"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1500"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1500"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"}],"preserved":[]}]},"before":{"index":1,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"110000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"11000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"11000","quote_reserve":"110000","price_milli":"10000","product":"1210000000","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3000","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3000","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"11000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":2,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4500"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"110000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"11000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"11000","quote_reserve":"110000","price_milli":"10000","product":"1210000000","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"4500","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"4500","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"11000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Harvest solar energy","details":["applied atomically · 1 roles bound · 1 accounts changed"],"subjects":[{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},{"key":"amm:role:producer","label":"Producer"},{"key":"amm:account:actor-generator","label":"Solar Generator"}]},{"kind":"consumed","label":"Solar Generator consumed 1 asset","details":["1500 Unharvested solar potential"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["1500 Usable energy"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":2,"exchange":{"rate":{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},"units":"2500","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}}],"parameters":[{"name":"minimum_output","value":"19913"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"110000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4500"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20320"}],"preserved":[]}]},"before":{"index":2,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4500"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"110000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"11000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"11000","quote_reserve":"110000","price_milli":"10000","product":"1210000000","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"4500","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"4500","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"11000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":3,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"89680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"13500"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"13500","quote_reserve":"89680","price_milli":"6642","product":"1210680000","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"6.642","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"13500","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Sell energy into the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-generator","label":"Solar Generator"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["20320 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["2500 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"consumed","label":"Solar Generator consumed 1 asset","details":["2500 Usable energy"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["20320 Settlement credit"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:credit","label":"Settlement credit"}]}],"observations":[]},{"index":3,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"26000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-factory","label":"Factory"}}],"parameters":[{"name":"minimum_output","value":"2966"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"13500"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"}],"preserved":[]}]},"before":{"index":3,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"89680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"13500"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"13500","quote_reserve":"89680","price_milli":"6642","product":"1210680000","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"6.642","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"13500","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":4,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"115680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10473","quote_reserve":"115680","price_milli":"11045","product":"1211516640","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"3027","credit":"14000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"3027","unit":"units"},{"key":"credit","label":"Credit","value":"14000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"11.045","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10473","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Buy energy from the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-factory","label":"Factory"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["3027 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["26000 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Factory consumed 1 asset","details":["26000 Settlement credit"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Factory produced 1 asset","details":["3027 Usable energy"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":4,"exchange":{"rate":{"key":"amm:rate:useenergy-factory","label":"Factory uses energy"},"units":"1","bindings":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"account":{"key":"amm:account:actor-factory","label":"Factory"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:actor-factory","label":"Factory"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}],"preserved":[]}]},"before":{"index":4,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3027"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"115680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10473","quote_reserve":"115680","price_milli":"11045","product":"1211516640","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"3027","credit":"14000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"3027","unit":"units"},{"key":"credit","label":"Credit","value":"14000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"11.045","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10473","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":5,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"115680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10473","quote_reserve":"115680","price_milli":"11045","product":"1211516640","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"14000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"14000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"11.045","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10473","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Factory uses energy","details":["applied atomically · 1 roles bound · 1 accounts changed"],"subjects":[{"key":"amm:rate:useenergy-factory","label":"Factory uses energy"},{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:account:actor-factory","label":"Factory"}]},{"kind":"consumed","label":"Factory consumed 2 assets","details":["1500 Usable energy","1 Factory energy need"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:energy","label":"Usable energy"},{"key":"amm:asset:need-factory","label":"Factory energy need"}]},{"kind":"produced","label":"Factory produced 3 assets","details":["1 Factory need satisfied","1500 Energy consumed toward goals","150 Realized utility"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},{"key":"amm:asset:utility","label":"Realized utility"}]}],"observations":[]},{"index":5,"exchange":{"rate":{"key":"amm:rate:settleobligation-factory","label":"Factory settles a credit obligation"},"units":"1","bindings":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"account":{"key":"amm:account:actor-factory","label":"Factory"}},{"role":{"key":"amm:role:treasury","label":"Treasury"},"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"available":[],"required":[],"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}],"preserved":[]}]},"before":{"index":5,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"115680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10473","quote_reserve":"115680","price_milli":"11045","product":"1211516640","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"14000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"14000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"11.045","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10473","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":6,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"115680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10473","quote_reserve":"115680","price_milli":"11045","product":"1211516640","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"11.045","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10473","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Factory settles a credit obligation","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:settleobligation-factory","label":"Factory settles a credit obligation"},{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:role:treasury","label":"Treasury"},{"key":"amm:account:treasury","label":"Closed-economy Treasury"}]},{"kind":"produced","label":"Closed-economy Treasury produced 1 asset","details":["6000 Settlement credit"],"subjects":[{"key":"amm:account:treasury","label":"Closed-economy Treasury"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Factory consumed 2 assets","details":["6000 Settlement credit","1 Factory credit obligation"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:credit","label":"Settlement credit"},{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"}]},{"kind":"produced","label":"Factory produced 1 asset","details":["1 Factory obligation settled"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"}]}],"observations":[]},{"index":6,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"5000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-household","label":"Household"}}],"parameters":[{"name":"minimum_output","value":"423"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"preserved":[]},{"account":{"key":"amm:account:actor-household","label":"Household"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"preserved":[]},{"account":{"key":"amm:account:actor-household","label":"Household"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"preserved":[]},{"account":{"key":"amm:account:actor-household","label":"Household"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"}],"preserved":[]}]},"before":{"index":6,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"115680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10473"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10473","quote_reserve":"115680","price_milli":"11045","product":"1211516640","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"11.045","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10473","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":7,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"120680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10041","quote_reserve":"120680","price_milli":"12018","product":"1211747880","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"432","credit":"15000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"432","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.018","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10041","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Buy energy from the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-household","label":"Household"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["432 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["5000 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Household consumed 1 asset","details":["5000 Settlement credit"],"subjects":[{"key":"amm:account:actor-household","label":"Household"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Household produced 1 asset","details":["432 Usable energy"],"subjects":[{"key":"amm:account:actor-household","label":"Household"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":7,"exchange":{"rate":{"key":"amm:rate:useenergy-household","label":"Household uses energy"},"units":"1","bindings":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"account":{"key":"amm:account:actor-household","label":"Household"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:actor-household","label":"Household"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:actor-household","label":"Household"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:actor-household","label":"Household"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}],"preserved":[]}]},"before":{"index":7,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"432"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"120680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10041","quote_reserve":"120680","price_milli":"12018","product":"1211747880","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"432","credit":"15000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"432","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.018","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10041","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":8,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"120680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10041","quote_reserve":"120680","price_milli":"12018","product":"1211747880","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.018","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10041","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Household uses energy","details":["applied atomically · 1 roles bound · 1 accounts changed"],"subjects":[{"key":"amm:rate:useenergy-household","label":"Household uses energy"},{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:account:actor-household","label":"Household"}]},{"kind":"consumed","label":"Household consumed 2 assets","details":["350 Usable energy","1 Household energy need"],"subjects":[{"key":"amm:account:actor-household","label":"Household"},{"key":"amm:asset:energy","label":"Usable energy"},{"key":"amm:asset:need-household","label":"Household energy need"}]},{"kind":"produced","label":"Household produced 3 assets","details":["1 Household need satisfied","350 Energy consumed toward goals","100 Realized utility"],"subjects":[{"key":"amm:account:actor-household","label":"Household"},{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},{"key":"amm:asset:utility","label":"Realized utility"}]}],"observations":[]},{"index":8,"exchange":{"rate":{"key":"amm:rate:learnshortage-speculator","label":"Informed Speculator receives the shortage signal"},"units":"1","bindings":[{"role":{"key":"amm:role:information","label":"Information"},"account":{"key":"amm:account:information","label":"Scarcity Information"}},{"role":{"key":"amm:role:observer","label":"Observer"},"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:information","label":"Scarcity Information"},"available":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}],"consumed":[],"produced":[],"preserved":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"available":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:information","label":"Scarcity Information"},"consumed":[],"produced":[],"preserved":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"consumed":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:information","label":"Scarcity Information"},"consumed":[],"produced":[],"preserved":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"consumed":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}],"preserved":[]}]},"before":{"index":8,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"120680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10041","quote_reserve":"120680","price_milli":"12018","product":"1211747880","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.018","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10041","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":9,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"120680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10041","quote_reserve":"120680","price_milli":"12018","product":"1211747880","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.018","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10041","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Informed Speculator receives the shortage signal","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:learnshortage-speculator","label":"Informed Speculator receives the shortage signal"},{"key":"amm:role:information","label":"Information"},{"key":"amm:account:information","label":"Scarcity Information"},{"key":"amm:role:observer","label":"Observer"},{"key":"amm:account:actor-speculator","label":"Informed Speculator"}]},{"kind":"preserved","label":"Scarcity Information preserved 1 asset","details":["1 Verified energy shortage signal"],"subjects":[{"key":"amm:account:information","label":"Scarcity Information"},{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"}]},{"kind":"consumed","label":"Informed Speculator consumed 1 asset","details":["1 Informed Speculator has no shortage signal"],"subjects":[{"key":"amm:account:actor-speculator","label":"Informed Speculator"},{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"}]},{"kind":"produced","label":"Informed Speculator produced 1 asset","details":["1 Informed Speculator knows about the shortage"],"subjects":[{"key":"amm:account:actor-speculator","label":"Informed Speculator"},{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"}]}],"observations":[]},{"index":9,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"16000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"}}],"parameters":[{"name":"minimum_output","value":"1148"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"preserved":[]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"preserved":[]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"preserved":[]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"}],"preserved":[]}]},"before":{"index":9,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"120680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10041"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10041","quote_reserve":"120680","price_milli":"12018","product":"1211747880","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"12.018","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10041","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":10,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"136680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"8869"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"8869","quote_reserve":"136680","price_milli":"15410","product":"1212214920","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"15.410","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"8869","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Buy energy from the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-speculator","label":"Informed Speculator"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["1172 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["16000 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Informed Speculator consumed 1 asset","details":["16000 Settlement credit"],"subjects":[{"key":"amm:account:actor-speculator","label":"Informed Speculator"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Informed Speculator produced 1 asset","details":["1172 Usable energy"],"subjects":[{"key":"amm:account:actor-speculator","label":"Informed Speculator"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":10,"exchange":{"rate":{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},"units":"1800","bindings":[{"role":{"key":"amm:role:producer","label":"Producer"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}],"required":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1800"}],"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]}]},"before":{"index":10,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"136680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"8869"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"8869","quote_reserve":"136680","price_milli":"15410","product":"1212214920","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"15.410","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"8869","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":11,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3800"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"136680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"8869"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"8869","quote_reserve":"136680","price_milli":"15410","product":"1212214920","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3800","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3800","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"15.410","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"8869","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Harvest solar energy","details":["applied atomically · 1 roles bound · 1 accounts changed"],"subjects":[{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},{"key":"amm:role:producer","label":"Producer"},{"key":"amm:account:actor-generator","label":"Solar Generator"}]},{"kind":"consumed","label":"Solar Generator consumed 1 asset","details":["1800 Unharvested solar potential"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["1800 Usable energy"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":11,"exchange":{"rate":{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},"units":"1800","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}}],"parameters":[{"name":"minimum_output","value":"22541"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"136680"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"23002"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"23002"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3800"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"23002"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"23002"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"23002"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"23002"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"23002"}],"preserved":[]}]},"before":{"index":11,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25320"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3800"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"136680"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"8869"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"8869","quote_reserve":"136680","price_milli":"15410","product":"1212214920","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3800","credit":"25320","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3800","unit":"units"},{"key":"credit","label":"Credit","value":"25320","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"15.410","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"8869","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-3.358","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":12,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"48322"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"113678"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10669"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10669","quote_reserve":"113678","price_milli":"10654","product":"1212830582","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"48322","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"48322","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.654","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10669","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-8.114","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Sell energy into the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-generator","label":"Solar Generator"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["23002 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["1800 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"consumed","label":"Solar Generator consumed 1 asset","details":["1800 Usable energy"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["23002 Settlement credit"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:credit","label":"Settlement credit"}]}],"observations":[]},{"index":12,"exchange":{"rate":{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},"units":"1200","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"}}],"parameters":[{"name":"minimum_output","value":"11232"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"113678"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"11462"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"11462"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"preserved":[]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"11462"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"11462"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"preserved":[]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"11462"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"11462"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"preserved":[]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"11462"}],"preserved":[]}]},"before":{"index":12,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"48322"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"113678"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10669"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10669","quote_reserve":"113678","price_milli":"10654","product":"1212830582","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"48322","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"48322","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.654","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10669","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-8.114","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":13,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21462"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1300"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"48322"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"102216"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"11869"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"11869","quote_reserve":"102216","price_milli":"8612","product":"1213201704","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"48322","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"1300","credit":"21462","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"48322","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"1300","unit":"units"},{"key":"credit","label":"Credit","value":"21462","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"8.612","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"11869","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":7,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"-2.042","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-8.114","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Sell energy into the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["11462 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["1200 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"consumed","label":"Internal Arbitrageur consumed 1 asset","details":["1200 Usable energy"],"subjects":[{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Internal Arbitrageur produced 1 asset","details":["11462 Settlement credit"],"subjects":[{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},{"key":"amm:asset:credit","label":"Settlement credit"}]}],"observations":[]},{"index":13,"exchange":{"rate":{"key":"amm:rate:settleobligation-generator","label":"Solar Generator settles a credit obligation"},"units":"1","bindings":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}},{"role":{"key":"amm:role:treasury","label":"Treasury"},"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"available":[],"required":[],"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"48322"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}],"preserved":[]}]},"before":{"index":13,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21462"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1300"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"48322"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"102216"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"11869"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"11869","quote_reserve":"102216","price_milli":"8612","product":"1213201704","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"48322","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"1300","credit":"21462","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"48322","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"1300","unit":"units"},{"key":"credit","label":"Credit","value":"21462","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"8.612","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"11869","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":7,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"-2.042","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-8.114","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":14,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21462"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1300"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1527"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"44322"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"82"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1172"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"102216"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"11869"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"989000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"30000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"11869","quote_reserve":"102216","price_milli":"8612","product":"1213201704","issued_liquidity":"11000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"success","x":11.0,"y":44.0,"energy":"2000","credit":"44322","liquidity":"0","utility":"0","status":"obligation settled"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1527","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"82","credit":"15000","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"1172","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"success","x":87.0,"y":72.0,"energy":"1000","credit":"10000","liquidity":"1000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"1300","credit":"21462","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"obligation settled","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"44322","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1527","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"82","unit":"units"},{"key":"credit","label":"Credit","value":"15000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"1172","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"1000","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"1300","unit":"units"},{"key":"credit","label":"Credit","value":"21462","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"8.612","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"11869","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"11000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+4.403","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+3.392","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+0.973","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":7,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"-2.042","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-8.114","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Solar Generator settles a credit obligation","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:settleobligation-generator","label":"Solar Generator settles a credit obligation"},{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:role:treasury","label":"Treasury"},{"key":"amm:account:treasury","label":"Closed-economy Treasury"}]},{"kind":"produced","label":"Closed-economy Treasury produced 1 asset","details":["4000 Settlement credit"],"subjects":[{"key":"amm:account:treasury","label":"Closed-economy Treasury"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Solar Generator consumed 2 assets","details":["4000 Settlement credit","1 Solar Generator credit obligation"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:credit","label":"Settlement credit"},{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["1 Solar Generator obligation settled"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"}]}],"observations":[]}],"objectives":[{"key":"needs","label":"Needs satisfied","direction":"maximize","value":"2"},{"key":"utility","label":"Realized utility","direction":"maximize","value":"250"},{"key":"depth","label":"Energy liquidity","direction":"maximize","value":"11869"}],"pareto_fronts":[],"proposals":[{"id":"impossible-minimum-output","label":"Demand more than the curve returns","description":"The trader supplies enough credit, but its minimum-output protection correctly refuses the AMM quote.","snapshot_index":0,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"10000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-factory","label":"Factory"}}],"parameters":[{"name":"minimum_output","value":"907"}]},"assessment":{"status":"invalid","accounts":[],"projected_deltas":[],"shortfalls":[],"issues":[{"kind":"rate_condition_failed","message":"Rate `Buy energy from the AMM` refused condition `minimum output`.","subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"}]}]}},{"id":"price-moving-liquidity","label":"Deposit liquidity at the wrong ratio","description":"Liquidity may deepen the discovered market price, but this rule refuses to rewrite that price by depositing an inconsistent reserve ratio.","snapshot_index":0,"exchange":{"rate":{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"},"units":"1","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"}}],"parameters":[{"name":"credit_amount","value":"9000"},{"name":"energy_amount","value":"1000"},{"name":"minimum_lp_shares","value":"1"}]},"assessment":{"status":"invalid","accounts":[],"projected_deltas":[],"shortfalls":[],"issues":[{"kind":"rate_condition_failed","message":"Rate `Deepen AMM liquidity` refused condition `liquidity must preserve the discovered price`.","subjects":[{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"}]}]}}],"telemetry":[{"algorithm":"verified market replay","exact":true,"points":[{"sequence":0,"kind":"transitions","value":"14","label":"authoritative exchanges"},{"sequence":1,"kind":"accounts","value":"11","label":"closed-economy accounts"},{"sequence":2,"kind":"alternatives","value":"8","label":"heterogeneous actors"}]},{"algorithm":"Model size","exact":true,"points":[{"sequence":0,"kind":"accounts","value":"11","label":"accounts"},{"sequence":1,"kind":"rates","value":"10","label":"rules"},{"sequence":2,"kind":"transitions","value":"14","label":"steps in this trace"},{"sequence":3,"kind":"constraints","value":"2","label":"rejection probes"},{"sequence":4,"kind":"alternatives","value":"3","label":"alternatives compared"}]}],"observations":[],"solve_observations":[{"sequence":0,"phase":"prepare","algorithm":"prepare","kind":"phase","label":"preparing amm · showcase","completed":0,"total":1,"metrics":[{"key":"completed","label":"Work completed","value":"0"},{"key":"remaining","label":"Work remaining","value":"1"}]},{"sequence":1,"phase":"artifact","algorithm":"artifact","kind":"artifact","label":"derived Living Market · endogenous price discovery","completed":1,"total":3,"metrics":[{"key":"completed","label":"Work completed","value":"1"},{"key":"remaining","label":"Work remaining","value":"2"}]},{"sequence":2,"phase":"artifact","algorithm":"artifact","kind":"artifact","label":"derived Living Market · without the demand whale","completed":2,"total":3,"metrics":[{"key":"completed","label":"Work completed","value":"2"},{"key":"remaining","label":"Work remaining","value":"1"}]},{"sequence":3,"phase":"artifact","algorithm":"artifact","kind":"artifact","label":"derived Living Market · thin-liquidity reality","completed":3,"total":3,"metrics":[{"key":"completed","label":"Work completed","value":"3"},{"key":"remaining","label":"Work remaining","value":"0"}]}]},{"id":"amm:thin_liquidity","title":"Living Market · thin-liquidity reality","description":"Half the founding liquidity exits before the market opens. Identical needs and beliefs now move price further because the economy has less depth.","source":{"key":"amm","label":"Closed endogenous market"},"model":{"rates":[{"rate":{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"},"roles":[{"role":{"key":"amm:role:pool","label":"Pool"},"consumed":[],"produced":[],"preserved":[]},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"consumed":[],"produced":[],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:pool","label":"Pool"},{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"}]],"computed_consumed":[{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"$energy_amount"},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"$credit_amount"},{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"min(floor(($energy_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Usable energy), floor(($credit_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Settlement credit))"}],"computed_produced":[{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"$energy_amount"},{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"$credit_amount"},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"min(floor(($energy_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Usable energy), floor(($credit_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Settlement credit))"}],"conditions":[{"name":"liquidity must preserve the discovered price","left":"($energy_amount × Pool.Settlement credit)","comparison":"=","right":"($credit_amount × Pool.Usable energy)"},{"name":"minimum liquidity shares","left":"min(floor(($energy_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Usable energy), floor(($credit_amount × (1000000 − Pool.Unissued liquidity share)) ÷ Pool.Settlement credit))","comparison":"≥","right":"$minimum_lp_shares"}]},{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"roles":[{"role":{"key":"amm:role:pool","label":"Pool"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:trader","label":"Trader"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"1"}],"produced":[],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:pool","label":"Pool"},{"key":"amm:role:trader","label":"Trader"}]],"computed_consumed":[{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"floor((Pool.Usable energy × (997 × exchange units)) ÷ ((Pool.Settlement credit × 1000) + (997 × exchange units)))"}],"computed_produced":[{"role":{"key":"amm:role:trader","label":"Trader"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"floor((Pool.Usable energy × (997 × exchange units)) ÷ ((Pool.Settlement credit × 1000) + (997 × exchange units)))"}],"conditions":[{"name":"minimum output","left":"floor((Pool.Usable energy × (997 × exchange units)) ÷ ((Pool.Settlement credit × 1000) + (997 × exchange units)))","comparison":"≥","right":"$minimum_output"}]},{"rate":{"key":"amm:rate:learnshortage-speculator","label":"Informed Speculator receives the shortage signal"},"roles":[{"role":{"key":"amm:role:information","label":"Information"},"consumed":[],"produced":[],"preserved":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"role":{"key":"amm:role:observer","label":"Observer"},"consumed":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:information","label":"Information"},{"key":"amm:role:observer","label":"Observer"}]]},{"rate":{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},"roles":[{"role":{"key":"amm:role:producer","label":"Producer"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1"}],"preserved":[]}],"distinct_roles":[]},{"rate":{"key":"amm:rate:removeliquidity","label":"Withdraw AMM liquidity"},"roles":[{"role":{"key":"amm:role:pool","label":"Pool"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"consumed":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"1"}],"produced":[],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:pool","label":"Pool"},{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"}]],"computed_consumed":[{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"floor((Pool.Usable energy × exchange units) ÷ (1000000 − Pool.Unissued liquidity share))"},{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"floor((Pool.Settlement credit × exchange units) ÷ (1000000 − Pool.Unissued liquidity share))"}],"computed_produced":[{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"floor((Pool.Usable energy × exchange units) ÷ (1000000 − Pool.Unissued liquidity share))"},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"floor((Pool.Settlement credit × exchange units) ÷ (1000000 − Pool.Unissued liquidity share))"}]},{"rate":{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},"roles":[{"role":{"key":"amm:role:pool","label":"Pool"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:trader","label":"Trader"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1"}],"produced":[],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:pool","label":"Pool"},{"key":"amm:role:trader","label":"Trader"}]],"computed_consumed":[{"role":{"key":"amm:role:pool","label":"Pool"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"floor((Pool.Settlement credit × (997 × exchange units)) ÷ ((Pool.Usable energy × 1000) + (997 × exchange units)))"}],"computed_produced":[{"role":{"key":"amm:role:trader","label":"Trader"},"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"floor((Pool.Settlement credit × (997 × exchange units)) ÷ ((Pool.Usable energy × 1000) + (997 × exchange units)))"}],"conditions":[{"name":"minimum output","left":"floor((Pool.Settlement credit × (997 × exchange units)) ÷ ((Pool.Usable energy × 1000) + (997 × exchange units)))","comparison":"≥","right":"$minimum_output"}]},{"rate":{"key":"amm:rate:settleobligation-factory","label":"Factory settles a credit obligation"},"roles":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:treasury","label":"Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"}],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:role:treasury","label":"Treasury"}]]},{"rate":{"key":"amm:rate:settleobligation-generator","label":"Solar Generator settles a credit obligation"},"roles":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}],"preserved":[]},{"role":{"key":"amm:role:treasury","label":"Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"}],"preserved":[]}],"distinct_roles":[[{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:role:treasury","label":"Treasury"}]]},{"rate":{"key":"amm:rate:useenergy-factory","label":"Factory uses energy"},"roles":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}],"preserved":[]}],"distinct_roles":[]},{"rate":{"key":"amm:rate:useenergy-household","label":"Household uses energy"},"roles":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}],"preserved":[]}],"distinct_roles":[]}],"goal":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"required":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"required":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"required":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"required":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]}],"invariants":[{"name":"closed energy accounting","terms":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"weight":1},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"weight":1},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"weight":1}]},{"name":"closed credit accounting","terms":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"weight":1}]},{"name":"liquidity share accounting","terms":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"weight":1},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"weight":1}]},{"name":"actor goal lifecycle","terms":[{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"weight":1},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"weight":1},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"weight":1},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"weight":1},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"weight":1},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"weight":1},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"weight":1},{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"weight":1}]},{"name":"shortage knowledge lifecycle","terms":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"weight":1},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"weight":1}]}]},"initial":{"index":0,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"100000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"990000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10000","quote_reserve":"100000","price_milli":"10000","product":"1000000000","issued_liquidity":"10000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3000","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3000","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"10000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"frames":[{"index":0,"exchange":{"rate":{"key":"amm:rate:removeliquidity","label":"Withdraw AMM liquidity"},"units":"5000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"account":{"key":"amm:account:actor-founder","label":"Founding LP"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"100000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"}],"produced":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"5000"}],"preserved":[]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"available":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}],"required":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}],"consumed":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"}],"produced":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"5000"}],"preserved":[]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"consumed":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"}],"produced":[{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"5000"}],"preserved":[]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"consumed":[{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"}],"preserved":[]}]},"before":{"index":0,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"10000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"100000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"10000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"990000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"10000","quote_reserve":"100000","price_milli":"10000","product":"1000000000","issued_liquidity":"10000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"0","credit":"5000","liquidity":"10000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3000","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3000","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"10000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"10000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":1,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"5000","quote_reserve":"50000","price_milli":"10000","product":"250000000","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3000","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3000","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"5000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Withdraw AMM liquidity","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:removeliquidity","label":"Withdraw AMM liquidity"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},{"key":"amm:account:actor-founder","label":"Founding LP"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 2 assets","details":["50000 Settlement credit","5000 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["5000 Unissued liquidity share"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"}]},{"kind":"consumed","label":"Founding LP consumed 1 asset","details":["5000 AMM liquidity share"],"subjects":[{"key":"amm:account:actor-founder","label":"Founding LP"},{"key":"amm:asset:lpshare","label":"AMM liquidity share"}]},{"kind":"produced","label":"Founding LP produced 2 assets","details":["50000 Settlement credit","5000 Usable energy"],"subjects":[{"key":"amm:account:actor-founder","label":"Founding LP"},{"key":"amm:asset:credit","label":"Settlement credit"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":1,"exchange":{"rate":{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},"units":"1500","bindings":[{"role":{"key":"amm:role:producer","label":"Producer"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}],"required":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1500"}],"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1500"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1500"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1500"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"}],"preserved":[]}]},"before":{"index":1,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"6000"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"5000","quote_reserve":"50000","price_milli":"10000","product":"250000000","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3000","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3000","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"5000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":2,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4500"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"5000","quote_reserve":"50000","price_milli":"10000","product":"250000000","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"4500","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"4500","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"5000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Harvest solar energy","details":["applied atomically · 1 roles bound · 1 accounts changed"],"subjects":[{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},{"key":"amm:role:producer","label":"Producer"},{"key":"amm:account:actor-generator","label":"Solar Generator"}]},{"kind":"consumed","label":"Solar Generator consumed 1 asset","details":["1500 Unharvested solar potential"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["1500 Usable energy"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":2,"exchange":{"rate":{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},"units":"2500","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}}],"parameters":[{"name":"minimum_output","value":"16300"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16633"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16633"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4500"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16633"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16633"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16633"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16633"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16633"}],"preserved":[]}]},"before":{"index":2,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4500"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"5000","quote_reserve":"50000","price_milli":"10000","product":"250000000","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"4500","credit":"5000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"4500","unit":"units"},{"key":"credit","label":"Credit","value":"5000","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.000","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"5000","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":3,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"33367"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"7500"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"7500","quote_reserve":"33367","price_milli":"4448","product":"250252500","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"4.448","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"7500","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Sell energy into the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-generator","label":"Solar Generator"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["16633 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["2500 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"consumed","label":"Solar Generator consumed 1 asset","details":["2500 Usable energy"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["16633 Settlement credit"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:credit","label":"Settlement credit"}]}],"observations":[]},{"index":3,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"26000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-factory","label":"Factory"}}],"parameters":[{"name":"minimum_output","value":"3213"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"7500"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3279"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3279"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3279"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3279"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3279"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3279"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3279"}],"preserved":[]}]},"before":{"index":3,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"40000"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"33367"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"7500"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"7500","quote_reserve":"33367","price_milli":"4448","product":"250252500","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"0","credit":"40000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"40000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"4.448","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"7500","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":4,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3279"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59367"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4221"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"4221","quote_reserve":"59367","price_milli":"14064","product":"250588107","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"3279","credit":"14000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"3279","unit":"units"},{"key":"credit","label":"Credit","value":"14000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"14.064","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"4221","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Buy energy from the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-factory","label":"Factory"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["3279 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["26000 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Factory consumed 1 asset","details":["26000 Settlement credit"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Factory produced 1 asset","details":["3279 Usable energy"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":4,"exchange":{"rate":{"key":"amm:rate:useenergy-factory","label":"Factory uses energy"},"units":"1","bindings":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"account":{"key":"amm:account:actor-factory","label":"Factory"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:actor-factory","label":"Factory"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3279"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1500"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}],"preserved":[]}]},"before":{"index":4,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3279"},{"asset":{"key":"amm:asset:need-factory","label":"Factory energy need"},"quantity":"1"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59367"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4221"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"4221","quote_reserve":"59367","price_milli":"14064","product":"250588107","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"neutral","x":13.0,"y":72.0,"energy":"3279","credit":"14000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"3279","unit":"units"},{"key":"credit","label":"Credit","value":"14000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"14.064","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"4221","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":5,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59367"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4221"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"4221","quote_reserve":"59367","price_milli":"14064","product":"250588107","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"14000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"14000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"14.064","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"4221","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Factory uses energy","details":["applied atomically · 1 roles bound · 1 accounts changed"],"subjects":[{"key":"amm:rate:useenergy-factory","label":"Factory uses energy"},{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:account:actor-factory","label":"Factory"}]},{"kind":"consumed","label":"Factory consumed 2 assets","details":["1500 Usable energy","1 Factory energy need"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:energy","label":"Usable energy"},{"key":"amm:asset:need-factory","label":"Factory energy need"}]},{"kind":"produced","label":"Factory produced 3 assets","details":["1 Factory need satisfied","1500 Energy consumed toward goals","150 Realized utility"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},{"key":"amm:asset:utility","label":"Realized utility"}]}],"observations":[]},{"index":5,"exchange":{"rate":{"key":"amm:rate:settleobligation-factory","label":"Factory settles a credit obligation"},"units":"1","bindings":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"account":{"key":"amm:account:actor-factory","label":"Factory"}},{"role":{"key":"amm:role:treasury","label":"Treasury"},"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"available":[],"required":[],"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"}],"preserved":[]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"6000"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"}],"preserved":[]}]},"before":{"index":5,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59367"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4221"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"4221","quote_reserve":"59367","price_milli":"14064","product":"250588107","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"14000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"14000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"14.064","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"4221","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":6,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59367"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4221"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"4221","quote_reserve":"59367","price_milli":"14064","product":"250588107","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"14.064","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"4221","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Factory settles a credit obligation","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:settleobligation-factory","label":"Factory settles a credit obligation"},{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:role:treasury","label":"Treasury"},{"key":"amm:account:treasury","label":"Closed-economy Treasury"}]},{"kind":"produced","label":"Closed-economy Treasury produced 1 asset","details":["6000 Settlement credit"],"subjects":[{"key":"amm:account:treasury","label":"Closed-economy Treasury"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Factory consumed 2 assets","details":["6000 Settlement credit","1 Factory credit obligation"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:credit","label":"Settlement credit"},{"key":"amm:asset:obligation-factory","label":"Factory credit obligation"}]},{"kind":"produced","label":"Factory produced 1 asset","details":["1 Factory obligation settled"],"subjects":[{"key":"amm:account:actor-factory","label":"Factory"},{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"}]}],"observations":[]},{"index":6,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"5400","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-household","label":"Household"}}],"parameters":[{"name":"minimum_output","value":"343"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4221"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5400"}],"preserved":[]},{"account":{"key":"amm:account:actor-household","label":"Household"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5400"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5400"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5400"}],"preserved":[]},{"account":{"key":"amm:account:actor-household","label":"Household"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5400"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5400"}],"preserved":[]},{"account":{"key":"amm:account:actor-household","label":"Household"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"5400"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"}],"preserved":[]}]},"before":{"index":6,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59367"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4221"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"4221","quote_reserve":"59367","price_milli":"14064","product":"250588107","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"0","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"14.064","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"4221","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":7,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"64767"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3871"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"3871","quote_reserve":"64767","price_milli":"16731","product":"250713057","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"350","credit":"14600","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"350","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"16.731","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"3871","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Buy energy from the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-household","label":"Household"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["350 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["5400 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Household consumed 1 asset","details":["5400 Settlement credit"],"subjects":[{"key":"amm:account:actor-household","label":"Household"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Household produced 1 asset","details":["350 Usable energy"],"subjects":[{"key":"amm:account:actor-household","label":"Household"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":7,"exchange":{"rate":{"key":"amm:rate:useenergy-household","label":"Household uses energy"},"units":"1","bindings":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"account":{"key":"amm:account:actor-household","label":"Household"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:actor-household","label":"Household"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:actor-household","label":"Household"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:actor-household","label":"Household"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}],"preserved":[]}]},"before":{"index":7,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"350"},{"asset":{"key":"amm:asset:need-household","label":"Household energy need"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"64767"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3871"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"3871","quote_reserve":"64767","price_milli":"16731","product":"250713057","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"neutral","x":36.0,"y":87.0,"energy":"350","credit":"14600","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"350","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"16.731","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"3871","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":8,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"64767"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3871"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"3871","quote_reserve":"64767","price_milli":"16731","product":"250713057","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"16.731","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"3871","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Household uses energy","details":["applied atomically · 1 roles bound · 1 accounts changed"],"subjects":[{"key":"amm:rate:useenergy-household","label":"Household uses energy"},{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:account:actor-household","label":"Household"}]},{"kind":"consumed","label":"Household consumed 2 assets","details":["350 Usable energy","1 Household energy need"],"subjects":[{"key":"amm:account:actor-household","label":"Household"},{"key":"amm:asset:energy","label":"Usable energy"},{"key":"amm:asset:need-household","label":"Household energy need"}]},{"kind":"produced","label":"Household produced 3 assets","details":["1 Household need satisfied","350 Energy consumed toward goals","100 Realized utility"],"subjects":[{"key":"amm:account:actor-household","label":"Household"},{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},{"key":"amm:asset:utility","label":"Realized utility"}]}],"observations":[]},{"index":8,"exchange":{"rate":{"key":"amm:rate:learnshortage-speculator","label":"Informed Speculator receives the shortage signal"},"units":"1","bindings":[{"role":{"key":"amm:role:information","label":"Information"},"account":{"key":"amm:account:information","label":"Scarcity Information"}},{"role":{"key":"amm:role:observer","label":"Observer"},"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:information","label":"Scarcity Information"},"available":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}],"consumed":[],"produced":[],"preserved":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"available":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:information","label":"Scarcity Information"},"consumed":[],"produced":[],"preserved":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"consumed":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:information","label":"Scarcity Information"},"consumed":[],"produced":[],"preserved":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"consumed":[{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}],"preserved":[]}]},"before":{"index":8,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"64767"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3871"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"3871","quote_reserve":"64767","price_milli":"16731","product":"250713057","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"warning","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"16.731","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"3871","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":9,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"64767"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3871"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"3871","quote_reserve":"64767","price_milli":"16731","product":"250713057","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"16.731","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"3871","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Informed Speculator receives the shortage signal","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:learnshortage-speculator","label":"Informed Speculator receives the shortage signal"},{"key":"amm:role:information","label":"Information"},{"key":"amm:account:information","label":"Scarcity Information"},{"key":"amm:role:observer","label":"Observer"},{"key":"amm:account:actor-speculator","label":"Informed Speculator"}]},{"kind":"preserved","label":"Scarcity Information preserved 1 asset","details":["1 Verified energy shortage signal"],"subjects":[{"key":"amm:account:information","label":"Scarcity Information"},{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"}]},{"kind":"consumed","label":"Informed Speculator consumed 1 asset","details":["1 Informed Speculator has no shortage signal"],"subjects":[{"key":"amm:account:actor-speculator","label":"Informed Speculator"},{"key":"amm:asset:uninformed-speculator","label":"Informed Speculator has no shortage signal"}]},{"kind":"produced","label":"Informed Speculator produced 1 asset","details":["1 Informed Speculator knows about the shortage"],"subjects":[{"key":"amm:account:actor-speculator","label":"Informed Speculator"},{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"}]}],"observations":[]},{"index":9,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"16000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"}}],"parameters":[{"name":"minimum_output","value":"749"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3871"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"preserved":[]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"preserved":[]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"preserved":[]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"16000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"}],"preserved":[]}]},"before":{"index":9,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25000"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"64767"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3871"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"3871","quote_reserve":"64767","price_milli":"16731","product":"250713057","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"0","credit":"25000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"25000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"16.731","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"3871","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":10,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80767"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3106"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"3106","quote_reserve":"80767","price_milli":"26003","product":"250862302","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"765","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"765","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"26.003","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"3106","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+9.272","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Buy energy from the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-speculator","label":"Informed Speculator"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["765 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["16000 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Informed Speculator consumed 1 asset","details":["16000 Settlement credit"],"subjects":[{"key":"amm:account:actor-speculator","label":"Informed Speculator"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Informed Speculator produced 1 asset","details":["765 Usable energy"],"subjects":[{"key":"amm:account:actor-speculator","label":"Informed Speculator"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":10,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"45000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-whale","label":"Demand Whale"}}],"parameters":[{"name":"minimum_output","value":"1086"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3106"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"preserved":[]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"preserved":[]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"preserved":[]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"45000"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}],"preserved":[]}]},"before":{"index":10,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80000"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"80767"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3106"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"3106","quote_reserve":"80767","price_milli":"26003","product":"250862302","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"765","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"0","credit":"80000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"765","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"80000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"26.003","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"3106","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+9.272","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":11,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"125767"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1997"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"1997","quote_reserve":"125767","price_milli":"62977","product":"251156699","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"765","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"1109","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"765","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"1109","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"62.977","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"1997","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+36.974","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+9.272","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Buy energy from the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-whale","label":"Demand Whale"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["1109 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["45000 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Demand Whale consumed 1 asset","details":["45000 Settlement credit"],"subjects":[{"key":"amm:account:actor-whale","label":"Demand Whale"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Demand Whale produced 1 asset","details":["1109 Usable energy"],"subjects":[{"key":"amm:account:actor-whale","label":"Demand Whale"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":11,"exchange":{"rate":{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},"units":"1800","bindings":[{"role":{"key":"amm:role:producer","label":"Producer"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}],"required":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1800"}],"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]}]},"before":{"index":11,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"4500"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"125767"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1997"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"1997","quote_reserve":"125767","price_milli":"62977","product":"251156699","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"765","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"1109","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"765","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"1109","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"62.977","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"1997","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+36.974","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+9.272","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":12,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3800"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"125767"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1997"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"1997","quote_reserve":"125767","price_milli":"62977","product":"251156699","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3800","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"765","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"1109","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3800","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"765","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"1109","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"62.977","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"1997","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+36.974","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+9.272","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Harvest solar energy","details":["applied atomically · 1 roles bound · 1 accounts changed"],"subjects":[{"key":"amm:rate:produceenergy","label":"Harvest solar energy"},{"key":"amm:role:producer","label":"Producer"},{"key":"amm:account:actor-generator","label":"Solar Generator"}]},{"kind":"consumed","label":"Solar Generator consumed 1 asset","details":["1800 Unharvested solar potential"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["1800 Usable energy"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:energy","label":"Usable energy"}]}],"observations":[]},{"index":12,"exchange":{"rate":{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},"units":"1800","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}}],"parameters":[{"name":"minimum_output","value":"58335"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"125767"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59526"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59526"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3800"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59526"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59526"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59526"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59526"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1800"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"59526"}],"preserved":[]}]},"before":{"index":12,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"21633"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3800"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"125767"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1997"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"1997","quote_reserve":"125767","price_milli":"62977","product":"251156699","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"3800","credit":"21633","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"765","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"1109","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"3800","unit":"units"},{"key":"credit","label":"Credit","value":"21633","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"765","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"1109","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"62.977","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"1997","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+36.974","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+9.272","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-5.552","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":13,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"81159"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"66241"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3797"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"3797","quote_reserve":"66241","price_milli":"17445","product":"251517077","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"81159","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"765","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"1109","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"81159","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"765","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"1109","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"17.445","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"3797","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+36.974","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+9.272","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-51.084","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Sell energy into the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-generator","label":"Solar Generator"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["59526 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["1800 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"consumed","label":"Solar Generator consumed 1 asset","details":["1800 Usable energy"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["59526 Settlement credit"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:credit","label":"Settlement credit"}]}],"observations":[]},{"index":13,"exchange":{"rate":{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},"units":"1200","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"}}],"parameters":[{"name":"minimum_output","value":"15553"}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"66241"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15871"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15871"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"preserved":[]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"available":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}],"required":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15871"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15871"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"preserved":[]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15871"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15871"}],"produced":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"preserved":[]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"consumed":[{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1200"}],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"15871"}],"preserved":[]}]},"before":{"index":13,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"10000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2500"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"81159"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"66241"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"3797"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"3797","quote_reserve":"66241","price_milli":"17445","product":"251517077","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"81159","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"765","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"2500","credit":"10000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"1109","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"81159","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"765","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"2500","unit":"units"},{"key":"credit","label":"Credit","value":"10000","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"1109","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"17.445","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"3797","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+36.974","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+9.272","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-51.084","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":14,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25871"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1300"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"81159"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50370"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4997"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"4997","quote_reserve":"50370","price_milli":"10080","product":"251698890","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"81159","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"765","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"1300","credit":"25871","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"1109","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"81159","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"765","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"1300","unit":"units"},{"key":"credit","label":"Credit","value":"25871","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"1109","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.080","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"4997","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+36.974","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+9.272","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":7,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"-7.365","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-51.084","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Sell energy into the AMM","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:sellenergy","label":"Sell energy into the AMM"},{"key":"amm:role:pool","label":"Pool"},{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:role:trader","label":"Trader"},{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"}]},{"kind":"consumed","label":"Energy / Credit AMM consumed 1 asset","details":["15871 Settlement credit"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"produced","label":"Energy / Credit AMM produced 1 asset","details":["1200 Usable energy"],"subjects":[{"key":"amm:account:pool","label":"Energy / Credit AMM"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"consumed","label":"Internal Arbitrageur consumed 1 asset","details":["1200 Usable energy"],"subjects":[{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},{"key":"amm:asset:energy","label":"Usable energy"}]},{"kind":"produced","label":"Internal Arbitrageur produced 1 asset","details":["15871 Settlement credit"],"subjects":[{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},{"key":"amm:asset:credit","label":"Settlement credit"}]}],"observations":[]},{"index":14,"exchange":{"rate":{"key":"amm:rate:settleobligation-generator","label":"Solar Generator settles a credit obligation"},"units":"1","bindings":[{"role":{"key":"amm:role:consumer","label":"Consumer"},"account":{"key":"amm:account:actor-generator","label":"Solar Generator"}},{"role":{"key":"amm:role:treasury","label":"Treasury"},"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"}}]},"assessment":{"status":"applicable","accounts":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"available":[],"required":[],"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"available":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"81159"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"required":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}],"preserved":[]}],"projected_deltas":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}],"preserved":[]}],"shortfalls":[],"issues":[]},"receipt":{"deltas":[{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"consumed":[],"produced":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"}],"preserved":[]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"consumed":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"4000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"}],"produced":[{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"}],"preserved":[]}]},"before":{"index":14,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25871"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1300"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"81159"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50370"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4997"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"26000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"4997","quote_reserve":"50370","price_milli":"10080","product":"251698890","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"neutral","x":11.0,"y":44.0,"energy":"2000","credit":"81159","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"765","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"1300","credit":"25871","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"1109","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"81159","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"765","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"1300","unit":"units"},{"key":"credit","label":"Credit","value":"25871","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"1109","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.080","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"4997","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+36.974","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+9.272","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":7,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"-7.365","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-51.084","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"after":{"index":15,"accounts":[{"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"20000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"}]},{"account":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"25871"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1300"}]},{"account":{"key":"amm:account:actor-factory","label":"Factory"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"8000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1779"},{"asset":{"key":"amm:asset:satisfiedneed-factory","label":"Factory need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:settledobligation-factory","label":"Factory obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"1500"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"150"}]},{"account":{"key":"amm:account:actor-founder","label":"Founding LP"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"55000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"5000"},{"asset":{"key":"amm:asset:lpshare","label":"AMM liquidity share"},"quantity":"5000"}]},{"account":{"key":"amm:account:actor-generator","label":"Solar Generator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"77159"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"2000"},{"asset":{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"},"quantity":"1"},{"asset":{"key":"amm:asset:solarpotential","label":"Unharvested solar potential"},"quantity":"2700"}]},{"account":{"key":"amm:account:actor-household","label":"Household"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"14600"},{"asset":{"key":"amm:asset:satisfiedneed-household","label":"Household need satisfied"},"quantity":"1"},{"asset":{"key":"amm:asset:spentenergy","label":"Energy consumed toward goals"},"quantity":"350"},{"asset":{"key":"amm:asset:utility","label":"Realized utility"},"quantity":"100"}]},{"account":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"9000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"765"},{"asset":{"key":"amm:asset:informed-speculator","label":"Informed Speculator knows about the shortage"},"quantity":"1"}]},{"account":{"key":"amm:account:actor-whale","label":"Demand Whale"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"35000"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"1109"}]},{"account":{"key":"amm:account:information","label":"Scarcity Information"},"balances":[{"asset":{"key":"amm:asset:shortagesignal","label":"Verified energy shortage signal"},"quantity":"1"}]},{"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"50370"},{"asset":{"key":"amm:asset:energy","label":"Usable energy"},"quantity":"4997"},{"asset":{"key":"amm:asset:unissuedlpshare","label":"Unissued liquidity share"},"quantity":"995000"}]},{"account":{"key":"amm:account:treasury","label":"Closed-economy Treasury"},"balances":[{"asset":{"key":"amm:asset:credit","label":"Settlement credit"},"quantity":"30000"}]}],"scene":{"title":"The Living Market","surface":{"kind":"market","pool":{"id":{"key":"amm:pool:energy-credit","label":"Energy / Credit AMM"},"base_asset":{"key":"amm:asset:energy","label":"Energy"},"quote_asset":{"key":"amm:asset:credit","label":"Credit"},"base_reserve":"4997","quote_reserve":"50370","price_milli":"10080","product":"251698890","issued_liquidity":"5000","fee_numerator":997,"fee_denominator":1000,"account":"amm:account:pool"},"actors":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"account":"amm:account:actor-founder","glyph":"organization","tone":"success","x":12.0,"y":17.0,"energy":"5000","credit":"55000","liquidity":"5000","utility":"0","status":"liquidity provider"},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"account":"amm:account:actor-generator","glyph":"energy","tone":"success","x":11.0,"y":44.0,"energy":"2000","credit":"77159","liquidity":"0","utility":"0","status":"obligation settled"},{"id":{"key":"amm:actor:factory","label":"Factory"},"account":"amm:account:actor-factory","glyph":"machine","tone":"success","x":13.0,"y":72.0,"energy":"1779","credit":"8000","liquidity":"0","utility":"150","status":"need satisfied"},{"id":{"key":"amm:actor:household","label":"Household"},"account":"amm:account:actor-household","glyph":"person","tone":"success","x":36.0,"y":87.0,"energy":"0","credit":"14600","liquidity":"0","utility":"100","status":"need satisfied"},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"account":"amm:account:actor-speculator","glyph":"information","tone":"success","x":64.0,"y":87.0,"energy":"765","credit":"9000","liquidity":"0","utility":"0","status":"shortage informed"},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"account":"amm:account:actor-adaptivelp","glyph":"organization","tone":"neutral","x":87.0,"y":72.0,"energy":"2000","credit":"20000","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"account":"amm:account:actor-arbitrageur","glyph":"move","tone":"neutral","x":89.0,"y":44.0,"energy":"1300","credit":"25871","liquidity":"0","utility":"0"},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"account":"amm:account:actor-whale","glyph":"money","tone":"warning","x":88.0,"y":17.0,"energy":"1109","credit":"35000","liquidity":"0","utility":"0"}]},"entities":[{"id":{"key":"amm:actor:founder","label":"Founding LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"liquidity provider","account":"amm:account:actor-founder","evidence":[{"kind":"account","account":"amm:account:actor-founder"}],"metrics":[{"key":"energy","label":"Energy","value":"5000","unit":"units"},{"key":"credit","label":"Credit","value":"55000","unit":"credits"}]},{"id":{"key":"amm:actor:generator","label":"Solar Generator"},"glyph":"energy","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"obligation settled","account":"amm:account:actor-generator","evidence":[{"kind":"account","account":"amm:account:actor-generator"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"77159","unit":"credits"}]},{"id":{"key":"amm:actor:factory","label":"Factory"},"glyph":"machine","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-factory","evidence":[{"kind":"account","account":"amm:account:actor-factory"}],"metrics":[{"key":"energy","label":"Energy","value":"1779","unit":"units"},{"key":"credit","label":"Credit","value":"8000","unit":"credits"}]},{"id":{"key":"amm:actor:household","label":"Household"},"glyph":"person","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"need satisfied","account":"amm:account:actor-household","evidence":[{"kind":"account","account":"amm:account:actor-household"}],"metrics":[{"key":"energy","label":"Energy","value":"0","unit":"units"},{"key":"credit","label":"Credit","value":"14600","unit":"credits"}]},{"id":{"key":"amm:actor:speculator","label":"Informed Speculator"},"glyph":"information","anchor":{"kind":"unanchored"},"role":"occupant","tone":"success","status":"shortage informed","account":"amm:account:actor-speculator","evidence":[{"kind":"account","account":"amm:account:actor-speculator"}],"metrics":[{"key":"energy","label":"Energy","value":"765","unit":"units"},{"key":"credit","label":"Credit","value":"9000","unit":"credits"}]},{"id":{"key":"amm:actor:adaptive-lp","label":"Adaptive LP"},"glyph":"organization","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-adaptivelp","evidence":[{"kind":"account","account":"amm:account:actor-adaptivelp"}],"metrics":[{"key":"energy","label":"Energy","value":"2000","unit":"units"},{"key":"credit","label":"Credit","value":"20000","unit":"credits"}]},{"id":{"key":"amm:actor:arbitrageur","label":"Internal Arbitrageur"},"glyph":"move","anchor":{"kind":"unanchored"},"role":"occupant","tone":"neutral","account":"amm:account:actor-arbitrageur","evidence":[{"kind":"account","account":"amm:account:actor-arbitrageur"}],"metrics":[{"key":"energy","label":"Energy","value":"1300","unit":"units"},{"key":"credit","label":"Credit","value":"25871","unit":"credits"}]},{"id":{"key":"amm:actor:whale","label":"Demand Whale"},"glyph":"money","anchor":{"kind":"unanchored"},"role":"occupant","tone":"warning","account":"amm:account:actor-whale","evidence":[{"kind":"account","account":"amm:account:actor-whale"}],"metrics":[{"key":"energy","label":"Energy","value":"1109","unit":"units"},{"key":"credit","label":"Credit","value":"35000","unit":"credits"}]}],"paths":[],"annotations":[],"metrics":[{"key":"price","label":"Discovered price","value":"10.080","unit":"credit / energy"},{"key":"energy_reserve","label":"Energy reserve","value":"4997","unit":"energy"},{"key":"liquidity","label":"Liquidity shares","value":"5000","unit":"LP"}],"legend":[]},"leaderboards":[{"key":"price_contribution","label":"Direct price contribution","description":"Each actor's cumulative change in the replayed reserve price. Contributions sum exactly to total price movement because proportional liquidity does not move price.","direction":"maximize","entries":[{"rank":1,"participant":{"key":"amm:account:actor-whale","label":"Demand Whale"},"value":"+36.974","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":2,"participant":{"key":"amm:account:actor-factory","label":"Factory"},"value":"+9.616","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":3,"participant":{"key":"amm:account:actor-speculator","label":"Informed Speculator"},"value":"+9.272","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":4,"participant":{"key":"amm:account:actor-household","label":"Household"},"value":"+2.667","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-founder","label":"Founding LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":5,"participant":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"},"value":"0.000","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":7,"participant":{"key":"amm:account:actor-arbitrageur","label":"Internal Arbitrageur"},"value":"-7.365","unit":"Δ credit / energy","eligible":true,"components":[]},{"rank":8,"participant":{"key":"amm:account:actor-generator","label":"Solar Generator"},"value":"-51.084","unit":"Δ credit / energy","eligible":true,"components":[]}]}]},"cues":[{"kind":"atomic_exchange","label":"Solar Generator settles a credit obligation","details":["applied atomically · 2 roles bound · 2 accounts changed"],"subjects":[{"key":"amm:rate:settleobligation-generator","label":"Solar Generator settles a credit obligation"},{"key":"amm:role:consumer","label":"Consumer"},{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:role:treasury","label":"Treasury"},{"key":"amm:account:treasury","label":"Closed-economy Treasury"}]},{"kind":"produced","label":"Closed-economy Treasury produced 1 asset","details":["4000 Settlement credit"],"subjects":[{"key":"amm:account:treasury","label":"Closed-economy Treasury"},{"key":"amm:asset:credit","label":"Settlement credit"}]},{"kind":"consumed","label":"Solar Generator consumed 2 assets","details":["4000 Settlement credit","1 Solar Generator credit obligation"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:credit","label":"Settlement credit"},{"key":"amm:asset:obligation-generator","label":"Solar Generator credit obligation"}]},{"kind":"produced","label":"Solar Generator produced 1 asset","details":["1 Solar Generator obligation settled"],"subjects":[{"key":"amm:account:actor-generator","label":"Solar Generator"},{"key":"amm:asset:settledobligation-generator","label":"Solar Generator obligation settled"}]}],"observations":[]}],"objectives":[{"key":"needs","label":"Needs satisfied","direction":"maximize","value":"2"},{"key":"utility","label":"Realized utility","direction":"maximize","value":"250"},{"key":"depth","label":"Energy liquidity","direction":"maximize","value":"4997"}],"pareto_fronts":[],"proposals":[{"id":"impossible-minimum-output","label":"Demand more than the curve returns","description":"The trader supplies enough credit, but its minimum-output protection correctly refuses the AMM quote.","snapshot_index":0,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"10000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-factory","label":"Factory"}}],"parameters":[{"name":"minimum_output","value":"907"}]},"assessment":{"status":"invalid","accounts":[],"projected_deltas":[],"shortfalls":[],"issues":[{"kind":"rate_condition_failed","message":"Rate `Buy energy from the AMM` refused condition `minimum output`.","subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"}]}]}},{"id":"price-moving-liquidity","label":"Deposit liquidity at the wrong ratio","description":"Liquidity may deepen the discovered market price, but this rule refuses to rewrite that price by depositing an inconsistent reserve ratio.","snapshot_index":0,"exchange":{"rate":{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"},"units":"1","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"}}],"parameters":[{"name":"credit_amount","value":"9000"},{"name":"energy_amount","value":"1000"},{"name":"minimum_lp_shares","value":"1"}]},"assessment":{"status":"invalid","accounts":[],"projected_deltas":[],"shortfalls":[],"issues":[{"kind":"rate_condition_failed","message":"Rate `Deepen AMM liquidity` refused condition `liquidity must preserve the discovered price`.","subjects":[{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"}]}]}}],"telemetry":[{"algorithm":"verified market replay","exact":true,"points":[{"sequence":0,"kind":"transitions","value":"15","label":"authoritative exchanges"},{"sequence":1,"kind":"accounts","value":"11","label":"closed-economy accounts"},{"sequence":2,"kind":"alternatives","value":"8","label":"heterogeneous actors"}]},{"algorithm":"Model size","exact":true,"points":[{"sequence":0,"kind":"accounts","value":"11","label":"accounts"},{"sequence":1,"kind":"rates","value":"10","label":"rules"},{"sequence":2,"kind":"transitions","value":"15","label":"steps in this trace"},{"sequence":3,"kind":"constraints","value":"2","label":"rejection probes"},{"sequence":4,"kind":"alternatives","value":"3","label":"alternatives compared"}]}],"observations":[],"solve_observations":[{"sequence":0,"phase":"prepare","algorithm":"prepare","kind":"phase","label":"preparing amm · showcase","completed":0,"total":1,"metrics":[{"key":"completed","label":"Work completed","value":"0"},{"key":"remaining","label":"Work remaining","value":"1"}]},{"sequence":1,"phase":"artifact","algorithm":"artifact","kind":"artifact","label":"derived Living Market · endogenous price discovery","completed":1,"total":3,"metrics":[{"key":"completed","label":"Work completed","value":"1"},{"key":"remaining","label":"Work remaining","value":"2"}]},{"sequence":2,"phase":"artifact","algorithm":"artifact","kind":"artifact","label":"derived Living Market · without the demand whale","completed":2,"total":3,"metrics":[{"key":"completed","label":"Work completed","value":"2"},{"key":"remaining","label":"Work remaining","value":"1"}]},{"sequence":3,"phase":"artifact","algorithm":"artifact","kind":"artifact","label":"derived Living Market · thin-liquidity reality","completed":3,"total":3,"metrics":[{"key":"completed","label":"Work completed","value":"3"},{"key":"remaining","label":"Work remaining","value":"0"}]}]}],"assessed_proposals":[{"id":"impossible-minimum-output","label":"Demand more than the curve returns","description":"The trader supplies enough credit, but its minimum-output protection correctly refuses the AMM quote.","snapshot_index":0,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"10000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-factory","label":"Factory"}}],"parameters":[{"name":"minimum_output","value":"907"}]},"assessment":{"status":"invalid","accounts":[],"projected_deltas":[],"shortfalls":[],"issues":[{"kind":"rate_condition_failed","message":"Rate `Buy energy from the AMM` refused condition `minimum output`.","subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"}]}]}},{"id":"price-moving-liquidity","label":"Deposit liquidity at the wrong ratio","description":"Liquidity may deepen the discovered market price, but this rule refuses to rewrite that price by depositing an inconsistent reserve ratio.","snapshot_index":0,"exchange":{"rate":{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"},"units":"1","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"}}],"parameters":[{"name":"credit_amount","value":"9000"},{"name":"energy_amount","value":"1000"},{"name":"minimum_lp_shares","value":"1"}]},"assessment":{"status":"invalid","accounts":[],"projected_deltas":[],"shortfalls":[],"issues":[{"kind":"rate_condition_failed","message":"Rate `Deepen AMM liquidity` refused condition `liquidity must preserve the discovered price`.","subjects":[{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"}]}]}},{"id":"impossible-minimum-output","label":"Demand more than the curve returns","description":"The trader supplies enough credit, but its minimum-output protection correctly refuses the AMM quote.","snapshot_index":0,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"10000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-factory","label":"Factory"}}],"parameters":[{"name":"minimum_output","value":"907"}]},"assessment":{"status":"invalid","accounts":[],"projected_deltas":[],"shortfalls":[],"issues":[{"kind":"rate_condition_failed","message":"Rate `Buy energy from the AMM` refused condition `minimum output`.","subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"}]}]}},{"id":"price-moving-liquidity","label":"Deposit liquidity at the wrong ratio","description":"Liquidity may deepen the discovered market price, but this rule refuses to rewrite that price by depositing an inconsistent reserve ratio.","snapshot_index":0,"exchange":{"rate":{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"},"units":"1","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"}}],"parameters":[{"name":"credit_amount","value":"9000"},{"name":"energy_amount","value":"1000"},{"name":"minimum_lp_shares","value":"1"}]},"assessment":{"status":"invalid","accounts":[],"projected_deltas":[],"shortfalls":[],"issues":[{"kind":"rate_condition_failed","message":"Rate `Deepen AMM liquidity` refused condition `liquidity must preserve the discovered price`.","subjects":[{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"}]}]}},{"id":"impossible-minimum-output","label":"Demand more than the curve returns","description":"The trader supplies enough credit, but its minimum-output protection correctly refuses the AMM quote.","snapshot_index":0,"exchange":{"rate":{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"},"units":"10000","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:trader","label":"Trader"},"account":{"key":"amm:account:actor-factory","label":"Factory"}}],"parameters":[{"name":"minimum_output","value":"907"}]},"assessment":{"status":"invalid","accounts":[],"projected_deltas":[],"shortfalls":[],"issues":[{"kind":"rate_condition_failed","message":"Rate `Buy energy from the AMM` refused condition `minimum output`.","subjects":[{"key":"amm:rate:buyenergy","label":"Buy energy from the AMM"}]}]}},{"id":"price-moving-liquidity","label":"Deposit liquidity at the wrong ratio","description":"Liquidity may deepen the discovered market price, but this rule refuses to rewrite that price by depositing an inconsistent reserve ratio.","snapshot_index":0,"exchange":{"rate":{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"},"units":"1","bindings":[{"role":{"key":"amm:role:pool","label":"Pool"},"account":{"key":"amm:account:pool","label":"Energy / Credit AMM"}},{"role":{"key":"amm:role:liquidityprovider","label":"Liquidity Provider"},"account":{"key":"amm:account:actor-adaptivelp","label":"Adaptive LP"}}],"parameters":[{"name":"credit_amount","value":"9000"},{"name":"energy_amount","value":"1000"},{"name":"minimum_lp_shares","value":"1"}]},"assessment":{"status":"invalid","accounts":[],"projected_deltas":[],"shortfalls":[],"issues":[{"kind":"rate_condition_failed","message":"Rate `Deepen AMM liquidity` refused condition `liquidity must preserve the discovered price`.","subjects":[{"key":"amm:rate:addliquidity","label":"Deepen AMM liquidity"}]}]}}]} \ No newline at end of file diff --git a/studio/public/artifacts/catalog.json b/studio/public/artifacts/catalog.json index 3e18bab..f6abf45 100644 --- a/studio/public/artifacts/catalog.json +++ b/studio/public/artifacts/catalog.json @@ -1 +1 @@ -[{"key":"maze","title":"Key-door maze","summary":"Reach the exit under limited energy and time. The key-and-gate route saves energy, direct routes save time, and the exact frontier preserves four tradeoffs that one score would hide.","family":"pathfinding","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"The smallest maze with a key, a locked gate, and a real route choice","profile":"micro"},{"key":"showcase","label":"Showcase","description":"15 rooms, 24 passages, cycles, backtracking, a stateful gate, and four exact tradeoffs","profile":"showcase"},{"key":"stress","label":"Stress","description":"24 rooms and 40 passages across two cyclic districts","profile":"stress"}],"default_strategy":"a_star","strategies":[{"key":"breadth_first","label":"Fewest moves","description":"Breadth-first search: the shortest sequence, whatever it costs.","algorithm":"breadth-first search"},{"key":"dijkstra","label":"Least energy · uninformed","description":"Dijkstra proves the lowest-energy route without a heuristic.","algorithm":"Dijkstra"},{"key":"a_star","label":"Least energy","description":"A*, guided by an admissible distance estimate stored in the economy itself.","algorithm":"A*"},{"key":"pareto_energy","label":"Pareto: least energy","description":"The lowest-energy point on the exact Pareto frontier, where no route is better on both energy and time.","algorithm":"exact Pareto search"},{"key":"pareto_time","label":"Pareto: least time","description":"The fastest point on that exact frontier.","algorithm":"exact Pareto search"}],"capabilities":["deterministic_search","weighted_search","exact_pareto","feasibility_assessment"]},{"key":"sokoban","title":"Sokoban","summary":"Push crates onto their goal squares. Every push rewrites three cells at once, and some positions can never be recovered.","family":"pathfinding","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"A bounded one-crate teaching puzzle","profile":"micro"},{"key":"showcase","label":"Showcase","description":"A 9×7 warehouse with walls, two stable crates, and competing legal moves","profile":"showcase"},{"key":"stress","label":"Stress","description":"A 10×8 warehouse with three crates and a substantially larger search frontier","profile":"stress"}],"default_strategy":"a_star","strategies":[{"key":"a_star","label":"Goal-directed A*","description":"A* prioritises states using an admissible crate-to-goal distance bound.","algorithm":"A*"},{"key":"breadth_first","label":"Fewest exchanges","description":"Breadth-first search explores every shorter replay before accepting a solution.","algorithm":"breadth-first search"}],"capabilities":["deterministic_search","multi_account_exchange","feasibility_assessment"]},{"key":"exact_cover","title":"Exact cover","summary":"Choose subsets that cover every element exactly once. A plain search and Algorithm X reach the same answer by different routes.","family":"constraint","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Four elements and four competing subsets","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Eight elements and twelve subsets arranged as two interacting blocks","profile":"showcase"},{"key":"stress","label":"Stress","description":"Twelve elements and eighteen subsets with 27 competing exact covers","profile":"stress"}],"default_strategy":"algorithm_x","strategies":[{"key":"breadth_first","label":"Plain search","description":"Breadth-first search with no knowledge of cover structure; it just tries selections.","algorithm":"breadth-first search"},{"key":"algorithm_x","label":"Algorithm X","description":"Knuth's Algorithm X chooses the moves; the economy still validates every one.","algorithm":"Algorithm X"}],"capabilities":["deterministic_search","specialized_algorithm","feasibility_assessment"]},{"key":"workshop","title":"Workshop","summary":"Build the order from raw stock without creating or destroying material. The fastest plan and the least wasteful plan are not the same plan.","family":"production","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"One chair made from raw stock","profile":"micro"},{"key":"showcase","label":"Showcase","description":"A six-chair order with competing fast and low-waste recipes","profile":"showcase"},{"key":"stress","label":"Stress","description":"A ten-chair order with more material, labor, and production choices","profile":"stress"}],"default_strategy":"minimum_waste","strategies":[{"key":"breadth_first","label":"Fewest steps","description":"Breadth-first search: the fewest recipe firings, whatever they waste.","algorithm":"breadth-first search"},{"key":"minimum_waste","label":"Least waste","description":"Best-first search guided by scrap accumulated in the workshop account.","algorithm":"best-first search"},{"key":"pareto_waste","label":"Pareto: least waste","description":"The lowest-scrap point on the exact Pareto frontier.","algorithm":"exact Pareto search"},{"key":"pareto_time","label":"Pareto: least time","description":"The fastest point on that exact frontier.","algorithm":"exact Pareto search"}],"capabilities":["deterministic_search","weighted_search","exact_pareto","feasibility_assessment"]},{"key":"scheduling","title":"Job-shop scheduling","summary":"Fit every operation onto a machine without double-booking one or running a job out of order. Finishing one job early delays the other.","family":"scheduling","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Two jobs on the smallest horizon that still forces a machine conflict","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Six ordered operations across three machines and 18 time slots","profile":"showcase"},{"key":"stress","label":"Stress","description":"The same operations across a longer eight-slot decision horizon","profile":"stress"}],"default_strategy":"bounded_optimizer","strategies":[{"key":"best_first","label":"Shortest makespan","description":"Best-first search on the finish time recorded in the schedule.","algorithm":"best-first search"},{"key":"bounded_optimizer","label":"Branch optimizer","description":"Depth-first branch-and-bound abandons schedules it can already prove are worse.","algorithm":"branch-and-bound"},{"key":"pareto_job_one","label":"Pareto: Job One first","description":"The frontier schedule that finishes Job One earliest.","algorithm":"exact Pareto search"},{"key":"pareto_job_two","label":"Pareto: Job Two first","description":"The frontier schedule that finishes Job Two earliest.","algorithm":"exact Pareto search"}],"capabilities":["weighted_search","branch_optimization","exact_pareto","feasibility_assessment"]},{"key":"rescue","title":"Uncertain rescue","summary":"The survivor's location is unknown. Spend the sensor first, or commit immediately and risk searching the wrong site.","family":"partial_observation","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Two possible sites and eight hidden location/sensor outcomes","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Four possible sites, 32 outcomes, an unreliable sensor, and an evacuation leg","profile":"showcase"},{"key":"stress","label":"Stress","description":"Six possible sites, 72 outcomes, and at least 256 policy samples","profile":"stress"}],"default_strategy":"observe_then_follow","strategies":[{"key":"observe_then_follow","label":"Sense, then move","description":"Spend the sensor, read what Nature reports, then head for the reported site.","algorithm":"Monte Carlo policy evaluation"},{"key":"direct_north","label":"Go north immediately","description":"Skip the sensor and commit; the drawn scenario decides whether that pays off.","algorithm":"Monte Carlo policy evaluation"}],"capabilities":["partial_observation","chance","monte_carlo","approximate_pareto"]},{"key":"bridge","title":"Bridge allocation","summary":"One lane, two agents, both need it. Compare first-come priority against an auction that settles bids and access in indivisible steps.","family":"allocation","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"One crossing round for two agents and one lane","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Two allocation rounds with escrow, recharge, and retained credit","profile":"showcase"},{"key":"stress","label":"Stress","description":"Three bounded rounds where priority and spending affect later choices","profile":"stress"}],"default_strategy":"auction","strategies":[{"key":"breadth_first","label":"Plain search","description":"Breadth-first search for any valid crossing order.","algorithm":"breadth-first search"},{"key":"first_come_a","label":"First come: A","description":"Agent A gets the first crossing right by arrival order, not by bid.","algorithm":"first-come allocation"},{"key":"first_come_b","label":"First come: B","description":"Agent B gets the first crossing right by arrival order, not by bid.","algorithm":"first-come allocation"},{"key":"auction","label":"Auction","description":"Bids, winner, escrow, refunds, and crossing rights settle through indivisible changes.","algorithm":"auction mechanism"},{"key":"pareto_a","label":"Pareto: favors A","description":"The point on the exact frontier that is best for Agent A.","algorithm":"exact Pareto search"},{"key":"pareto_b","label":"Pareto: favors B","description":"The point on the exact frontier that is best for Agent B.","algorithm":"exact Pareto search"}],"capabilities":["deterministic_search","atomic_settlement","exact_pareto","multi_account_exchange"]},{"key":"marketplace","title":"Multi-party marketplace","summary":"Settle orders across buyers, sellers, carriers, the platform, and tax in one indivisible step. When it fails, you see exactly which account fell short and by how much.","family":"market","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Two orders across three buyers, three sellers, and one active carrier","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Four linked orders across 14 accounts sharing budget, stock, shipping capacity, and tax","profile":"showcase"},{"key":"stress","label":"Stress","description":"Six linked orders across 16 accounts with exactly enough stock and shipping capacity","profile":"stress"}],"default_strategy":"market_clearing","strategies":[{"key":"market_clearing","label":"Clear the market","description":"Pick orders that can all settle together without overdrawing any account.","algorithm":"market clearing"},{"key":"pareto_buyers","label":"Pareto: favors buyers","description":"The clearing on the exact frontier with the highest total buyer benefit.","algorithm":"exact Pareto clearing"},{"key":"pareto_sellers","label":"Pareto: favors sellers","description":"The clearing on the exact frontier with the highest total seller benefit.","algorithm":"exact Pareto clearing"}],"capabilities":["atomic_settlement","multi_account_exchange","feasibility_assessment","exact_pareto"]},{"key":"logistics","title":"Stochastic logistics","summary":"Deliver four orders through weather and breakdowns. The short route wins when nothing goes wrong; the long one finishes more often when things do.","family":"stochastic_planning","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Two deliveries with a compact route and a small sample budget","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Four deliveries with recurring weather and breakdowns","profile":"showcase"},{"key":"stress","label":"Stress","description":"The four-delivery network evaluated with at least 256 stochastic rollouts","profile":"stress"}],"default_strategy":"reliable","strategies":[{"key":"direct","label":"Direct route","description":"The shortest route, fastest when weather and breakdowns cooperate.","algorithm":"Monte Carlo policy evaluation"},{"key":"reliable","label":"Reliable route","description":"A longer route that completes more often when they do not.","algorithm":"Monte Carlo policy evaluation"},{"key":"mcts","label":"MCTS","description":"Monte Carlo tree search plans the next move by sampling how chance could unfold.","algorithm":"Monte Carlo tree search"}],"capabilities":["chance","monte_carlo","mcts","approximate_pareto"]},{"key":"connect_four","title":"Connect Four","summary":"A full game of Connect Four played by MCTS on both sides, with gravity and every winning line written as rules.","family":"adversarial_game","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"A compact board with a short game and few rollouts","profile":"micro"},{"key":"showcase","label":"Showcase","description":"The full 7×6 board and all 69 winning lines","profile":"showcase"},{"key":"stress","label":"Stress","description":"The full board with four times the MCTS work per move","profile":"stress"}],"default_strategy":"mcts_game","strategies":[{"key":"mcts_game","label":"MCTS self-play","description":"Monte Carlo tree search plays both colours until someone wins or the board fills.","algorithm":"Monte Carlo tree search"}],"capabilities":["mcts","multi_account_exchange"]},{"key":"work_league","title":"Autonomous Work League","summary":"Four autonomous workers compete for a finite job pool while spending energy, time, and materials under disruption. There is no single winner: value, speed, efficiency, waste, reliability, and Pareto standing can disagree after every move.","family":"multi_agent_competition","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Two agents contest four jobs in a short but complete match","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Four distinct policies contest 12 jobs across eight locations and shared facilities","profile":"showcase"},{"key":"stress","label":"Stress","description":"Four agents contest 24 jobs with a materially longer economic replay","profile":"stress"}],"default_strategy":"mixed_field","strategies":[{"key":"mixed_field","label":"Mixed policy field","description":"A sprinter, steward, value hunter, and resilient worker reveal genuine cross-objective tradeoffs.","algorithm":"deterministic policy league with seeded chance"},{"key":"throughput_field","label":"Throughput field","description":"Most workers prioritize short jobs and fast execution; one still chases contract value.","algorithm":"throughput-biased policy league with seeded chance"},{"key":"sustainable_field","label":"Sustainable field","description":"Most workers minimize material loss and recycle, while one specializes in reliability.","algorithm":"resource-biased policy league with seeded chance"}],"capabilities":["multi_account_exchange","atomic_settlement","chance","replay_derived_leaderboards","approximate_pareto","rl_projection"]},{"key":"mission","title":"Hidden-information mission","summary":"Two agents each see only part of the map. Compare sharing what they see before acting against both moving straight in.","family":"partial_observation","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Two hidden scenarios and one private sighting","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Sixteen hidden scenarios with private sightings, belief updates, and hazards","profile":"showcase"},{"key":"stress","label":"Stress","description":"The same mission evaluated with at least 256 belief-conditioned simulations","profile":"stress"}],"default_strategy":"coordinated","strategies":[{"key":"coordinated","label":"Scout, share, then move","description":"One agent looks, tells the other, and both act on the updated picture.","algorithm":"information-set policy evaluation"},{"key":"direct_north","label":"Both go north","description":"Neither agent looks or shares; replay keeps whatever goes wrong.","algorithm":"Monte Carlo policy evaluation"}],"capabilities":["information_set_search","partial_observation","chance","monte_carlo","approximate_pareto","rl_projection"]},{"key":"perishables","title":"Perishable inventory","summary":"Ten thousand units spoil by batch, not one at a time. Cooling costs energy, and a power outage forces the tradeoff.","family":"temporal_simulation","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"One hundred units split between two batches","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Ten thousand units with cooling, deadlines, and a power outage","profile":"showcase"},{"key":"stress","label":"Stress","description":"One million units using the same two batch-level condition facts","profile":"stress"}],"default_strategy":"outage","strategies":[{"key":"outage","label":"Power outage","description":"Refrigeration fails, and every batch past its deadline spoils at once.","algorithm":"indexed temporal effects"},{"key":"pareto_inventory","label":"Pareto: save stock","description":"The storage plan on the exact frontier that keeps the most usable units.","algorithm":"exact Pareto search"},{"key":"pareto_energy","label":"Pareto: save energy","description":"The storage plan that spends the least cooling energy.","algorithm":"exact Pareto search"}],"capabilities":["temporal_effects","fungible_cohorts","non_fungible_facts","exact_pareto"]}] \ No newline at end of file +[{"key":"maze","title":"Key-door maze","summary":"Reach the exit under limited energy and time. The key-and-gate route saves energy, direct routes save time, and the exact frontier preserves four tradeoffs that one score would hide.","family":"pathfinding","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"The smallest maze with a key, a locked gate, and a real route choice","profile":"micro"},{"key":"showcase","label":"Showcase","description":"15 rooms, 24 passages, cycles, backtracking, a stateful gate, and four exact tradeoffs","profile":"showcase"},{"key":"stress","label":"Stress","description":"24 rooms and 40 passages across two cyclic districts","profile":"stress"}],"default_strategy":"a_star","strategies":[{"key":"breadth_first","label":"Fewest moves","description":"Breadth-first search: the shortest sequence, whatever it costs.","algorithm":"breadth-first search"},{"key":"dijkstra","label":"Least energy · uninformed","description":"Dijkstra proves the lowest-energy route without a heuristic.","algorithm":"Dijkstra"},{"key":"a_star","label":"Least energy","description":"A*, guided by an admissible distance estimate stored in the economy itself.","algorithm":"A*"},{"key":"pareto_energy","label":"Pareto: least energy","description":"The lowest-energy point on the exact Pareto frontier, where no route is better on both energy and time.","algorithm":"exact Pareto search"},{"key":"pareto_time","label":"Pareto: least time","description":"The fastest point on that exact frontier.","algorithm":"exact Pareto search"}],"capabilities":["deterministic_search","weighted_search","exact_pareto","feasibility_assessment"]},{"key":"sokoban","title":"Sokoban","summary":"Push crates onto their goal squares. Every push rewrites three cells at once, and some positions can never be recovered.","family":"pathfinding","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"A bounded one-crate teaching puzzle","profile":"micro"},{"key":"showcase","label":"Showcase","description":"A 9×7 warehouse with walls, two stable crates, and competing legal moves","profile":"showcase"},{"key":"stress","label":"Stress","description":"A 10×8 warehouse with three crates and a substantially larger search frontier","profile":"stress"}],"default_strategy":"a_star","strategies":[{"key":"a_star","label":"Goal-directed A*","description":"A* prioritises states using an admissible crate-to-goal distance bound.","algorithm":"A*"},{"key":"breadth_first","label":"Fewest exchanges","description":"Breadth-first search explores every shorter replay before accepting a solution.","algorithm":"breadth-first search"}],"capabilities":["deterministic_search","multi_account_exchange","feasibility_assessment"]},{"key":"exact_cover","title":"Exact cover","summary":"Choose subsets that cover every element exactly once. A plain search and Algorithm X reach the same answer by different routes.","family":"constraint","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Four elements and four competing subsets","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Eight elements and twelve subsets arranged as two interacting blocks","profile":"showcase"},{"key":"stress","label":"Stress","description":"Twelve elements and eighteen subsets with 27 competing exact covers","profile":"stress"}],"default_strategy":"algorithm_x","strategies":[{"key":"breadth_first","label":"Plain search","description":"Breadth-first search with no knowledge of cover structure; it just tries selections.","algorithm":"breadth-first search"},{"key":"algorithm_x","label":"Algorithm X","description":"Knuth's Algorithm X chooses the moves; the economy still validates every one.","algorithm":"Algorithm X"}],"capabilities":["deterministic_search","specialized_algorithm","feasibility_assessment"]},{"key":"workshop","title":"Workshop","summary":"Build the order from raw stock without creating or destroying material. The fastest plan and the least wasteful plan are not the same plan.","family":"production","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"One chair made from raw stock","profile":"micro"},{"key":"showcase","label":"Showcase","description":"A six-chair order with competing fast and low-waste recipes","profile":"showcase"},{"key":"stress","label":"Stress","description":"A ten-chair order with more material, labor, and production choices","profile":"stress"}],"default_strategy":"minimum_waste","strategies":[{"key":"breadth_first","label":"Fewest steps","description":"Breadth-first search: the fewest recipe firings, whatever they waste.","algorithm":"breadth-first search"},{"key":"minimum_waste","label":"Least waste","description":"Best-first search guided by scrap accumulated in the workshop account.","algorithm":"best-first search"},{"key":"pareto_waste","label":"Pareto: least waste","description":"The lowest-scrap point on the exact Pareto frontier.","algorithm":"exact Pareto search"},{"key":"pareto_time","label":"Pareto: least time","description":"The fastest point on that exact frontier.","algorithm":"exact Pareto search"}],"capabilities":["deterministic_search","weighted_search","exact_pareto","feasibility_assessment"]},{"key":"scheduling","title":"Job-shop scheduling","summary":"Fit every operation onto a machine without double-booking one or running a job out of order. Finishing one job early delays the other.","family":"scheduling","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Two jobs on the smallest horizon that still forces a machine conflict","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Six ordered operations across three machines and 18 time slots","profile":"showcase"},{"key":"stress","label":"Stress","description":"The same operations across a longer eight-slot decision horizon","profile":"stress"}],"default_strategy":"bounded_optimizer","strategies":[{"key":"best_first","label":"Shortest makespan","description":"Best-first search on the finish time recorded in the schedule.","algorithm":"best-first search"},{"key":"bounded_optimizer","label":"Branch optimizer","description":"Depth-first branch-and-bound abandons schedules it can already prove are worse.","algorithm":"branch-and-bound"},{"key":"pareto_job_one","label":"Pareto: Job One first","description":"The frontier schedule that finishes Job One earliest.","algorithm":"exact Pareto search"},{"key":"pareto_job_two","label":"Pareto: Job Two first","description":"The frontier schedule that finishes Job Two earliest.","algorithm":"exact Pareto search"}],"capabilities":["weighted_search","branch_optimization","exact_pareto","feasibility_assessment"]},{"key":"rescue","title":"Uncertain rescue","summary":"The survivor's location is unknown. Spend the sensor first, or commit immediately and risk searching the wrong site.","family":"partial_observation","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Two possible sites and eight hidden location/sensor outcomes","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Four possible sites, 32 outcomes, an unreliable sensor, and an evacuation leg","profile":"showcase"},{"key":"stress","label":"Stress","description":"Six possible sites, 72 outcomes, and at least 256 policy samples","profile":"stress"}],"default_strategy":"observe_then_follow","strategies":[{"key":"observe_then_follow","label":"Sense, then move","description":"Spend the sensor, read what Nature reports, then head for the reported site.","algorithm":"Monte Carlo policy evaluation"},{"key":"direct_north","label":"Go north immediately","description":"Skip the sensor and commit; the drawn scenario decides whether that pays off.","algorithm":"Monte Carlo policy evaluation"}],"capabilities":["partial_observation","chance","monte_carlo","approximate_pareto"]},{"key":"bridge","title":"Bridge allocation","summary":"One lane, two agents, both need it. Compare first-come priority against an auction that settles bids and access in indivisible steps.","family":"allocation","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"One crossing round for two agents and one lane","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Two allocation rounds with escrow, recharge, and retained credit","profile":"showcase"},{"key":"stress","label":"Stress","description":"Three bounded rounds where priority and spending affect later choices","profile":"stress"}],"default_strategy":"auction","strategies":[{"key":"breadth_first","label":"Plain search","description":"Breadth-first search for any valid crossing order.","algorithm":"breadth-first search"},{"key":"first_come_a","label":"First come: A","description":"Agent A gets the first crossing right by arrival order, not by bid.","algorithm":"first-come allocation"},{"key":"first_come_b","label":"First come: B","description":"Agent B gets the first crossing right by arrival order, not by bid.","algorithm":"first-come allocation"},{"key":"auction","label":"Auction","description":"Bids, winner, escrow, refunds, and crossing rights settle through indivisible changes.","algorithm":"auction mechanism"},{"key":"pareto_a","label":"Pareto: favors A","description":"The point on the exact frontier that is best for Agent A.","algorithm":"exact Pareto search"},{"key":"pareto_b","label":"Pareto: favors B","description":"The point on the exact frontier that is best for Agent B.","algorithm":"exact Pareto search"}],"capabilities":["deterministic_search","atomic_settlement","exact_pareto","multi_account_exchange"]},{"key":"amm","title":"The Living Market","summary":"Watch a closed economy discover its only public price. Production, real needs, beliefs, liquidity, speculation, and internal arbitrage move an exact constant-product AMM with no oracle or outside market.","family":"market","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"A compact closed market that exposes every reserve calculation and refusal","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Eight heterogeneous actors discover value through production, consumption, liquidity, information, and exchange","profile":"showcase"},{"key":"stress","label":"Stress","description":"A four-times-deeper economy with proportionally larger flows and the same exact replay guarantees","profile":"stress"}],"default_strategy":"market_day","strategies":[{"key":"market_day","label":"Endogenous market day","description":"The complete closed-economy price-discovery story, including a demand shock and supply response.","algorithm":"verified autonomous market replay"},{"key":"no_whale","label":"Counterfactual: no whale","description":"Replay the same economy without its largest buyer and inspect the causal price difference.","algorithm":"counterfactual replay"},{"key":"thin_liquidity","label":"Counterfactual: thin liquidity","description":"Withdraw half the founding liquidity before trading and observe amplified price impact.","algorithm":"counterfactual replay"}],"capabilities":["atomic_settlement","multi_account_exchange","feasibility_assessment","replay_derived_leaderboards","non_fungible_facts"]},{"key":"marketplace","title":"Multi-party marketplace","summary":"Settle orders across buyers, sellers, carriers, the platform, and tax in one indivisible step. When it fails, you see exactly which account fell short and by how much.","family":"market","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Two orders across three buyers, three sellers, and one active carrier","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Four linked orders across 14 accounts sharing budget, stock, shipping capacity, and tax","profile":"showcase"},{"key":"stress","label":"Stress","description":"Six linked orders across 16 accounts with exactly enough stock and shipping capacity","profile":"stress"}],"default_strategy":"market_clearing","strategies":[{"key":"market_clearing","label":"Clear the market","description":"Pick orders that can all settle together without overdrawing any account.","algorithm":"market clearing"},{"key":"pareto_buyers","label":"Pareto: favors buyers","description":"The clearing on the exact frontier with the highest total buyer benefit.","algorithm":"exact Pareto clearing"},{"key":"pareto_sellers","label":"Pareto: favors sellers","description":"The clearing on the exact frontier with the highest total seller benefit.","algorithm":"exact Pareto clearing"}],"capabilities":["atomic_settlement","multi_account_exchange","feasibility_assessment","exact_pareto"]},{"key":"logistics","title":"Stochastic logistics","summary":"Deliver four orders through weather and breakdowns. The short route wins when nothing goes wrong; the long one finishes more often when things do.","family":"stochastic_planning","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Two deliveries with a compact route and a small sample budget","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Four deliveries with recurring weather and breakdowns","profile":"showcase"},{"key":"stress","label":"Stress","description":"The four-delivery network evaluated with at least 256 stochastic rollouts","profile":"stress"}],"default_strategy":"reliable","strategies":[{"key":"direct","label":"Direct route","description":"The shortest route, fastest when weather and breakdowns cooperate.","algorithm":"Monte Carlo policy evaluation"},{"key":"reliable","label":"Reliable route","description":"A longer route that completes more often when they do not.","algorithm":"Monte Carlo policy evaluation"},{"key":"mcts","label":"MCTS","description":"Monte Carlo tree search plans the next move by sampling how chance could unfold.","algorithm":"Monte Carlo tree search"}],"capabilities":["chance","monte_carlo","mcts","approximate_pareto"]},{"key":"connect_four","title":"Connect Four","summary":"A full game of Connect Four played by MCTS on both sides, with gravity and every winning line written as rules.","family":"adversarial_game","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"A compact board with a short game and few rollouts","profile":"micro"},{"key":"showcase","label":"Showcase","description":"The full 7×6 board and all 69 winning lines","profile":"showcase"},{"key":"stress","label":"Stress","description":"The full board with four times the MCTS work per move","profile":"stress"}],"default_strategy":"mcts_game","strategies":[{"key":"mcts_game","label":"MCTS self-play","description":"Monte Carlo tree search plays both colours until someone wins or the board fills.","algorithm":"Monte Carlo tree search"}],"capabilities":["mcts","multi_account_exchange"]},{"key":"work_league","title":"Autonomous Work League","summary":"Four autonomous workers compete for a finite job pool while spending energy, time, and materials under disruption. There is no single winner: value, speed, efficiency, waste, reliability, and Pareto standing can disagree after every move.","family":"multi_agent_competition","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Two agents contest four jobs in a short but complete match","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Four distinct policies contest 12 jobs across eight locations and shared facilities","profile":"showcase"},{"key":"stress","label":"Stress","description":"Four agents contest 24 jobs with a materially longer economic replay","profile":"stress"}],"default_strategy":"mixed_field","strategies":[{"key":"mixed_field","label":"Mixed policy field","description":"A sprinter, steward, value hunter, and resilient worker reveal genuine cross-objective tradeoffs.","algorithm":"deterministic policy league with seeded chance"},{"key":"throughput_field","label":"Throughput field","description":"Most workers prioritize short jobs and fast execution; one still chases contract value.","algorithm":"throughput-biased policy league with seeded chance"},{"key":"sustainable_field","label":"Sustainable field","description":"Most workers minimize material loss and recycle, while one specializes in reliability.","algorithm":"resource-biased policy league with seeded chance"}],"capabilities":["multi_account_exchange","atomic_settlement","chance","replay_derived_leaderboards","approximate_pareto","rl_projection"]},{"key":"mission","title":"Hidden-information mission","summary":"Two agents each see only part of the map. Compare sharing what they see before acting against both moving straight in.","family":"partial_observation","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"Two hidden scenarios and one private sighting","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Sixteen hidden scenarios with private sightings, belief updates, and hazards","profile":"showcase"},{"key":"stress","label":"Stress","description":"The same mission evaluated with at least 256 belief-conditioned simulations","profile":"stress"}],"default_strategy":"coordinated","strategies":[{"key":"coordinated","label":"Scout, share, then move","description":"One agent looks, tells the other, and both act on the updated picture.","algorithm":"information-set policy evaluation"},{"key":"direct_north","label":"Both go north","description":"Neither agent looks or shares; replay keeps whatever goes wrong.","algorithm":"Monte Carlo policy evaluation"}],"capabilities":["information_set_search","partial_observation","chance","monte_carlo","approximate_pareto","rl_projection"]},{"key":"perishables","title":"Perishable inventory","summary":"Ten thousand units spoil by batch, not one at a time. Cooling costs energy, and a power outage forces the tradeoff.","family":"temporal_simulation","default_instance":"showcase","instances":[{"key":"micro","label":"Micro","description":"One hundred units split between two batches","profile":"micro"},{"key":"showcase","label":"Showcase","description":"Ten thousand units with cooling, deadlines, and a power outage","profile":"showcase"},{"key":"stress","label":"Stress","description":"One million units using the same two batch-level condition facts","profile":"stress"}],"default_strategy":"outage","strategies":[{"key":"outage","label":"Power outage","description":"Refrigeration fails, and every batch past its deadline spoils at once.","algorithm":"indexed temporal effects"},{"key":"pareto_inventory","label":"Pareto: save stock","description":"The storage plan on the exact frontier that keeps the most usable units.","algorithm":"exact Pareto search"},{"key":"pareto_energy","label":"Pareto: save energy","description":"The storage plan that spends the least cooling energy.","algorithm":"exact Pareto search"}],"capabilities":["temporal_effects","fungible_cohorts","non_fungible_facts","exact_pareto"]}] \ No newline at end of file diff --git a/studio/src/App.tsx b/studio/src/App.tsx index e76147d..305cffe 100644 --- a/studio/src/App.tsx +++ b/studio/src/App.tsx @@ -400,16 +400,16 @@ export function App() {
- - - - - + + + + + {engine.canPause && run?.status === "running" && } {engine.canPause && run?.status === "paused" && } {run && } - +
{active ? "A newly computed result will replace the current view." : engine.canRun ? "The CLI, HTTP API, MCP server, and Studio all run this same problem the same way." : "No engine running — you can still replay the saved results."}
@@ -447,7 +447,7 @@ export function App() {
{hasBoards && { writeUrl(urlState({ leaderboard: key }), "push"); setLeaderboardKey(key); }} onParticipant={setFocusedAccount} />}
@@ -520,7 +520,7 @@ function SolveWorkspace({ scene, observations, active }: { scene?: Scene | null;
{active ? "Live solver observations" : "Saved solver observations"}{active ? "Progress reported by the search as it runs" : "Saved with the result, so you can review it later"}
{observations.length} observations
{latest &&
Current phase{phaseLabel(latest.phase)}
Algorithm{algorithmLabel(latest.algorithm)}
Progress{latest.total === 0 ? `${latest.completed} expanded` : `${latest.completed} / ${latest.total}`}
Evidence{kinds.join(" · ").replaceAll("_", " ")}
} {latest && latest.total > 0 && } - {observations.length > 1 &&
setCursor(Number(event.target.value))} aria-label="Solver observation position" />
} + {observations.length > 1 &&
setCursor(Number(event.target.value))} aria-label="Solver observation position" />
}
{solverScene &&
Search through encoded economic states{latest?.label ?? "Waiting for an expansion"}
}
{observations.length === 0 ?
Waiting for the first solver checkpoint…
: observations.map((observation, index) => )}
@@ -674,7 +674,7 @@ function LeaderboardDock({ document, snapshot, previous, position, selectedKey, const snapshots = [document.initial, ...document.frames.slice(0, position).map((frame) => frame.after)]; return
Live comparative outcomesWho is winning depends on what you value
Economic step {snapshot.index}
- +
{selected.label}{selected.description}
{selected.entries.map((entry) => { const prior = previousBoard?.entries.find((candidate) => candidate.participant.key === entry.participant.key); @@ -736,7 +736,7 @@ function formatDuration(milliseconds: number): string { } function PlaybackControls({ position, count, playing, delay, onDelay, onPosition, onPlaying, frame, onShare, shared }: { position: number; count: number; playing: boolean; delay: number; onDelay: (delay: number) => void; onPosition: (position: number, motion: ReplayMotionMode) => void; onPlaying: (playing: boolean) => void; frame?: ExchangeFrame; onShare?: () => void; shared?: boolean }) { - return
{position === 0 ? "Initial state" : frame?.cues[0]?.label ?? frame?.exchange.rate.label}{position} / {count}
onPosition(Number(event.target.value), "seek")} />
{onShare && }
replay verified
; + return
{position === 0 ? "Initial state" : frame?.cues[0]?.label ?? frame?.exchange.rate.label}{position} / {count}
onPosition(Number(event.target.value), "seek")} />
{onShare && }
replay verified
; } function eventMessage(event: StudioEvent): string { diff --git a/studio/src/Inspectors.tsx b/studio/src/Inspectors.tsx index a0c8b94..6c892ae 100644 --- a/studio/src/Inspectors.tsx +++ b/studio/src/Inspectors.tsx @@ -92,6 +92,7 @@ export function Transition({ frame }: { frame?: ExchangeFrame }) {
{frame.exchange.bindings.map((binding) => {binding.role.label}{binding.account.label})} Units{frame.exchange.units} + {frame.exchange.parameters?.map((parameter) => {parameter.name.replaceAll("_", " ")}{parameter.value})}
Projected deltas {JSON.stringify(frame.assessment.projected_deltas) === JSON.stringify(frame.receipt.deltas) ? "match" : "do not match"} the receipt
@@ -118,6 +119,7 @@ export function ProposalInspector({ proposals }: { proposals: ProposalView[] })
Rate{selected.exchange.rate.label} {selected.exchange.bindings.map((binding) => {binding.role.label}{binding.account.label})} + {selected.exchange.parameters?.map((parameter) => {parameter.name.replaceAll("_", " ")}{parameter.value})}
; @@ -161,10 +163,14 @@ export function ModelExplorer({ document }: { document: ViewDocument }) { if (rate && !visibleRates.some((candidate) => candidate.rate.key === rate.rate.key)) visibleRates.unshift(rate); return
-
+
{matchingRates.length > visibleRates.length &&

Showing the first 200 matches; refine the filter to inspect the rest.

} {rate &&
{rate.roles.map((role) =>

{role.role.label}

)} + {rate.computed_consumed?.map((amount, index) => )} + {rate.computed_produced?.map((amount, index) => )} + {rate.computed_preserved?.map((amount, index) => )} + {rate.conditions?.map((condition) =>

{condition.name}

{condition.left} {condition.comparison} {condition.right}
)} {rate.distinct_roles.length > 0 &&

Distinct accounts: {rate.distinct_roles.map((pair) => pair.map((role) => role.label).join(" ≠ ")).join(", ")}

}
}
@@ -182,6 +188,10 @@ function RateBasket({ label, values }: { label: string; values: QuantityValue[] return
{label}{values.map((value) => {value.asset.label} ×{value.quantity})}
; } +function ComputedRateAmount({ label, amount }: { label: string; amount: { role: { key: string; label: string }; asset: { key: string; label: string }; quantity: string } }) { + return

{amount.role.label}

{label}{amount.asset.label}{amount.quantity}
; +} + export function Observations({ document }: { document: ViewDocument }) { if (document.observations.length === 0) return
This problem has no actor-relative observation boundary.
; return
diff --git a/studio/src/SceneView.test.ts b/studio/src/SceneView.test.ts index 14d624a..2d3ef73 100644 --- a/studio/src/SceneView.test.ts +++ b/studio/src/SceneView.test.ts @@ -1,6 +1,8 @@ -import { describe, expect, test } from "vitest"; -import type { ExchangeFrame, SceneEntity } from "./api"; -import { graphEdgeSides, sceneEntityEffect } from "./SceneView"; +import React from "react"; +import { render, screen } from "@testing-library/react"; +import { describe, expect, test, vi } from "vitest"; +import type { ExchangeFrame, Scene, SceneEntity } from "./api"; +import { SceneView, graphEdgeSides, sceneEntityEffect } from "./SceneView"; const entity = { id: { key: "stock:wood", label: "Wood" }, @@ -49,3 +51,51 @@ describe("graphEdgeSides", () => { expect(graphEdgeSides({ x: 120, y: 280 }, { x: 100, y: 20 })).toEqual({ source: "top", target: "bottom" }); }); }); + +describe("Living Market scene", () => { + test("renders exact reserves and links actor selection to its account", () => { + const onAccount = vi.fn(); + const scene = { + title: "The Living Market", + surface: { + kind: "market", + pool: { + id: { key: "amm:pool", label: "Energy / Credit AMM" }, + base_asset: { key: "amm:asset:energy", label: "Energy" }, + quote_asset: { key: "amm:asset:credit", label: "Credit" }, + base_reserve: "10000", + quote_reserve: "100000", + price_milli: "10000", + product: "1000000000", + issued_liquidity: "10000", + fee_numerator: 997, + fee_denominator: 1000, + account: "amm:account:pool", + }, + actors: [{ + id: { key: "amm:actor:factory", label: "Factory" }, + account: "amm:account:actor-factory", + glyph: "machine", + tone: "neutral", + x: 15, + y: 50, + energy: "0", + credit: "40000", + liquidity: "0", + utility: "0", + }], + }, + entities: [], + paths: [], + annotations: [], + metrics: [], + legend: [], + } as Scene; + + render(React.createElement(SceneView, { scene, history: [scene], onAccount })); + expect(screen.getByRole("button", { name: /AMM pool.*10.000.*10,000.*100,000/ })).toBeInTheDocument(); + screen.getByRole("button", { name: /Factory: 0 energy, 40000 credit/ }).click(); + expect(onAccount).toHaveBeenCalledWith("amm:account:actor-factory"); + expect(screen.getByRole("img", { name: /Discovered price history/ })).toBeInTheDocument(); + }); +}); diff --git a/studio/src/SceneView.tsx b/studio/src/SceneView.tsx index e568bde..67b8477 100644 --- a/studio/src/SceneView.tsx +++ b/studio/src/SceneView.tsx @@ -16,25 +16,158 @@ import { SceneIcon } from "./SceneIcon"; export type ReplayMotionMode = "step" | "seek"; -export function SceneView({ scene, previousScene, frame, motion = "step", onAccount }: { scene?: Scene | null; previousScene?: Scene | null; frame?: ExchangeFrame; motion?: ReplayMotionMode; onAccount?: (account: string) => void }) { +export function SceneView({ scene, previousScene, history = [], frame, motion = "step", onAccount }: { scene?: Scene | null; previousScene?: Scene | null; history?: Scene[]; frame?: ExchangeFrame; motion?: ReplayMotionMode; onAccount?: (account: string) => void }) { if (!scene) { return
No picture for this problem — the accounts below still show everything.
; } return
- +
; } -function SceneSurfaceView({ scene, previousScene, frame, motion, onAccount }: { scene: Scene; previousScene?: Scene | null; frame?: ExchangeFrame; motion: ReplayMotionMode; onAccount?: (account: string) => void }) { +function SceneSurfaceView({ scene, previousScene, history, frame, motion, onAccount }: { scene: Scene; previousScene?: Scene | null; history: Scene[]; frame?: ExchangeFrame; motion: ReplayMotionMode; onAccount?: (account: string) => void }) { switch (scene.surface.kind) { case "graph": return ; case "grid": return ; case "matrix": return ; case "timeline": return ; + case "market": return ; } } +type MarketSurface = Extract; + +function marketSurfaces(scenes: Scene[]): MarketSurface[] { + return scenes.flatMap((candidate) => candidate.surface.kind === "market" ? [candidate.surface] : []); +} + +function exactNumber(value: string): number { + const parsed = Number(value); + return Number.isFinite(parsed) ? parsed : 0; +} + +function MarketScene({ scene, history, frame, surface, onAccount }: { scene: Scene; history: Scene[]; frame?: ExchangeFrame; surface: MarketSurface; onAccount?: (account: string) => void }) { + const previousMarkets = marketSurfaces(history); + const markets = previousMarkets.at(-1)?.pool.price_milli === surface.pool.price_milli + ? previousMarkets + : [...previousMarkets, surface]; + const energy = exactNumber(surface.pool.base_reserve); + const credit = exactNumber(surface.pool.quote_reserve); + const price = exactNumber(surface.pool.price_milli) / 1000; + const energyMax = Math.max(1, ...markets.map((market) => exactNumber(market.pool.base_reserve))); + const creditMax = Math.max(1, ...markets.map((market) => exactNumber(market.pool.quote_reserve))); + const activeBinding = frame?.exchange.bindings.find((binding) => binding.role.label === "Trader" || binding.role.label === "Liquidity Provider"); + const activeAccount = activeBinding?.account.key; + const rateKey = frame?.exchange.rate.key ?? ""; + const direction = rateKey.includes("buyenergy") ? "buy" : rateKey.includes("sellenergy") ? "sell" : rateKey.includes("liquidity") ? "liquidity" : "state"; + const activeActor = surface.actors.find((actor) => actor.account === activeAccount); + const previousPool = frame?.before.scene?.surface.kind === "market" ? frame.before.scene.surface.pool : undefined; + const energyDelta = previousPool ? energy - exactNumber(previousPool.base_reserve) : 0; + const creditDelta = previousPool ? credit - exactNumber(previousPool.quote_reserve) : 0; + const poolStyle = { + "--energy-fill": `${Math.max(18, energy / energyMax * 100)}%`, + "--credit-fill": `${Math.max(18, credit / creditMax * 100)}%`, + } as CSSProperties; + const stepLabel = activeActor + ? `${activeActor.id.label} · ${direction === "buy" ? "buys energy" : direction === "sell" ? "sells energy" : "changes market depth"}` + : frame?.exchange.rate.label ?? "Opening reserve ratio establishes the first price hypothesis"; + + return
+
+ + Closed-economy market relationships + {surface.actors.map((actor) => )} + +
{stepLabel}{frame && {energyDelta !== 0 ? `${energyDelta > 0 ? "+" : ""}${energyDelta.toLocaleString()} E` : ""}{energyDelta !== 0 && creditDelta !== 0 ? " · " : ""}{creditDelta !== 0 ? `${creditDelta > 0 ? "+" : ""}${creditDelta.toLocaleString()} C` : ""}}
+ {surface.actors.map((actor) => )} + +
+
+ + +
+
; +} + +function MarketPriceHistory({ markets }: { markets: MarketSurface[] }) { + const width = 520; + const height = 132; + const padding = { left: 42, right: 18, top: 20, bottom: 25 }; + const values = markets.map((market) => exactNumber(market.pool.price_milli) / 1000); + const low = Math.min(...values); + const high = Math.max(...values); + const spread = Math.max(.001, high - low); + const x = (index: number) => padding.left + (values.length <= 1 ? 0 : index / (values.length - 1) * (width - padding.left - padding.right)); + const y = (value: number) => padding.top + (high - value) / spread * (height - padding.top - padding.bottom); + const path = values.map((value, index) => `${index === 0 ? "M" : "L"}${x(index).toFixed(1)},${y(value).toFixed(1)}`).join(" "); + const current = values.at(-1) ?? 0; + return + Discovered price through accepted exchanges + The reserve ratio is the closed economy's only public marginal price. + Discovered price + + + {high.toFixed(1)} + {low.toFixed(1)} + opening + step {Math.max(0, values.length - 1)} + + {values.map((value, index) => )} + {current.toFixed(3)} + ; +} + +function MarketBondingCurve({ surface }: { surface: MarketSurface }) { + const width = 420; + const height = 132; + const padding = { left: 38, right: 20, top: 20, bottom: 25 }; + const reserve = Math.max(1, exactNumber(surface.pool.base_reserve)); + const quote = Math.max(1, exactNumber(surface.pool.quote_reserve)); + const product = Math.max(1, exactNumber(surface.pool.product)); + const minX = reserve * .42; + const maxX = reserve * 1.85; + const samples = Array.from({ length: 48 }, (_, index) => minX + index / 47 * (maxX - minX)); + const quotes = samples.map((value) => product / value); + const minY = Math.min(...quotes); + const maxY = Math.max(...quotes); + const sx = (value: number) => padding.left + (value - minX) / (maxX - minX) * (width - padding.left - padding.right); + const sy = (value: number) => padding.top + (maxY - value) / (maxY - minY) * (height - padding.top - padding.bottom); + const path = samples.map((value, index) => `${index === 0 ? "M" : "L"}${sx(value).toFixed(1)},${sy(quotes[index]).toFixed(1)}`).join(" "); + return + Constant-product reserve curve + The point moves along the curve as actors exchange energy and credit. + Reserve curve · xy = k + + + Credit + Energy reserve + + + + + {reserve.toLocaleString()} E · {quote.toLocaleString()} C + ; +} + function SceneChrome({ scene }: { scene: Scene }) { if (scene.metrics.length === 0 && scene.legend.length === 0 && scene.annotations.length === 0) return null; return
diff --git a/studio/src/generated/api.d.ts b/studio/src/generated/api.d.ts index c0d7aad..0c0fbe1 100644 --- a/studio/src/generated/api.d.ts +++ b/studio/src/generated/api.d.ts @@ -209,7 +209,7 @@ export interface components { artifact_id: string; }; /** @enum {string} */ - AssessmentIssueKindView: "missing_rate" | "missing_binding" | "unknown_binding" | "roles_must_differ" | "missing_account" | "zero_units" | "rate_overflow" | "infeasible" | "balance_overflow" | "invariant_overflow" | "invariant_violation"; + AssessmentIssueKindView: "missing_rate" | "missing_binding" | "unknown_binding" | "roles_must_differ" | "missing_account" | "zero_units" | "missing_parameter" | "unknown_parameter" | "rate_overflow" | "rate_law_evaluation" | "rate_condition_failed" | "infeasible" | "balance_overflow" | "invariant_overflow" | "invariant_violation"; /** * @description One structured reason why a proposal is invalid. * @@ -237,6 +237,11 @@ export interface components { }; /** @enum {string} */ Capability: "deterministic_search" | "weighted_search" | "specialized_algorithm" | "exact_pareto" | "approximate_pareto" | "feasibility_assessment" | "multi_account_exchange" | "atomic_settlement" | "branch_optimization" | "monte_carlo" | "mcts" | "information_set_search" | "partial_observation" | "chance" | "temporal_effects" | "fungible_cohorts" | "non_fungible_facts" | "rl_projection" | "replay_derived_leaderboards"; + ComputedRateAmountView: { + asset: components["schemas"]["ViewId"]; + quantity: string; + role: components["schemas"]["ViewId"]; + }; ErrorResponse: { error: string; }; @@ -255,8 +260,13 @@ export interface components { observations: components["schemas"]["ObservationView"][]; receipt: components["schemas"]["ReceiptView"]; }; + ExchangeParameterView: { + name: string; + value: components["schemas"]["ExactQuantity"]; + }; ExchangeView: { bindings: components["schemas"]["RoleBindingView"][]; + parameters?: components["schemas"]["ExchangeParameterView"][]; rate: components["schemas"]["ViewId"]; units: components["schemas"]["ExactQuantity"]; }; @@ -391,6 +401,45 @@ export interface components { key: string; label: string; }; + /** + * @description One participant positioned around a market pool. Balances and status are + * replay-derived presentation data linked back to the represented account. + */ + MarketActorView: { + account: string; + credit: components["schemas"]["ExactQuantity"]; + energy: components["schemas"]["ExactQuantity"]; + glyph: components["schemas"]["SceneGlyphView"]; + id: components["schemas"]["ViewId"]; + liquidity: components["schemas"]["ExactQuantity"]; + status?: string | null; + tone: components["schemas"]["SceneToneView"]; + utility: components["schemas"]["ExactQuantity"]; + /** Format: double */ + x: number; + /** Format: double */ + y: number; + }; + /** + * @description One constant-product pool projected from an authoritative replay snapshot. + * Values remain exact text so renderers cannot silently round economic state. + */ + MarketPoolView: { + account: string; + base_asset: components["schemas"]["ViewId"]; + base_reserve: components["schemas"]["ExactQuantity"]; + /** Format: uint64 */ + fee_denominator: number; + /** Format: uint64 */ + fee_numerator: number; + id: components["schemas"]["ViewId"]; + issued_liquidity: components["schemas"]["ExactQuantity"]; + /** @description Quote per base, scaled by 1,000. */ + price_milli: components["schemas"]["ExactQuantity"]; + product: components["schemas"]["ExactQuantity"]; + quote_asset: components["schemas"]["ViewId"]; + quote_reserve: components["schemas"]["ExactQuantity"]; + }; MatrixCellView: { /** @default [] */ classes: string[]; @@ -467,6 +516,12 @@ export interface components { /** Format: uint64 */ snapshot_index: number; }; + RateConditionView: { + comparison: string; + left: string; + name: string; + right: string; + }; /** @description A rate role's complete consume/produce/preserve contract. */ RateRoleView: { consumed: components["schemas"]["AssetQuantityView"][]; @@ -476,6 +531,10 @@ export interface components { }; /** @description One immutable transition rule in the closed model. */ RateView: { + computed_consumed?: components["schemas"]["ComputedRateAmountView"][]; + computed_preserved?: components["schemas"]["ComputedRateAmountView"][]; + computed_produced?: components["schemas"]["ComputedRateAmountView"][]; + conditions?: components["schemas"]["RateConditionView"][]; distinct_roles: components["schemas"]["ViewId"][][]; rate: components["schemas"]["ViewId"]; roles: components["schemas"]["RateRoleView"][]; @@ -688,6 +747,11 @@ export interface components { kind: "timeline"; lanes: components["schemas"]["TimelineLaneView"][]; spans: components["schemas"]["TimelineSpanView"][]; + } | { + actors: components["schemas"]["MarketActorView"][]; + /** @constant */ + kind: "market"; + pool: components["schemas"]["MarketPoolView"]; }; /** @enum {string} */ SceneToneView: "neutral" | "active" | "goal" | "success" | "warning" | "danger" | "uncertain" | "muted"; diff --git a/studio/src/styles.css b/studio/src/styles.css index 9621d6e..0fdc71c 100644 --- a/studio/src/styles.css +++ b/studio/src/styles.css @@ -243,6 +243,49 @@ input[type="range"] { width: 100%; accent-color: var(--accent); } .tone-danger { color: var(--debit) !important; } .tone-muted { opacity: .55; } .graph-scene { flex: 1; min-height: 0; position: relative; background: radial-gradient(circle at 50% 44%, #202126 0, #131315 70%); } + +/* Living Market ----------------------------------------------------------- + The pool remains the dominant object. Participants surround it, while the + two plots retain the exact replay path and current constant-product state. */ +.market-scene { flex: 1; min-height: 0; display: grid; grid-template-rows: minmax(330px, 1fr) 146px; position: relative; overflow: hidden; background: radial-gradient(circle at 50% 39%, color-mix(in srgb, var(--brass) 8%, var(--surface-3)) 0, var(--bg) 72%); } +.market-world { min-height: 0; position: relative; overflow: hidden; } +.market-links { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; } +.market-links line { stroke: color-mix(in srgb, var(--steel) 35%, transparent); stroke-width: 1; vector-effect: non-scaling-stroke; transition: stroke .28s ease, stroke-width .28s ease, stroke-dashoffset .5s ease; } +.market-links line.is-active { stroke: var(--brass); stroke-width: 2; stroke-dasharray: 7 7; animation: market-flow .8s linear infinite; } +@keyframes market-flow { to { stroke-dashoffset: -28; } } +.market-step-line { position: absolute; top: 48px; left: 50%; z-index: 3; width: min(68%, 560px); transform: translateX(-50%); display: flex; justify-content: center; gap: 9px; color: var(--muted); font: 8px var(--mono); text-align: center; text-transform: uppercase; } +.market-step-line strong { color: var(--brass); font-weight: 500; } +.market-actor { position: absolute; z-index: 2; width: clamp(96px, 14vw, 142px); min-height: 46px; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 7px; padding: 6px 8px; border-radius: 24px; background: color-mix(in srgb, var(--surface-2) 93%, transparent); box-shadow: 0 8px 20px color-mix(in srgb, var(--bg) 72%, transparent); text-align: left; transition: transform .22s ease, border-color .22s ease, background .22s ease; } +.market-actor:hover { transform: translate(-50%, -50%) scale(1.03); } +.market-actor.is-active { border-color: var(--brass); background: color-mix(in srgb, var(--brass) 10%, var(--surface-2)); transform: translate(-50%, -50%) scale(1.06); } +.market-actor > svg { flex: 0 0 auto; color: var(--steel); } +.market-actor.is-active > svg { color: var(--brass); } +.market-actor span, .market-actor b, .market-actor small { min-width: 0; display: block; } +.market-actor b { overflow: hidden; color: var(--text); font: 500 8px var(--mono); text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; } +.market-actor small { margin-top: 3px; overflow: hidden; color: var(--muted); font: 7px var(--mono); font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; } +.market-pool { position: absolute; left: 50%; top: 49%; z-index: 4; width: clamp(190px, 27vw, 252px); min-height: 190px; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 14px 16px 11px; border: 3px double color-mix(in srgb, var(--brass) 70%, var(--line)); border-radius: 50%; background: color-mix(in srgb, var(--surface) 95%, transparent); box-shadow: 0 25px 70px color-mix(in srgb, var(--bg) 78%, transparent), inset 0 0 45px color-mix(in srgb, var(--brass) 5%, transparent); } +.market-pool:hover { border-color: var(--brass); } +.market-pool-kicker, .market-pool > small { color: var(--muted); font: 7px var(--mono); letter-spacing: .1em; text-transform: uppercase; } +.market-pool > strong { margin: 3px 0 0; color: var(--brass); font: 500 clamp(22px, 3vw, 34px) var(--mono); font-variant-numeric: tabular-nums; } +.market-reserves { width: 74%; height: 60px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; } +.market-reserve { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: end; padding: 4px; border: 1px solid var(--line); } +.market-reserve i { position: absolute; left: 0; right: 0; bottom: 0; height: var(--energy-fill); z-index: 0; background: color-mix(in srgb, var(--steel) 24%, transparent); transition: height .34s cubic-bezier(.2,.8,.2,1); } +.market-reserve.credit i { height: var(--credit-fill); background: color-mix(in srgb, var(--brass) 24%, transparent); } +.market-reserve b, .market-reserve small { position: relative; z-index: 1; } +.market-reserve b { color: var(--text); font: 500 9px var(--mono); font-variant-numeric: tabular-nums; } +.market-reserve small { color: var(--muted); font: 6px var(--mono); text-transform: uppercase; } +.market-analysis { min-height: 0; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); border-top: 1px solid var(--line); background: color-mix(in srgb, var(--surface) 88%, transparent); } +.market-analysis > svg { width: 100%; height: 100%; min-width: 0; overflow: visible; } +.market-analysis > svg + svg { border-left: 1px solid var(--line); } +.market-analysis text { fill: var(--muted); font: 7px var(--mono); } +.market-analysis .chart-title { fill: var(--text); font-weight: 500; letter-spacing: .07em; text-transform: uppercase; } +.market-analysis .chart-value { fill: var(--brass); font-weight: 500; } +.market-axis { stroke: var(--line-strong); stroke-width: 1; vector-effect: non-scaling-stroke; } +.market-price-path, .market-curve-path { fill: none; stroke: var(--brass); stroke-width: 2; vector-effect: non-scaling-stroke; } +.market-price-history circle, .market-bonding-curve circle { fill: var(--surface); stroke: var(--brass); stroke-width: 1.5; vector-effect: non-scaling-stroke; } +.market-price-history circle.is-current, .market-bonding-curve circle.is-current { fill: var(--brass); stroke: var(--surface); stroke-width: 2; } +.market-guide { stroke: color-mix(in srgb, var(--steel) 55%, transparent); stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; } +@media (prefers-reduced-motion: reduce) { .market-links line.is-active { animation: none; } .market-actor, .market-pool, .market-reserve i { transition: none; } } /* The map has a strict visual grammar: structures define topology; occupants dock to it; attachments hang from it; state is folded into its owner. */ .react-flow__node.structure-node { box-sizing: border-box; background: var(--surface-3); color: var(--text); border: 1px solid #595862; border-radius: 50%; width: 88px; min-height: 72px; display: grid; place-items: center; padding: 6px; text-align: center; font: 500 8px/1.12 var(--mono); box-shadow: 0 8px 24px #0009, inset 0 1px #ffffff0b; z-index: 2 !important; } @@ -421,16 +464,16 @@ input[type="range"] { width: 100%; accent-color: var(--accent); } .leaderboard-entries article { position: relative; min-width: 0; padding: 10px 11px 8px; background: var(--surface); box-shadow: inset 3px 0 var(--participant-color); } .leaderboard-entries article.ineligible { opacity: .62; } .leaderboard-entries article.lead-change { animation: lead-pulse 1.1s ease-out; } -.leaderboard-participant { width: calc(100% - 88px); min-height: 42px; display: grid; grid-template-columns: 30px 8px 1fr; align-items: center; gap: 8px; padding: 0; border: 0; background: none; text-align: left; } +.leaderboard-participant { width: calc(100% - 150px); min-height: 42px; display: grid; grid-template-columns: 30px 8px 1fr; align-items: center; gap: 8px; padding: 0; border: 0; background: none; text-align: left; } .leaderboard-participant:hover { border: 0; } .leaderboard-participant .rank { color: var(--accent); font: 600 15px var(--mono); font-variant-numeric: tabular-nums; } .participant-dot { width: 7px; height: 7px; background: var(--participant-color); } .leaderboard-participant strong, .leaderboard-participant small { display: block; } .leaderboard-participant strong { font-size: 10px; } .leaderboard-participant small { margin-top: 2px; color: var(--muted); font: 7px var(--mono); text-transform: uppercase; } -.leaderboard-score { position: absolute; top: 13px; right: 11px; max-width: 94px; text-align: right; } +.leaderboard-score { position: absolute; top: 13px; right: 11px; width: min(150px, 42%); text-align: right; } .leaderboard-score strong, .leaderboard-score small { display: block; } -.leaderboard-score strong { color: var(--brass); font: 600 15px var(--mono); font-variant-numeric: tabular-nums; } +.leaderboard-score strong { overflow-wrap: anywhere; color: var(--brass); font: 600 clamp(11px, 1vw, 15px) var(--mono); font-variant-numeric: tabular-nums; } .leaderboard-score small { color: var(--muted); font: 6px var(--mono); text-transform: uppercase; } .sparkline { width: 100%; height: 32px; margin-top: 5px; overflow: visible; } .sparkline polyline { fill: none; stroke: var(--participant-color); stroke-width: 2; vector-effect: non-scaling-stroke; } @@ -547,6 +590,8 @@ input[type="range"] { width: 100%; accent-color: var(--accent); } .rate-basket { display: grid; grid-template-columns: 64px 1fr; gap: 6px; padding: 5px 9px; font-size: 9px; } .rate-basket > span { color: var(--muted); } .rate-basket b { font-weight: 500; } +.rate-basket code { grid-column: 1 / -1; overflow-wrap: anywhere; color: var(--brass); font: 7px/1.5 var(--mono); } +.rate-condition code { display: block; overflow-wrap: anywhere; padding: 8px 9px; color: var(--brass); font: 7px/1.5 var(--mono); } .model-rules h3 { margin: 0 0 7px; font-size: 10px; text-transform: uppercase; color: var(--muted); } .model-rules > div { margin-bottom: 15px; display: grid; gap: 4px; font-size: 9px; } .model-rules > div span { color: var(--brass); } @@ -628,6 +673,17 @@ footer { padding: 25px 0 36px; color: var(--muted); text-align: center; font: 8p .objective-pills { justify-content: start; } .timeline-lane { grid-template-columns: 100px 1fr; } .timeline-axis { margin-left: 115px; } + .scene-composition:has(> .market-scene) > .scene-chrome { display: none; } + .market-scene { grid-template-rows: minmax(280px, 1fr) 220px; } + .market-analysis { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; } + .market-analysis > svg + svg { border-left: 0; border-top: 1px solid var(--line); } + .market-actor { width: 78px; min-height: 36px; padding: 4px 6px; } + .market-actor > svg, .market-actor small { display: none; } + .market-actor b { font-size: 6px; white-space: normal; text-align: center; } + .market-pool { width: 150px; min-height: 150px; padding: 10px; } + .market-pool > strong { font-size: 20px; } + .market-reserves { height: 46px; margin-top: 6px; } + .market-step-line { top: 4px; width: 78%; font-size: 6px; } } @media (prefers-color-scheme: light) { diff --git a/studio/tests/studio.spec.ts b/studio/tests/studio.spec.ts index b2ef60f..22a7466 100644 --- a/studio/tests/studio.spec.ts +++ b/studio/tests/studio.spec.ts @@ -127,13 +127,29 @@ test("loads a distinct static problem and its specialized renderer", async ({ pa await expect(page.getByText("Which subset contains which element", { exact: false })).toBeVisible(); }); +test("shows endogenous AMM price discovery, exact curve evidence, and causal attribution", async ({ page }) => { + await page.goto("/?problem=amm&instance=showcase&strategy=market_day&document=amm%3Amarket_day&view=replay&step=15&leaderboard=causal_price_contribution&seed=17&budget=128"); + await expect(page.getByRole("heading", { name: "Living Market · endogenous price discovery" })).toBeVisible(); + await expect(page.locator(".market-scene")).toBeVisible(); + await expect(page.getByRole("img", { name: /Discovered price history/ })).toBeVisible(); + await expect(page.getByRole("img", { name: /Constant-product bonding curve/ })).toBeVisible(); + await expect(page.getByRole("combobox", { name: "Leaderboard ranking dimension" })).toHaveValue("causal_price_contribution"); + await expect(page.locator(".leaderboard-entries article")).toHaveCount(7); + await expect(page.locator(".market-price-history circle")).toHaveCount(16); + + await page.getByRole("button", { name: /Factory:/ }).click(); + await expect(page.locator(".account-card.focused")).toContainText("Factory"); + await expect(page.getByText("Demand more than the curve returns")).toBeVisible(); + await expect(page.getByText(/minimum output/).last()).toBeVisible(); +}); + test("renders the generic cockpit for every canonical problem without browser errors", async ({ page }) => { test.setTimeout(60_000); const browserErrors: string[] = []; page.on("pageerror", (error) => browserErrors.push(error.message)); await page.goto("/"); const problems = [ - "maze", "sokoban", "exact_cover", "bridge", "scheduling", "workshop", + "maze", "sokoban", "exact_cover", "bridge", "scheduling", "workshop", "amm", "marketplace", "logistics", "connect_four", "rescue", "mission", "perishables", "work_league", ]; diff --git a/tests/state_evaluated_rates.rs b/tests/state_evaluated_rates.rs new file mode 100644 index 0000000..083fcfa --- /dev/null +++ b/tests/state_evaluated_rates.rs @@ -0,0 +1,149 @@ +use axionomy::{ + Account, ApplyError, Economy, EconomyBuilder, Exchange, LinearInvariant, Quantity, + QuantityComparison, QuantityExpression as Q, Rate, basket, +}; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, Serialize, Deserialize)] +enum Asset { + Energy, + Credit, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, Serialize, Deserialize)] +enum AccountId { + Pool, + Trader, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, Serialize, Deserialize)] +enum Role { + Pool, + Trader, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, Serialize, Deserialize)] +enum RateId { + BuyEnergy, +} + +type World = Economy; +type Action = Exchange; + +fn output_expression() -> Q { + // floor(pool_energy * 997 * input / (pool_credit * 1000 + 997 * input)) + let input_after_fee = Q::multiply(Q::constant(997), Q::units()); + Q::divide_floor( + Q::multiply( + Q::balance(Role::Pool, Asset::Energy), + input_after_fee.clone(), + ), + Q::plus( + Q::multiply(Q::balance(Role::Pool, Asset::Credit), Q::constant(1_000)), + input_after_fee, + ), + ) +} + +fn world() -> World { + let output = output_expression(); + EconomyBuilder::new() + .account( + AccountId::Pool, + Account::from(basket([(Asset::Energy, 1_000), (Asset::Credit, 10_000)])), + ) + .account( + AccountId::Trader, + Account::from(basket([(Asset::Credit, 10_000)])), + ) + .rate( + RateId::BuyEnergy, + Rate::new() + .consume(Role::Trader, basket([(Asset::Credit, 1)])) + .produce(Role::Pool, basket([(Asset::Credit, 1)])) + .consume_computed(Role::Pool, Asset::Energy, output.clone()) + .produce_computed(Role::Trader, Asset::Energy, output.clone()) + .condition( + "minimum output", + output, + QuantityComparison::GreaterThanOrEqual, + Q::parameter("minimum_output"), + ) + .distinct(Role::Pool, Role::Trader), + ) + .invariant(LinearInvariant::new("energy").weight(Asset::Energy, 1)) + .invariant(LinearInvariant::new("credit").weight(Asset::Credit, 1)) + .build() + .unwrap() +} + +fn buy(input: u64, minimum_output: u64) -> Action { + Exchange::new(RateId::BuyEnergy, Quantity::new(input)) + .bind(Role::Pool, AccountId::Pool) + .bind(Role::Trader, AccountId::Trader) + .parameter("minimum_output", Quantity::new(minimum_output)) +} + +#[test] +fn state_evaluated_rate_applies_exact_constant_product_swap() { + let mut world = world(); + let receipt = world.apply(buy(1_000, 90)).unwrap(); + + assert_eq!( + world.balance(&AccountId::Pool, &Asset::Energy), + Quantity::new(910) + ); + assert_eq!( + world.balance(&AccountId::Pool, &Asset::Credit), + Quantity::new(11_000) + ); + assert_eq!( + world.balance(&AccountId::Trader, &Asset::Energy), + Quantity::new(90) + ); + assert_eq!( + world.balance(&AccountId::Trader, &Asset::Credit), + Quantity::new(9_000) + ); + assert_eq!(receipt.deltas().len(), 2); + + let product_before = 1_000_u64 * 10_000; + let product_after = 910_u64 * 11_000; + assert!(product_after >= product_before); +} + +#[test] +fn minimum_output_is_authoritative_and_non_mutating() { + let world = world(); + let before = world.state_key(); + let assessment = world.assess(&buy(1_000, 91)); + + assert!(!assessment.is_applicable()); + assert!(matches!( + assessment.issues(), + [ApplyError::RateConditionFailed { condition, .. }] if condition == "minimum output" + )); + assert_eq!(world.state_key(), before); +} + +#[test] +fn parameters_are_declared_by_the_rate_and_survive_serde() { + let world = world(); + let encoded = serde_json::to_string(&world).unwrap(); + let decoded: World = serde_json::from_str(&encoded).unwrap(); + assert!(decoded.is_applicable(&buy(1_000, 90))); + + let missing = Exchange::new(RateId::BuyEnergy, Quantity::new(1_000)) + .bind(Role::Pool, AccountId::Pool) + .bind(Role::Trader, AccountId::Trader); + assert!(matches!( + decoded.assess(&missing).issues(), + [ApplyError::MissingParameter { name }] if name == "minimum_output" + )); + + let unknown = buy(1_000, 90).parameter("oracle_price", Quantity::new(10)); + assert!(matches!( + decoded.assess(&unknown).issues(), + [ApplyError::UnknownParameter { name }] if name == "oracle_price" + )); +}