Domain Meaning Audit — every domain's goal → operator surface → narratable verdict
GFTCL-LION-MEANING-AUDIT-001. The Wittgenstein discipline: every operator 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.
Operator surface (2026-06): The three-rail Workbench UI is retired. Meaning reach is CLI (domain witnesses,M8MeaningAudit,GaiaFTCLCLI), wiki/mesh (this site), and Franklin.app sovereign stack. Substrate tables namedworkbench_*are historical schema — not a live UI.
The audit method for each domain:
1. Goal — what does the operator (researcher, auditor, regulator, lab) bring to this domain?
2. Operator affordance — what does the CLI, wiki, or app 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 M8MeaningAuditfromcells/xcode/. The substrate's append-onlydomain_meaning_auditstable records every audit; the CLI surfaces the latest verdict per domain viaMAX(audit_at_iso) GROUP BY domain_id. Full audit history stays preserved.
| Domain | Verdict | Meaning surface (CLI / wiki) | Federated outward (signed NATS) |
|---|---|---|---|
| Energy | ✓ alive | M8BenchtopWitness CLI + Benchtop-Tool + Energy-Ledger-Breaker-Replication |
✓ since V118 (own ledger-receipt federation) |
| Materials | ✓ alive | MaterialsEngine substrate + Lion-Math-Artifacts + cantilever Lean seals |
✓ since V129/V130 (gaiaftcl.materials.validation.sealed) |
| Medical | ✓ alive | MedicalEngine + Lion-Health-Engineering-Integration wiki |
✓ since V129/V130 (gaiaftcl.medical.dosing.sealed) |
| Security | ✓ alive | Lion-Math-Artifacts PQ rows + GaiaFTCLCLI wallet/PQ commands |
✓ since V129/V130 (gaiaftcl.security.validation.sealed) |
| Drug Discovery | ✓ alive | DrugDiscoveryEngine + pre-reg anchor IMMUTABLE in substrate |
✓ since V129/V130 (gaiaftcl.drug.trial_outcome.sealed) |
| Logistics | ✓ alive | Space-Hard-Workbench mission case (read-only mesh) | n/a (read-only; no per-domain seal table) |
| Climate & Food | ✓ alive | ClimateFoodEngine + chain-of-custody substrate; pre-reg anchor IMMUTABLE |
✓ since V128 (gaiaftcl.climate_food.chain.sealed) — first federated-citizen template |
| LVC | ✓ alive | GaiaFTCLLVCCLI + LVC-Dignity-Of-Sovereignty + HTTP /lvc/* |
✓ 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 bytrig_<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 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 operator surface. V123 ships:
materials_specssubstrate table seeded with canonical + realistic steel cantilever geometries fromCantileverBeam.leanmaterials_validationsappend-only validation log;matchcolumn enforces bit-exact equality between live Swift recompute and sealed formulaMaterialsEngineSwift gate computes δ = P·L³/(3·E·I) and δ_total = δ₁ + δ₂ in gcd-reduced exact Rat, mirroring the sealed formulas- Lion-Math-Artifacts lists every cantilever seal with live gate state
The operator's path: read the cantilever rows on Lion-Math-Artifacts → run MaterialsEngine / substrate validation → witness row written to materials_validations. The sealed Lean theorem is the warrant; the wiki + substrate are 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).
Operator affordance: M8BenchtopWitness CLI + Benchtop-Tool wiki. Three summits (Benchtop Ring 1, Pilot Ring 2, Plant Ring 3) with status in summit_states (NAMED OPEN / IN REPLICATION / CLOSED-CONFIRMED / CLOSED-REFUTED).
Path:
1. Operator runs swift run M8BenchtopWitness list → sees open summits.
2. show --summit benchtop_divergence → reads pre-registered fields.
3. start --summit … --lab-identity … → pre-registration locked at SQL level.
4. measure --session-id … --measured ./measured.json → live readings recorded.
5. witness --session-id … → verdict graded against pre-registration; witness package ready.
6. Optional: POST /energy/summits/{slug}/witness on the cell HTTP membrane.
7. Full phase narrative: Energy-Ledger-Breaker-Replication.
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_statesrows for 3 summits, pre-registration immutable by triggerbenchtop_sessions(V120) with pre-registration anchor lockgovernor_arm_logchainedenergy_ledger_receiptscontent-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).
Operator affordance: Discovery games in substrate + wiki game catalog. No dedicated drug-discovery CLI walkthrough yet.
Path:
1. Operator reads discovery game definitions in substrate or wiki.
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: CLI witness path for drug-discovery summits (e.g., summit.drug.efficacy_witness, summit.drug.tox_signal) with pre-registered endpoints + null-result-refutes clause, mirroring the energy benchtop tool.
---
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.breakpanel surfacing pq-crystals KAT progress - No T1-T9 attack-suite walkthrough surface
Named-next: summit.mlkem.break and summit.wallet.finance need CLI witness surfaces with pre-registration + walkthrough, mirroring energy.
---
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 in this section's older audit slice — superseded by V123 summary row (✓ alive via substrate + Lion-Math-Artifacts). Six sealed material-domain Lean files now have substrate validation; wiki lists gate state.
Named-next: Dedicated materials CLI witness for summit.engineering.beam.superposition, summit.engineering.fem.assembly — set geometry/E/I → live deflection → 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 to the operator" — substrate sealed is necessary; CLI or wiki reach is necessary; sealed-but-buried is partial at best.
---
What this audit demands the next operator do
Extend CLI + wiki reach for domains still marked partial below. Each follows the Energy benchtop template:
1. Headless CLI witness tool (or GaiaFTCLCLI subcommand) per domain.
2. Summit list + show + start + measure + witness against summit_states.
3. Wiki page documenting the domain's pre-registered hypotheses + lab-validatable closures.
4. Optional HTTP membrane endpoint for external lab submission.
5. Federation quintet on seal INSERT (same constitutional gate as energy).
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.
e0d2f9367d5fbb6dbe2da8080e150f60c4a2fe7bcab57e440fff961d22498f34.
This page serves with a substrate-honest pending-signature notice until the operator's Franklin signer cosigns it.