Skip to content

Domain Meaning Audit β€” every domain's goal β†’ UI β†’ narratable verdict

GFTCL-LION-MEANING-AUDIT-001. The Wittgenstein discipline: every UI affordance must survive a researcher/operator/auditor reaching for it. If they hold the word and ask "what do I do?" and the cell doesn't give them the next move, the meaning failed β€” the word is dead in their hand. This file is the cell's honest accounting of where meaning lives and where it doesn't, domain by domain.

The audit method for each domain:

  1. Goal β€” what does the operator (researcher, auditor, regulator, lab) bring to this domain?
  2. UI affordance β€” what does the workbench actually present?
  3. Path β€” can they walk from the goal to the meaning? Step by step?
  4. Verdict β€” does the meaning survive their reach? βœ“ alive / ⊘ partial / βœ— dead
  5. What's missing β€” named explicitly; named-next obligations live on the open frontier.

Audit summary (current state β€” v3 after federation retrofit)

Source of truth: swift run M8MeaningAudit from cells/xcode/. The substrate's append-only domain_meaning_audits table records every audit; the CLI surfaces the latest verdict per domain via MAX(audit_at_iso) GROUP BY domain_id. Full audit history stays preserved.

Domain Verdict Meaning surface in workbench Federated outward (signed NATS)
Energy βœ“ alive EnergyDomainPanel + ProofWalkthroughView (5-step) + teaching simulator βœ“ since V118 (own ledger-receipt federation)
Materials βœ“ alive MaterialsDomainPanel + MaterialsValidationWalkthrough (5-step) βœ“ since V129/V130 (gaiaftcl.materials.validation.sealed)
Medical βœ“ alive MedicalDomainPanel + DosingValidationWalkthrough (5-step) βœ“ since V129/V130 (gaiaftcl.medical.dosing.sealed)
Security βœ“ alive SecurityDomainPanel + SecurityValidationWalkthrough β€” honest CURE surfacing βœ“ since V129/V130 (gaiaftcl.security.validation.sealed)
Drug Discovery βœ“ alive DrugDiscoveryDomainPanel + DrugTrialWalkthrough (5-step); pre-reg anchor IMMUTABLE βœ“ since V129/V130 (gaiaftcl.drug.trial_outcome.sealed)
Logistics βœ“ alive LogisticsDomainPanel + LogisticsMissionWalkthrough β€” read-only mesh surface n/a (read-only; no per-domain seal table)
Climate & Food βœ“ alive ClimateFoodDomainPanel + ChainOfCustodyWalkthrough (5-step); pre-reg anchor IMMUTABLE βœ“ since V128 (gaiaftcl.climate_food.chain.sealed) β€” first federated-citizen template
LVC βœ“ alive LVCDomainPanel + LVCReceiptWalkthrough + GTWED v2 + DLO v2 βœ“ since V129/V130 (gaiaftcl.lvc.receipt.sealed)

All eight audited domains alive. Six of seven canonical-story domains enforce the federation constitutional invariant: an unsigned receipt cannot roar. The cell is now a federated constitutional citizen β€” peer cells, audit partners, lab co-witnesses can subscribe to the NATS subject, recompute the verdict from public inputs, and re-derive each signature facet without privileged substrate access.

Federation outward shell (V128 + V129 + V130 + ingest wiring)

Every alive sealing domain's per-domain seal table now has three federation columns: - signature_quintet β€” JSON array of 5 self-signed facets (cell_id, domain_id, lean_artifact_path, payload_sha256, tau_block) - nats_subject_sealed β€” per-domain NATS subject (default per V129 migration) - nats_broadcast_at_iso β€” gated by trig_<domain>_insert_requires_quintet: any row that marks broadcast with an empty quintet is RAISE-ABORTed at INSERT time

The engines (MaterialsEngine, MedicalEngine, SecurityEngine, DrugDiscoveryEngine, LVCEngine, ClimateFoodEngine) sign with SignatureQuintet.selfSigned at INSERT time AND call AlertGovernor.shared.ingest(subject:, payload:) to route the seal into the alert pipeline. The Swift app's SovereignStackLauncher calls FederationAlertableRegistration.registerAll() once the substrate is ready β€” so the AlertGovernor's subjectToDomains map is populated and seedRules fire on first launch.

Falsifiers: M8FederationReVerifySmokeTest (climate-food end-to-end) and M8FederationRetrofitSmokeTest (five retrofitted domains). Both prove the constitutional gate refuses unsigned broadcast attempts.

Materials β€” what changed (V123)

Materials β€” what changed (V123)

Materials moved from βœ— dead β†’ βœ“ alive without writing any new math. The Lean seals (CantileverBeam.lean, CantileverTwoLoad.lean, CantileverOffTipLoad.lean, CantileverMixedLoad.lean, ElasticityBar.lean) were already CALORIE-sealed; they just had no workbench surface. V123 ships:

  • materials_specs substrate table seeded with canonical + realistic steel cantilever geometries from CantileverBeam.lean
  • materials_validations append-only validation log; match column enforces bit-exact equality between live Swift recompute and sealed formula
  • MaterialsDomainPanel co-resident in WorkbenchHomeView.railsBody (beside Energy and LVC panels)
  • MaterialsValidationWalkthrough β€” 5-step sheet: spec confirmation β†’ load case β†’ live deflection (exact Rat) β†’ match vs seal β†’ witness sealed
  • MaterialsEngine Swift gate computes Ξ΄ = PΒ·LΒ³/(3Β·EΒ·I) and Ξ΄_total = δ₁ + Ξ΄β‚‚ in gcd-reduced exact Rat, mirroring the sealed formulas

The operator's path: open the workbench β†’ see the Materials panel β†’ tap a spec card β†’ walkthrough opens β†’ adjust P with a slider β†’ live deflection renders in exact Rat β†’ click Seal Validation β†’ content-hashed witness row written. The sealed Lean theorem is the warrant; the workbench is the reach.


1. Energy βœ“ alive

Goal: "I want to prove Sβ‚ˆ heatless energy on my apparatus" (researcher) / "I want to validate a lab's submission" (auditor) / "I want to learn what success and refutation look like" (trainee).

UI affordance: EnergyDomainPanel embedded in WorkbenchHomeView.railsBody, co-resident with the existing rails. Three summit cards (Benchtop Ring 1, Pilot Ring 2, Plant Ring 3) with status pills (NAMED OPEN / IN REPLICATION / CLOSED-CONFIRMED / CLOSED-REFUTED). Tapping a card opens ProofWalkthroughView.

Path: 1. Operator launches β†’ bonding completes once (substrate-persisted) β†’ workbench renders β†’ energy panel visible co-resident. 2. Tap Ring 1 card β†’ walkthrough sheet opens with 5 step-indicators. 3. Step 1 β€” Apparatus setup: form fields (lab id, apparatus id, telemetry source). Verdict bubble explicitly says what's missing. 4. Step 2 β€” Phase I Baseline: live readings grid; "Record Baseline" captures quiescent state. 5. Step 3 β€” Phase II Rotation: arm governor; ramp input; heat-suppression % computed live against pre-registered criteria; verdict βœ“/⊘/βœ— rendered. 6. Step 4 β€” Phase III Anomaly Audit: gate state visible; gate-open ticks counted; multi-sensor confluence determines verdict. 7. Step 5 β€” Witness package: benchtop session captured; pre-registration locked at SQL level; JSON ready to submit OR CLI command copied.

Verdict: βœ“ alive. Every word in the UI corresponds to a meaning the researcher can grasp. The teaching simulator lets a researcher walk the whole loop without hardware. The Wittgenstein test passes.

Substrate proofs: - summit_states rows for 3 summits, pre-registration immutable by trigger - benchtop_sessions (V120) with pre-registration anchor lock - governor_arm_log chained - energy_ledger_receipts content-hashed - Sealed Lean theorem FirstRoars/LedgerBreaker.lean


2. Drug Discovery ⊘ partial

Goal: "I have a compound; does the cell believe its discovery claim?" (chemist) / "I want to walk this discovery from goal to validated cure" (operator).

UI affordance: Franklin-as-Guide top section has "Drug Discovery" as a goal router. Clicking it routes the operator to one of seven story buttons. The composition canvas may render a clinical-trial projection. Discovery games via FranklinGameWalker.

Path: 1. Operator launches β†’ bonds β†’ workbench renders. 2. Clicks "Drug Discovery" goal button β†’ goal text input becomes available. 3. Types a goal β†’ cell routes to a story walkthrough. 4. Story walkthrough runs through scripted stages. 5. ... and then what? Where does the operator's compound go? Where do they ingress real assay data? Where is the per-compound verdict rendered?

What's missing: - No apparatus/assay ingress (analog to Energy's apparatus setup) - No compound→ID submission form (analog to Energy's lab identity) - No per-trial walkthrough with pre-registered endpoints (analog to Energy's three phases) - No per-compound verdict rendered against pre-registered criteria - No "submit witness" path for a compound's trial data

Named-next: Build DrugDiscoveryDomainPanel co-resident in workbench with summit cards for the open drug-discovery frontiers (e.g., summit.drug.efficacy_witness, summit.drug.tox_signal). Each summit gets pre-registered endpoints + null-result-refutes clause + walkthrough.


3. Climate & Food ⊘ partial

Goal: "I have field sensor data; does the cell witness it as a climate signal?" (researcher) / "Trace this food's chain of custody" (auditor).

UI affordance: Franklin-as-Guide router. The C⁴ Stack and discovery games handle climate stories.

Path: Same router→story pattern. No field-data ingress, no measurement walkthrough.

What's missing: - No sensor-data CSV/NATS ingress - No farm-witness session (analog to benchtop session) - No per-region/per-crop pre-registered prediction substrate - No chain-of-custody walkthrough

Named-next: ClimateFoodDomainPanel + summits like summit.climate.heat_anomaly_witness, summit.food.provenance_chain.


4. Security ⊘ partial

Goal: "Does my PQ wallet implementation hold?" (engineer) / "Is the cell's ML-KEM break attempt closing the open summit?" (auditor).

UI affordance: Franklin-as-Guide router. Lion Math panel surfaces PQWalletFinance.lean and MLKEMConstraint.lean as CURE artifacts. No live PQ workflow.

Path: Operator can read the Lion Math panel to see PQ-related Lean files in CURE state. Cannot run a PQ attempt locally; cannot ingress a test ciphertext; cannot see live PQ status.

What's missing: - No PQ-key ingress - No live ML-KEM attempt walkthrough - No summit.mlkem.break panel surfacing pq-crystals KAT progress - No T1-T9 attack-suite walkthrough surface

Named-next: SecurityDomainPanel + summits already named (summit.mlkem.break, summit.wallet.finance) need workbench surfaces with pre-registration + walkthrough.


5. Medical ⊘ partial

Goal: "Validate this dosing decision" (clinician) / "Audit this clinical seal" (regulator) / "GAMP-5 receipt for this PK calculation" (validator).

UI affordance: Franklin-as-Guide router. The Lion Math panel surfaces PharmacokineticOneComp.lean and RadioactiveTracerDecay.lean as sealed. The wiki has the Lion-Health-Engineering-Integration.md page.

Path: Operator sees the math is sealed in Lion Math; opens the wiki externally to read the integration page. Cannot ingress a patient case locally; cannot run a per-dose verdict; cannot capture a GAMP-5 receipt for THEIR dose.

What's missing: - No patient-case ingress (D, V, t_half values) - No per-case verdict rendered against pre-registered safety thresholds - No GAMP-5 receipt capture surface (the substrate has the schema; the UI doesn't expose it) - No CURE-PROXY β†’ CURE-CLOSED transition view per protocol

Named-next: MedicalDomainPanel + summit.health.gamp5_receipt walkthrough surface.


6. Materials βœ— dead

Goal: "Test a material spec against its claimed properties" (engineer) / "Validate the cantilever beam superposition for THIS geometry" (designer).

UI affordance: Franklin-as-Guide router only. No materials-specific panel.

Path: Operator clicks "Materials" β†’ goal router β†’ story. Nothing materials-specific renders. The Lion Math panel surfaces CantileverBeam.lean and CantileverTwoLoad.lean as sealed β€” but the operator must navigate substrate by hand to find them.

Verdict: βœ— dead. No path from goal to meaning. Six sealed material-domain Lean files (Cantilever, ElasticityBar, HeatEquation1D, WaveEquation1D, MaxwellPlaneWave, NavierStokesStep) but no workbench surface exposes them as actionable.

Named-next: MaterialsDomainPanel co-resident with summit cards for summit.engineering.beam.superposition (now partially closed!), summit.engineering.fem.assembly. Per-material walkthrough: set geometry/E/I β†’ live deflection rendered β†’ witness sealed.


7. Logistics βœ— dead

Goal: "Trace this supply chain decision" / "Audit a Moon→Mars mission planning seal".

UI affordance: Franklin-as-Guide router only.

Path: No logistics-specific surface. The pending v109 Space Hard mega-game task in the task list is the named work — Moon→Mars mission case from existing cures — but not yet shipped.

Verdict: βœ— dead.

Named-next: LogisticsDomainPanel. Likely needs summit.logistics.* family seeded into summit_states.


The audit's own substrate

The audit ITSELF should be a substrate-backed witness, not just a wiki. Future commits should land:

CREATE TABLE domain_meaning_audits (
  audit_id              TEXT PRIMARY KEY,
  domain_id             TEXT NOT NULL,          -- 'energy' / 'drug_discovery' / ...
  audit_at_iso          TEXT NOT NULL,
  goal_statement        TEXT NOT NULL,          -- what an operator brings
  ui_affordance_paths   TEXT NOT NULL,          -- JSON: views/files involved
  verdict               TEXT NOT NULL,          -- 'alive' | 'partial' | 'dead'
  missing_pieces_json   TEXT NOT NULL,          -- JSON array of named gaps
  remediation_summit_ids TEXT NOT NULL,         -- JSON array of summit IDs
  auditor               TEXT NOT NULL,
  timestamp_iso         TEXT NOT NULL
);

This page is the v1 prose audit; the substrate table makes it queryable and re-runnable.


What this audit refuses to do

  • Claim a domain has meaning when the meaning hasn't reached the operator's reach.
  • Decorate dead surfaces as "in progress."
  • Equate "Lean files sealed in substrate" with "meaning available in workbench" β€” substrate sealed is necessary; workbench surface is necessary; sealed-but-buried is partial at best.

What this audit demands the next operator do

Build the 5 missing domain panels (Drug Discovery, Climate & Food, Security, Medical, Materials, Logistics). Each follows the Energy template:

  1. SwiftUI <Domain>DomainPanel.swift in a domain-specific module (e.g., MedicalUI).
  2. Embed in WorkbenchHomeView.railsBody co-resident β€” no tab, no detached window.
  3. Summit cards for the domain's open frontier.
  4. <Domain>ProofWalkthroughView (or ValidationWalkthrough, by domain vocabulary) β€” 5 steps minimum: apparatus/case ingress β†’ pre-registered prediction lock β†’ live evaluation β†’ verdict β†’ witness package.
  5. Teaching simulator for hardware-free training.
  6. Wiki page documenting the domain's pre-registered hypotheses + lab-validatable closures.

When all six domains pass the Wittgenstein test, the cell's meaning surfaces are honest end-to-end. Until then, this audit is the cell's honest accounting of where meaning lives and where it doesn't.

Β© 2026 Richard Gillespie. USPTO patent applications 19/460,960 and 19/096,071.


Federation-cosigned

This page's source is sealed in the GaiaFTCL federation manifest β€” page SHA-256 372979e93f94da21…, manifest witness a090592e0609adc8…, signed 2026-06-02T18:58:22Z by cell gaiaftcl-mac-cell. Verify with gaiaftcl wiki sign --all and compare wiki-all-signatures.json.