Skip to content

Add paid chamber recovery transaction prerequisite - #150

Draft
valzargaming wants to merge 8 commits into
dev-masterfrom
finite-chamber-gas-storage
Draft

valzargaming wants to merge 8 commits into
dev-masterfrom
finite-chamber-gas-storage

Conversation

@valzargaming

@valzargaming valzargaming commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

This draft adds the Phase 1 backend prerequisite for paid chamber-to-habitat recovery: detached gas/work calculation, paid assembly and Inventory ownership, fixed-budget jobs, reciprocal accounting, and four-owner publication guarded against stale or restored state. It adds no player pump commands, scheduler, UI, or physical presentation.

The accepted amendment is c198e59. Frozen Phase 1 head: f3f5094. Coordinator source review is required before device expansion.

The source-review correction requires full condition for start, resume and running batches. It adds pre-admission damaged-condition negatives and a whole-world reload regression after a genuinely charged batch, including retained audit/identity/budgets and fresh resume timing.

The startup correction replaces type-sensitive Dictionary equality for the pinned Inventory definition and Production bill with exact recursive shape/quantity validation. JSON integral floats are accepted; fractions, wrong types/values, missing/extra fields and reordered tags reject. Existing initialization order and canonical owner creation are unchanged. Authored transaction controls cover both actual Inventory-to-Tools fixture initializations and catalog negatives.

The mount correction emits a v1 root without closure fields and a v2 root with explicit is_open=true, matching the existing Inventory ledger contract. It preserves actual paid-route admission, support, capacity and cross-link validators. Authored assertions identify admission/support separately and check unchanged ledger version and original item identity/condition.

Pinned restore fields now use exact shape/number validation for assembly material bill, mounted capacity and anchor. Validated job summaries normalize joules/moles and compare exact numeric values. Authored JSON-roundtrip controls use actual mounted/admitted/charged route records, with changed/fractional/wrong-type/shape negatives. Charged full-world reload remains covered; the complete-record assertion compares full-precision decoded JSON values across owner-specific integral normalization. Four-owner CAS and reciprocal audit copy equality remain strict.

Validation at this head:

  • Passed local git diff --check at this head; schema JSON syntax/identity check is reused from unchanged schemas at dd14acc.
  • Authored real paid-route transaction, failure-injection, owner ABA/exhaustion, work-bound and strict emitted-schema tests; wired into existing Windows/Linux CI.
  • No Godot execution at this new head. At prior1fc11c8 import passed8.325879s and startup passed3.8465359s; transaction failed23.8629296s at mount preparation. First-diagnostic stop left pressure stability unrun; inventories empty and lease released. Prior a111c31 import passed17.268766s, startup failed3.5037158s at Inventory.capture_snapshot:719 due to absent owner after catalog rejection. Stopped immediately; neither regression ran. Both process inventories empty and lease released. A fresh exact-head review/lease is required before retry. Local metaschema/runtime-fixture validation has not run because jsonschema is unavailable locally.
  • Exact-head CI is pending; no gameplay, graphical acceptance, merge or deployment claim.

The milestone document records APIs, save16/Pressure6 migration, unchanged observation17/paid-door6 projection, publication boundary and remaining acceptance work. Old snapshots receive no pump, gas or energy grant.

@valzargaming valzargaming changed the title Design finite chamber gas storage and recovery adapter Design bounded powered chamber gas recovery Oct 23, 2026
@valzargaming valzargaming changed the title Design bounded powered chamber gas recovery Add paid chamber recovery transaction prerequisite Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant