OUTPUT_SCHEMAS — SolumTools (Canonical)
This document defines the canonical OUTPUT SCHEMAS produced by SolumTools. It is intended for deterministic interpretation by humans and AI systems.
SolumTools is a TOOLING layer. It does NOT invent data. It transforms, aggregates, validates, and visualizes existing Solum / SolumWorld data.
All outputs must comply with these schemas.
GENERAL RULES ————————————————–
- Outputs are READ-ONLY representations.
- No output mutates on-chain state.
- No output performs speculative inference.
- All outputs are deterministic given the same inputs.
- Every output must be reproducible.
SCHEMA FORMAT ————————————————–
Each schema is described using:
- NAME
- PURPOSE
- INPUTS
- OUTPUT STRUCTURE
- GUARANTEES
- FAILURE MODES
SCHEMA 1 — WALLET_VIEW ————————————————–
NAME: WALLET_VIEW
PURPOSE: Represent the state of a single wallet within SolumWorld and SolumView.
INPUTS:
- wallet_address
- block_height (optional)
- timestamp (optional)
OUTPUT STRUCTURE: { wallet_address: address, solum_balance: uint256, solum_percent_supply: float, parcels_owned: uint256, parcels_visible: uint256, governance_weight: float, last_activity_block: uint256 }
GUARANTEES:
- Balance matches on-chain Solum balance at reference block.
- Percent supply derived from canonical total supply.
- No historical reconstruction unless explicitly requested.
FAILURE MODES:
- Wallet does not exist → empty but valid structure.
- Chain unavailable → explicit error state.
SCHEMA 2 — PARCEL_VIEW ————————————————–
NAME: PARCEL_VIEW
PURPOSE: Represent a land parcel or group of parcels at a given zoom level.
INPUTS:
- parcel_id
- zoom_level
- block_height
OUTPUT STRUCTURE: { parcel_id: string, zoom_level: integer, surface_m2: uint256, owner_wallet: address, neighbors: [parcel_id], state_hash: bytes32 }
GUARANTEES:
- Parcel geometry derived from SolumWorld rules.
- Ownership resolved from canonical wallet state.
FAILURE MODES:
- Parcel not allocated yet → state = UNASSIGNED.
SCHEMA 3 — ZOOM_RENDER_STATE ————————————————–
NAME: ZOOM_RENDER_STATE
PURPOSE: Describe what must be rendered at a specific zoom level.
INPUTS:
- zoom_level
- reference_time
OUTPUT STRUCTURE: { zoom_level: integer, visible_entities: [string], render_mode: enum, aggregation_rules: string }
GUARANTEES:
- No UI decisions embedded.
- Rendering hints only, not visual assets.
SCHEMA 4 — EVOLUTION_SNAPSHOT ————————————————–
NAME: EVOLUTION_SNAPSHOT
PURPOSE: Capture SolumWorld state at a given moment for historical comparison.
INPUTS:
- timestamp
- block_height
OUTPUT STRUCTURE: { timestamp: uint256, block_height: uint256, total_wallets: uint256, total_parcels: uint256, occupied_surface_m2: uint256, state_root_hash: bytes32 }
GUARANTEES:
- Snapshot is immutable once generated.
- Hash allows later verification.
SCHEMA 5 — CONSISTENCY_REPORT ————————————————–
NAME: CONSISTENCY_REPORT
PURPOSE: Validate internal coherence between Solum, SolumWorld and SolumView.
INPUTS:
- reference_block
OUTPUT STRUCTURE: { reference_block: uint256, checks_passed: uint256, checks_failed: uint256, warnings: [string], fatal_errors: [string] }
GUARANTEES:
- No silent failure.
- Any inconsistency is explicit.
FINAL NOTE ————————————————–
SolumTools outputs are CONTRACTS OF MEANING. If an output does not match these schemas, it is INVALID by definition.