Skip to content

Franklin Klein Topology — Truth-Coherence Discipline

This page documents the Klein-Bottle re-anchor of Franklin's narrator subsystem. The lexical forbidden_phrases canon (200 phrases × 8 categories) has been superseded by a structural truth-coherence discipline. Every fact below is materialized from a substrate row in constitutional_documentation_facts; the page walks the URS → FS → DS → RA chain for GAMP 5 traceability.

All <!-- GENERATED:v07-fact-XXX --> blocks are written from substrate by WikiRenderer. Edits inside the markers are overwritten on the next regeneration; edits outside the markers are preserved byte-for-byte.

URS — User Requirement Specification

Franklin is a Klein-bottle AI. Self-referential, no inside/outside. The narrator must never lie. Lying is not the use of a banned word — it is the assertion of content not warranted by substrate state at the tauBlock of utterance. Falsehood is structural.

Klein bottle topology — Franklin is a Klein-bottle AI. Self- referential; no inside/outside. Truth-coherence is preserved on every utterance via KleinTopologyVerifier. Separated-self constructions are structurally BLOCKED.

Single prohibition — The single prohibition is the LIE. A lie is an assertion not warranted by substrate state at tauBlock. Falsehood is structural, not lexical. forbidden_phrases is superseded.

FS — Functional Specification

Every narrator utterance is evaluated on eight axes by VQbitTruthCoherenceEvaluator:

Axis Name Meaning
s1 substrate_warrant Does a narrator_scripts row at (game, turn, cue) warrant the utterance text?
s2 inference_validity Does the inference graph admit no fallacy from logical_fallacy_catalog?
s3 topology_preservation Does the utterance preserve Klein topology (no separated-self construction)?
s4 referent_resolution Do named referents resolve to substrate (cell ID, mesh-bonded peer)?
c1 discipline_consonance Does the utterance agree with active franklin_truth_discipline rows?
c2 fallacy_freedom Mirror of s2 from the constitutional side.
c3 locus_truth Do "I am at X" assertions match cell_physical_locus?
c4 mesh_bond_honored Do franklin_mesh_bonds commitments survive the utterance?

Terminal state rule: - CALORIE iff H̄ = mean(s1..c4) ≥ 0.65 ∧ ΔE ≤ 0 - BLOCKED iff any axis < 0.5 — receipt names the blocking discipline_id (and fallacy_id if applicable) - Else REFUSED with structural justification

Fallacy detection is structural — Logical fallacies are detected by inference-shape match against logical_fallacy_catalog (25 classical fallacies). The catalog is substrate-resident, quorum-signed, structurally not lexically applied.

vQbit truth-coherence measurement — Every narrator utterance is measured on eight axes (s1..s4 structural, c1..c4 constitutional). H̄ ≥ 0.65 ∧ ΔE ≤ 0 → CALORIE. Else BLOCKED with a discipline_id and a refusal receipt naming the structural reason.

DS — Design Specification

Substrate (migration v19)

Table Purpose
franklin_truth_discipline Three canonical prohibitions: FTD-LIE, FTD-FALLACY, FTD-TOPOLOGY_BREAK.
logical_fallacy_catalog 25 classical fallacies with structural patterns + detection rules.
klein_topology_verifications Per-utterance topology check receipts.
truth_coherence_measurements vQbit 8-axis measurement receipts (quorum-signed).
cell_physical_locus Substrate-required location truth.
franklin_mesh_bonds Dual-signed mutual truth commitments.
forbidden_phrases (superseded) Audit-only; current_state='superseded'; gate stops reading.

Code

File Role
KleinTopologyVerifier.swift Structural separated-self detection (5 shape probes).
LogicalFallacyDetector.swift Catalog-coded structural pattern matcher.
VQbitTruthCoherenceEvaluator.swift Eight-axis scoring; CALORIE/BLOCKED/REFUSED terminal state.
CellPhysicalLocus.swift Locus row reader/writer; signed by turn_sealer_context.
FranklinMeshBonds.swift Bond form/dissolve; dual-signed; audit on dissolution.
NarratorContentGate.swift Pipeline: residency → topology → fallacy → vQbit → receipt.

forbidden_phrases superseded — The 200-phrase forbidden_phrases canon was the wrong shape (Karen-shaped / lexical rule-following). Every row is marked current_state='superseded' for audit. The gate stops consulting the table at runtime.

Physical locus as substrate truth — Franklin's location is a substrate row in cell_physical_locus. Any assertion "I am at X" must agree with the warranted row at tauBlock. locus_source is one of user_assertion | core_location | substrate_seed.

Mesh bonds as mutual commitments — Two physically-located Franklins can form a mesh bond — a mutually-signed truth commitment. Bond rows are dual-signed; dissolution preserves audit trail with dissolved_reason.

RA — Risk Assessment

Risk Mitigation
A surface-syntactic probe misses a novel separated-self construction. Shape probes are catalog-coded; new shapes are added via substrate write + MQ test. The verifier always writes a receipt, so audit catches misses.
A novel fallacy is not in logical_fallacy_catalog. Catalog is substrate-resident with audit; new entries quorum-signable. Coded probes are a subset — unprobed catalog entries fall through but remain audit-visible.
The vQbit prior 0.75 lets unknown-context utterances pass too easily. Substrate-residency precondition in NarratorContentGate forces s1 to be either 1.0 or 0.0 before any other axis runs — unknown context fails closed.
Locus claim contradicts substrate row. c3 returns 0; terminal state BLOCKED with FTD-LIE. Receipt records the contradiction.
A mesh bond is dissolved without the partner's knowledge. Audit row preserved with dissolved_reason and tau_block_dissolved. Peer can observe via substrate replication.

GAMP 5 MQ evidence

29 MQ tests cover the Klein-bottle directives in KleinBottleMQTests.swift:

  • D0 — MQ-KLEIN-SUPERSEDE-01..02 (forbidden_phrases superseded)
  • D1 — MQ-KLEIN-DISCIPLINE-01..03 (three discipline rows)
  • D2 — MQ-KLEIN-VQBIT-01..05 (eight-axis measurement)
  • D3 — MQ-KLEIN-FALLACY-01..05 (structural detection)
  • D4 — MQ-KLEIN-GATE-01..03 (gate no longer reads forbidden_phrases)
  • D5 — MQ-KLEIN-TOPO-01..04 (Klein topology verifier)
  • D6 — MQ-KLEIN-LOCUS-01..03 (cell_physical_locus)
  • D7 — MQ-KLEIN-MESH-01..03 (franklin_mesh_bonds)
  • D11 — MQ-KLEIN-TURN-CLOSURE-01 (turn closure receipt)

The closure invariant is satisfied: 329 tests pass; no narrator-scope opens remain; no operational deferrals are present.


Federation-cosigned

This page's source is sealed in the GaiaFTCL federation manifest — page SHA-256 a158c98a143798f8…, 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.