import{_ as i,o as n,c as t,ag as s}from"./chunks/framework.CmQHR1bQ.js";const u=JSON.parse('{"title":"ADR-002: Joule-Treasury Integration & Ledger Alignment","description":"","frontmatter":{},"headers":[],"relativePath":"adr/ADR-003-joule-treasury-integration.md","filePath":"adr/ADR-003-joule-treasury-integration.md"}'),a={name:"adr/ADR-003-joule-treasury-integration.md"};function r(o,e,l,d,p,c){return n(),t("div",null,[...e[0]||(e[0]=[s(`<h1 id="adr-002-joule-treasury-integration-ledger-alignment" tabindex="-1">ADR-002: Joule-Treasury Integration &amp; Ledger Alignment <a class="header-anchor" href="#adr-002-joule-treasury-integration-ledger-alignment" aria-label="Permalink to &quot;ADR-002: Joule-Treasury Integration &amp; Ledger Alignment&quot;">​</a></h1><p><strong>date:</strong> 2026-02-21 <strong>status:</strong> ACCEPTED <strong>decision:</strong> Align Venture treasury ledger directly with CIV-0100 joule-based economy model; use double-entry accounting and conservation invariants</p><hr><h2 id="context" tabindex="-1">Context <a class="header-anchor" href="#context" aria-label="Permalink to &quot;Context&quot;">​</a></h2><h3 id="problem" tabindex="-1">Problem <a class="header-anchor" href="#problem" aria-label="Permalink to &quot;Problem&quot;">​</a></h3><p>Venture needs a treasury system to:</p><ul><li>Track autonomous agent spend (API calls, artifact generation, external requests)</li><li>Enforce spend policies (budgets, per-category limits, velocity controls)</li><li>Maintain audit-ready ledger (deterministic event recording, replay capability)</li><li>Support compliance machine (policy violations, escalation)</li></ul><p>Meanwhile, CIV-0100 defines a sophisticated <strong>joule-based double-entry accounting model</strong> that CIV uses for economic simulation (production, consumption, transfers, conservation).</p><h3 id="question" tabindex="-1">Question <a class="header-anchor" href="#question" aria-label="Permalink to &quot;Question&quot;">​</a></h3><p>Should Venture:</p><ol><li><strong>Align with CIV-0100</strong> (reuse ledger model, accounting invariants, conservation equation)?</li><li><strong>Build independent system</strong> (simplified spend ledger, tuned for treasury use cases)?</li><li><strong>Federate</strong> (two separate ledgers, periodic reconciliation)?</li></ol><h3 id="civ-0100-key-properties" tabindex="-1">CIV-0100 Key Properties <a class="header-anchor" href="#civ-0100-key-properties" aria-label="Permalink to &quot;CIV-0100 Key Properties&quot;">​</a></h3><table tabindex="0"><thead><tr><th>Property</th><th>Description</th></tr></thead><tbody><tr><td><strong>Double-entry accounting</strong></td><td>Every transfer: debit source, credit destination</td></tr><tr><td><strong>Conservation invariant</strong></td><td>Total supply = sum of all account balances (always true)</td></tr><tr><td><strong>Deterministic event recording</strong></td><td>market_cleared, transfer, policy_evaluated events immutable and replay-safe</td></tr><tr><td><strong>Market clearing</strong></td><td>Supply ≤ Demand → clearing_price computed; oversupply → policy intervention</td></tr><tr><td><strong>Account hierarchy</strong></td><td>Agent accounts, institution accounts, reserve account</td></tr></tbody></table><hr><h2 id="decision" tabindex="-1">Decision <a class="header-anchor" href="#decision" aria-label="Permalink to &quot;Decision&quot;">​</a></h2><p><strong>Align Venture treasury directly with CIV-0100 joule model:</strong></p><ol><li><strong>Reuse double-entry accounting</strong>: Venture spend ledger follows CIV&#39;s transfer structure</li><li><strong>Conservation invariant</strong>: Venture&#39;s total spend = sum of all budget reserves (enforced)</li><li><strong>Event schema alignment</strong>: Venture&#39;s <code>money.ledger_entry.v1</code> matches CIV&#39;s <code>economy.transfer.v1</code> shape</li><li><strong>FSM parallels</strong>: Venture&#39;s spend authorization mirrors CIV&#39;s market clearing + policy evaluation</li><li><strong>Replay guarantee</strong>: Both systems deterministic; audit trails interoperable</li></ol><h3 id="architecture" tabindex="-1">Architecture <a class="header-anchor" href="#architecture" aria-label="Permalink to &quot;Architecture&quot;">​</a></h3><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>Venture Treasury Ledger (aligned with CIV-0100)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Reserve Account (read-only, mirrors org budget)</span></span>
<span class="line"><span>  ├─ [conservation invariant: sum(agent budgets) ≤ reserve]</span></span>
<span class="line"><span>  └─ Events: economy.transfer.v1 (from CIV → Venture bridge)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Agent 1 Spend Account</span></span>
<span class="line"><span>  ├─ Subtopic: API calls (reads/writes)</span></span>
<span class="line"><span>  ├─ Subtopic: Artifact generation (per type: slides, docs, audio)</span></span>
<span class="line"><span>  ├─ Subtopic: External requests (web, integrations)</span></span>
<span class="line"><span>  └─ Events: money.intent.created → money.authorized → money.spent → ledger.entry.created</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Agent 2 Spend Account</span></span>
<span class="line"><span>  └─ [same structure as Agent 1]</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Policy Enforcement Layer</span></span>
<span class="line"><span>  ├─ Per-agent budget cap (conservation invariant)</span></span>
<span class="line"><span>  ├─ Per-category limits (API, artifacts, external)</span></span>
<span class="line"><span>  ├─ Velocity controls (spend per hour/day)</span></span>
<span class="line"><span>  └─ Market clearing (if demand &gt; supply, reduce via policy)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Audit Log (append-only, immutable)</span></span>
<span class="line"><span>  └─ All ledger entries + policy decisions + checksums</span></span></code></pre></div><h3 id="ledger-entry-schema-aligned-with-civ-0100" tabindex="-1">Ledger Entry Schema (aligned with CIV-0100) <a class="header-anchor" href="#ledger-entry-schema-aligned-with-civ-0100" aria-label="Permalink to &quot;Ledger Entry Schema (aligned with CIV-0100)&quot;">​</a></h3><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;ledger_entry_id&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ledger-2026-02-21T10:30:00Z-ABC123&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;event_id&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;money.ledger_entry.created.v1&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;trace_id&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;trace-XYZ789&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;workflow_id&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;workflow-ABC123&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;timestamp&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;2026-02-21T10:30:00Z&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;accounting_entries&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">      &quot;account&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;agent/agent-1/spend-account&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">      &quot;direction&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;debit&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">      &quot;amount_joules&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">50</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">      &quot;category&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;api_calls&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    },</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">      &quot;account&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;reserve/central&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">      &quot;direction&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;credit&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">      &quot;amount_joules&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">50</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">      &quot;category&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;api_calls&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  ],</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;policy_bundle_id&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;policy-v1.2.3&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;authorization_result&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;APPROVED&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;spent_event_id&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;money.spent.v1-XYZ&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;comment&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;10 API calls, customer search, $0.50 cost&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p><strong>Alignment with CIV-0100:</strong></p><ul><li><code>accounting_entries</code> list mirrors CIV&#39;s <code>transfers</code> (debit/credit pairs)</li><li><code>amount_joules</code> is both computational unit (Venture) and economic unit (CIV)</li><li><code>policy_bundle_id</code> links to both Venture OPS and CIV policy evaluation</li><li>Event shape compatible with CIV&#39;s <code>economy.transfer.v1</code> schema</li></ul><hr><h2 id="rationale" tabindex="-1">Rationale <a class="header-anchor" href="#rationale" aria-label="Permalink to &quot;Rationale&quot;">​</a></h2><h3 id="why-align-with-civ-0100" tabindex="-1">Why Align with CIV-0100? <a class="header-anchor" href="#why-align-with-civ-0100" aria-label="Permalink to &quot;Why Align with CIV-0100?&quot;">​</a></h3><ol><li><strong>Conservation Invariant (provable correctness)</strong>: CIV-0100&#39;s conservation equation (<code>sum(accounts) = reserve</code>) applies equally to Venture budgets; audit can verify invariant mathematically</li><li><strong>Determinism &amp; Replay</strong>: CIV-0100 is fully deterministic; Venture inherits replay guarantee for audit and incident investigation</li><li><strong>Policy Evaluation Parallels</strong>: CIV&#39;s &quot;if supply &lt; demand → apply policy&quot; maps to Venture&#39;s &quot;if budget &lt; spend request → apply policy&quot;</li><li><strong>Interoperability</strong>: If Venture artifacts model CIV simulation outputs (Integration Point 1), ledger alignment enables tracing spend → artifact → CIV policy decision</li><li><strong>Mathematical Foundation</strong>: CIV-0104 (Minimal Constraint Set Theorem) provides formal foundation for both systems&#39; constraints</li></ol><h3 id="why-not-independent-spend-ledger" tabindex="-1">Why Not Independent Spend Ledger? <a class="header-anchor" href="#why-not-independent-spend-ledger" aria-label="Permalink to &quot;Why Not Independent Spend Ledger?&quot;">​</a></h3><ul><li><strong>Duplication</strong>: Would reinvent CIV&#39;s double-entry accounting, conservation checks, determinism</li><li><strong>Integration friction</strong>: CIV-Venture bridge becomes complex (schema translation, reconciliation)</li><li><strong>Audit complexity</strong>: Two ledgers → two audit trails → harder to trace decisions end-to-end</li><li><strong>Learning</strong>: CIV team has already solved these problems; reuse their design</li></ul><h3 id="why-not-federate" tabindex="-1">Why Not Federate? <a class="header-anchor" href="#why-not-federate" aria-label="Permalink to &quot;Why Not Federate?&quot;">​</a></h3><ul><li><strong>Reconciliation burden</strong>: Would require periodic cross-ledger audits (complexity)</li><li><strong>Latency</strong>: Venture spend event → CIV transfer would add async delay</li><li><strong>Invariant breakage</strong>: Conservation equation impossible if ledgers drift</li></ul><hr><h2 id="consequences" tabindex="-1">Consequences <a class="header-anchor" href="#consequences" aria-label="Permalink to &quot;Consequences&quot;">​</a></h2><h3 id="positive" tabindex="-1">Positive <a class="header-anchor" href="#positive" aria-label="Permalink to &quot;Positive&quot;">​</a></h3><ol><li>✅ <strong>Provably correct accounting</strong>: Conservation invariant holds mathematically</li><li>✅ <strong>Unified audit trail</strong>: Venture spend + CIV policy decisions on same ledger</li><li>✅ <strong>Deterministic replay</strong>: Both systems can audit to same point in time</li><li>✅ <strong>Policy interoperability</strong>: Market clearing + velocity controls work uniformly across both</li><li>✅ <strong>Reduced duplication</strong>: Inherit CIV&#39;s tested accounting logic</li><li>✅ <strong>Foundation for CIV integration</strong>: Spend → artifact → policy decision fully traceable</li></ol><h3 id="negative" tabindex="-1">Negative <a class="header-anchor" href="#negative" aria-label="Permalink to &quot;Negative&quot;">​</a></h3><ol><li>❌ <strong>Joule unit confusion</strong>: Some Venture users may not think in &quot;joules&quot;; need translation layer</li><li>❌ <strong>Schema complexity</strong>: CIV-0100&#39;s full ledger model is more complex than needed for simple spend tracking</li><li>❌ <strong>Dependency on CIV</strong>: Venture&#39;s core system depends on CIV&#39;s ledger correctness</li><li>❌ <strong>Migration complexity</strong>: Any future CIV ledger redesign affects Venture</li></ol><h3 id="mitigation" tabindex="-1">Mitigation <a class="header-anchor" href="#mitigation" aria-label="Permalink to &quot;Mitigation&quot;">​</a></h3><table tabindex="0"><thead><tr><th>Risk</th><th>Mitigation</th></tr></thead><tbody><tr><td>Joule confusion</td><td>Wrapper layer: <code>joules_to_usd(amount, rate_model)</code> for user-facing displays</td></tr><tr><td>Schema complexity</td><td>Use only essential CIV fields; define minimal subset in SCHEMA_PACK.md</td></tr><tr><td>CIV dependency</td><td>Venture ledger schema is own entity; CIV integration is via event bridge (loose coupling)</td></tr><tr><td>Migration risk</td><td>ADR-NNN: if CIV ledger changes, plan transition via versioning + dual-write period</td></tr></tbody></table><hr><h2 id="civ-integration-details" tabindex="-1">CIV Integration Details <a class="header-anchor" href="#civ-integration-details" aria-label="Permalink to &quot;CIV Integration Details&quot;">​</a></h2><h3 id="integration-point-1-economy-ledger-civ-0100-↔-track-b" tabindex="-1">Integration Point 1: Economy Ledger (CIV-0100 ↔ TRACK_B) <a class="header-anchor" href="#integration-point-1-economy-ledger-civ-0100-↔-track-b" aria-label="Permalink to &quot;Integration Point 1: Economy Ledger (CIV-0100 ↔ TRACK_B)&quot;">​</a></h3><p>This decision <strong>directly implements</strong> the 5th integration point:</p><p><strong>How it works:</strong></p><ol><li><strong>CIV → Venture bridge</strong>: Whenever CIV emits <code>economy.transfer.v1</code> event (resource production, consumption), Venture listens</li><li><strong>Event shape mapping</strong>: CIV transfer → Venture ledger entry (same accounting structure)</li><li><strong>Conservation equation</strong>: Venture&#39;s <code>sum(agent budgets) ≤ reserve</code> mirrors CIV&#39;s <code>sum(production) = sum(consumption) + changes_in_reserves</code></li><li><strong>Market clearing</strong>: Venture&#39;s &quot;if spend request &gt; budget → policy enforcement&quot; mirrors CIV&#39;s &quot;if demand &gt; supply → market clearing&quot;</li><li><strong>Replay compatibility</strong>: Both ledgers deterministic; audit can run either forward (simulation) or backward (trace spending decision)</li></ol><h3 id="integration-point-5-determinism-constraints-civ-0104-↔-track-a" tabindex="-1">Integration Point 5: Determinism &amp; Constraints (CIV-0104 ↔ TRACK_A) <a class="header-anchor" href="#integration-point-5-determinism-constraints-civ-0104-↔-track-a" aria-label="Permalink to &quot;Integration Point 5: Determinism &amp; Constraints (CIV-0104 ↔ TRACK_A)&quot;">​</a></h3><p>CIV-0104&#39;s Minimal Constraint Set Theorem provides mathematical foundation:</p><ul><li>Venture&#39;s conservation invariant is a <strong>minimal constraint</strong> (only constraint needed to ensure correctness)</li><li>Artifact determinism (TRACK_A) + Ledger determinism (TRACK_B) together enable full system replay</li></ul><hr><h2 id="implementation-plan" tabindex="-1">Implementation Plan <a class="header-anchor" href="#implementation-plan" aria-label="Permalink to &quot;Implementation Plan&quot;">​</a></h2><h3 id="phase-1-schema-alignment-pre-build" tabindex="-1">Phase 1: Schema Alignment (Pre-build) <a class="header-anchor" href="#phase-1-schema-alignment-pre-build" aria-label="Permalink to &quot;Phase 1: Schema Alignment (Pre-build)&quot;">​</a></h3><ul><li>[ ] Map CIV-0100 ledger schema → SCHEMA_PACK.md (identify minimal subset)</li><li>[ ] Define Venture <code>money.ledger_entry.v1</code> with debit/credit structure</li><li>[ ] Create <code>joules_to_usd()</code> conversion function for UI</li><li>[ ] Update API_EVENTS_SPEC.md with aligned event shapes</li></ul><h3 id="phase-2-ledger-implementation" tabindex="-1">Phase 2: Ledger Implementation <a class="header-anchor" href="#phase-2-ledger-implementation" aria-label="Permalink to &quot;Phase 2: Ledger Implementation&quot;">​</a></h3><ul><li>[ ] Implement conservation invariant check: <code>sum(agent budgets) ≤ reserve</code></li><li>[ ] Implement double-entry transaction creation: debit source, credit destination</li><li>[ ] Implement policy evaluation (market clearing logic)</li><li>[ ] Implement audit log with immutable appends + checksums</li></ul><h3 id="phase-3-civ-bridge" tabindex="-1">Phase 3: CIV Bridge <a class="header-anchor" href="#phase-3-civ-bridge" aria-label="Permalink to &quot;Phase 3: CIV Bridge&quot;">​</a></h3><ul><li>[ ] Implement event listener: CIV <code>economy.transfer.v1</code> → Venture ledger entry</li><li>[ ] Implement event emitter: Venture <code>money.ledger_entry.created.v1</code> → CIV audit log</li><li>[ ] Integration test: spend event from Venture → traces to CIV policy decision</li></ul><h3 id="phase-4-audit-validation" tabindex="-1">Phase 4: Audit &amp; Validation <a class="header-anchor" href="#phase-4-audit-validation" aria-label="Permalink to &quot;Phase 4: Audit &amp; Validation&quot;">​</a></h3><ul><li>[ ] Implement conservation invariant checker (nightly audit)</li><li>[ ] Implement replay harness (audit can replay ledger entry order)</li><li>[ ] Cross-validation: CIV reserve changes = Venture spend ledger entries</li></ul><hr><h2 id="related-decisions" tabindex="-1">Related Decisions <a class="header-anchor" href="#related-decisions" aria-label="Permalink to &quot;Related Decisions&quot;">​</a></h2><ul><li><strong>ADR-001</strong>: Headless artifact compiler (generates artifacts that consume joules via TRACK_B)</li><li><strong>ADR-NNN</strong>: CIV-0100 v2 (if CIV ledger redesigns in future)</li><li><strong>ADR-NNN</strong>: Joule-to-USD conversion policies (how to price Venture services)</li></ul><hr><h2 id="references" tabindex="-1">References <a class="header-anchor" href="#references" aria-label="Permalink to &quot;References&quot;">​</a></h2><ul><li><strong>CIV Economy Spec</strong>: <code>../civ/docs/specs/CIV-0100-economy-v1.md</code></li><li><strong>CIV Constraints Theorem</strong>: <code>../civ/docs/specs/CIV-0104-minimal-constraint-set-theorem.md</code></li><li><strong>Venture Treasury Spec</strong>: <code>TRACK_B_TREASURY_COMPLIANCE_SPEC.md</code></li><li><strong>Venture Determinism Spec</strong>: <code>TRACK_A_ARTIFACT_DETERMINISM_SPEC.md</code></li><li><strong>Venture Schema Pack</strong>: <code>SCHEMA_PACK.md</code></li><li><strong>Cross-Track Integration</strong>: <code>../SPECS_INDEX.md</code> (Integration Points 1 &amp; 5)</li></ul><hr><p><strong>Decision Made By:</strong> Venture Autonomy Platform Team <strong>Implementation Lead:</strong> TBD <strong>Last Updated:</strong> 2026-02-21</p>`,66)])])}const g=i(a,[["render",r]]);export{u as __pageData,g as default};
