Skip to content

Substrate Surface Catalog โ€” the full operator-visible surface

What this page is. The single map of every surface a human operator (or an AI agent on the operator's behalf) can touch in the GaiaFTCL substrate. Three binaries, three transports, one V234. Built so a missing wire is immediately visible: anything not on this page either does not exist or is drift.

Why this page exists. Months of discovery โ€” through the macOS 27 / Swift 6.4 / Xcode 26 migration, the Klein-bottle outer container, the 9-cell mesh, the BTC miner re-cut, the Patoshi safeguard ceremony, the Foundation-Models gate โ€” produced a wide surface. The audit ran in parallel against all three binaries and returned to here. The build only happens AFTER this page is true.

The doctrine this page honors. Every surface seals to V234; every closure carries a witness; every non-closure is omitted, not labeled; every play is a ruliology game; the Mac is C-1, the cells are workers, the GUI never embeds the substrate. See Home for the discipline and V2-Index for the architectural floor.


1 ยท The three binaries

Binary Swift Platform Role Canonical install path
Franklin.app 6.4 macOS 27+ Operator GUI, Siri/Spotlight surface, Foundation-Models gate, FaceTime avatar, wallet UI ~/Applications/Franklin.app
GaiaFTCLCLI 6.3.2 Mac C-1 + 9 Debian 13 cells Substrate runtime โ€” every play, every seal, every NATS publish/subscribe, every wallet operation ~/Library/Application Support/GaiaFTCL/bin/GaiaFTCLCLI (Mac), /usr/local/bin/gaiaftcl (cells)
gaiaftcl-mcp-server 6.4 (Mac) Mac C-1 Model Context Protocol server โ€” JSON-RPC 2.0 over stdio; external agents (Claude, Siri intents) drive the substrate through here ~/Library/Application Support/GaiaFTCL/bin/gaiaftcl-mcp-server

The boundary contract:

Franklin.app  โ”€โ”€(Process(), stdio JSON)โ”€โ”€โ–ถ  GaiaFTCLCLI  โ”€โ”€(NATS + V234)โ”€โ”€โ–ถ  9 cells
       โ–ฒ                                          โ–ฒ
       โ”‚                                          โ”‚
       โ””โ”€โ”€โ”€โ”€ External AI agents โ”€โ”€(MCP/stdio)โ”€โ”€โ”€โ”€ gaiaftcl-mcp-server
  • Franklin never embeds the substrate.
  • The GUI never imports RuliologyBTCMinerLoop or MinerLoop.run โ€” enforced by scripts/ci/verify-gui-cli-boundary.sh.
  • All three binaries write to the same V234 substrate.sqlite at ~/Library/Application Support/GaiaFTCL/substrate.sqlite โ€” the single source of truth.

2 ยท "What can I do?" โ€” by operator goal

Manage the wallet

Goal Surface How
See every wallet I own Franklin.app Wallet pane ยท Siri "List Crypto Wallets" ยท CLI gaiaftcl wallet list
Prove I control both ends of a PQ migration CLI gaiaftcl wallet pq verify-ownership
Migrate exposed secp256k1 โ†’ UUM-8D PQ-safe CLI gaiaftcl wallet pq migrate
Transfer BTC to a PQ-safe wallet CLI gaiaftcl wallet transfer-to-safe
Re-fetch on-chain balances CLI gaiaftcl wallet refresh-balance
Show founder receiving addresses Siri "Get Franklin Receiving Addresses" ยท CLI gaiaftcl wallet founder show-btc-state
Sign + broadcast a withdrawal CLI gaiaftcl wallet withdraw
Back up / restore the wallet vault CLI gaiaftcl wallet backup, gaiaftcl wallet restore
Prove the Keychain gate Siri "Prove Keychain Gate" ยท CLI gaiaftcl wallet prove-keychain
Prove the IMPORT_CURES reverse arm Siri "Prove IMPORT_CURES Reverse Arm" ยท CLI gaiaftcl wallet prove-language-game

Mine BTC (ruliology miner)

Goal Surface How
Start mining Siri "Start BTC Mining" ยท launchd com.gaiaftcl.qc020.miner.plist
Stop mining Siri "Stop BTC Mining" ยท CLI pkill -f M8BTCSubstrateMiner
Check the miner Siri "Get BTC Miner Status" ยท MCP cell_status ยท CLI gaiaftcl cell status --json
Watch for reward arrivals launchd watch-payout-arrivals.plist ยท CLI (background)
Submit a block (substrate-driven, sealed BTC_BLOCK_SUBMITTED_MEMORY) n/a

Patoshi safeguard (P2PK โ†’ ECDLP recovery โ†’ P2PKH mirror)

Goal Surface How
Bulk-import every Patoshi pubkey CLI gaiaftcl patoshi import-all
Run the 5-zoom safeguard pipeline CLI gaiaftcl patoshi safeguard-pipeline
Recover one pubkey to a mirror P2PKH Siri "Recover Patoshi To Mirror" ยท CLI gaiaftcl patoshi safeguard
Recover a batch from CSV Siri "Recover Patoshi From CSV" ยท CLI gaiaftcl wallet recover-patoshi-batch
Drain a UTXO to a 10-year CLTV vault after recovery CLI gaiaftcl patoshi stewardship-migrate
Inspect the stewardship pipeline CLI gaiaftcl stewardship status

Substrate self-improvement (the Klein-bottle outer container)

Goal Surface How
Run one self-improvement cycle systemd gaiaftcl-substrate-self-improve.service ยท CLI gaiaftcl substrate self-improve
Issue a task to the substrate CLI gaiaftcl substrate task <verb> (acknowledge-proposal, retire-proposal, focus-game, inject-failure-mode-hypothesis, run-cycle-now, pause-loop, resume-loop)
View receipt-history coherence + game-descriptor quality + witness-source calibration CLI gaiaftcl substrate status
Query the substrate's autonomous healing history CLI gaiaftcl substrate healing
Run the 24ร—7 RCA daemon CLI gaiaftcl substrate root-cause-analysis

Mesh + federation governance

Goal Surface How
Sprout a new cell CLI gaiaftcl cell sprout
Moor it to the founder fabric CLI gaiaftcl cell moor
Boot the supervisor (4 planes) systemd gaiaftcl-cell-supervisor.service ยท CLI gaiaftcl cell run
Issue a PRIVILEGE_GRANT CLI gaiaftcl mesh grant
Revoke a privilege CLI gaiaftcl mesh revoke
Dispatch a QFOT envelope (Rick's signing cell only) CLI gaiaftcl mesh dispatch-qfot
Verify struct layout determinism at boot systemd gaiaftcl-verify-determinism.service ยท CLI gaiaftcl cell verify-determinism
Probe fleet health CLI ยท script bash cells/xcode/scripts/cell-deploy/probe_mesh_fleet.sh

Talk to the substrate (conversational AI)

Goal Surface How
Ask Franklin a question Siri "Ask Franklin" ยท iMessage bridge FranklinConversationConsumer (NATS gaiaftcl.local.llm.inbound)
Play a ruliology game by name Siri "Play a Ruliology Game" ยท MCP play ยท CLI gaiaftcl play <game>
Get a Generable-typed schema result back Siri "Check Wallet Balance (Schema)", "Check Miner Status (Schema)", "Check Cell Health (Schema)" (AppIntents)
Emoji-poetry status Siri "Franklin Emoji Poetry" (AppIntents)

Observe + verify

Goal Surface How
Query receipts MCP substrate_read ยท CLI gaiaftcl substrate status
Read a specific log MCP read_log ~/Library/Logs/GaiaFTCL/<name>.log
Run a directive's causal chain MCP causal_chain (SQL view)
Probe NATS MCP nats_ping TCP probe 127.0.0.1:4222
Audit cell inventory MCP inventory_audit ยท CLI binary M8InventoryAuditor
Re-verify a sealed Lean math claim MCP lion_math_seal (dual-gate smoke-tests)
Re-run QC-001โ€ฆQC-019 quantum algorithm seal MCP run_quantum_algorithm (in-process summary)
Verify the Rosetta meaning lattice MCP rosetta_lattice (in-process JSON read)
Compose a wiki section manifest CLI gaiaftcl wiki sign

Prove the substrate (the honest gates)

Goal Surface How
Prove Shor recovers one Q=kยทG or refuses honestly CLI gaiaftcl prove shor
Prove every quantum language game to ruliology standard CLI gaiaftcl prove language-games
Prove Patoshi CSV through the honest gate CLI gaiaftcl prove patoshi-csv
Living heart-beat: row N pubkey โ†’ private key CLI gaiaftcl prove heart-beat
Wolfram ASM math primitive language games CLI gaiaftcl prove math

3 ยท The AI surface

Layer Component File
On-device LLM gate SovereignLanguageModelGate โ€” sovereign-only conformer allowlist (SystemLanguageModel); mustInitialize() probes at @main Sources/GaiaFTCLCore/SovereignLanguageModelGate.swift
Foundation Models entitlement com.apple.developer.foundation-models.inference Sources/GaiaFTCLApp/Franklin.entitlements
Conversation consumer FranklinConversationConsumer subscribes gaiaftcl.local.llm.inbound Sources/GaiaFTCLCore/FranklinConversationConsumer.swift
Operator intent surface OperatorIntent โ€” bounded String-backed enum Sources/GaiaFTCLCore/FranklinChatTypes.swift
Collaborator intent surface CollaboratorIntent โ€” tighter than operator, no governance (same file)
Substrate task surface SubstrateTaskKind โ€” what the substrate accepts Sources/GaiaFTCLCore/SubstrateTask.swift
Spotlight + Siri registrations FranklinAppShortcuts.appShortcuts Sources/GaiaFTCLApp/FranklinAppIntents.swift
Schema return values RuliologyGameResult, WalletBalanceResult, MinerStatusResult, CellHealthResult โ€” Codable + ReturnsValue JSON envelopes Sources/GaiaFTCLApp/AppIntents/RuliologyGameSchemas.swift

Doctrine compliance for the AI surface:

  • The on-device LLM is the only conformer ever bound. Cloud LLMs (Anthropic, Google) cannot reach the gate โ€” doctrine: SovereignLanguageModelGate.
  • OperatorIntent and CollaboratorIntent are String-backed Codable enums โ€” the structured-output constraint is preserved by the AppIntent schema layer; @Generable was removed because its macOS 27 expansion aborts swift-frontend under -O.
  • Every Siri intent's perform() delegates to either PQCLIClient (CLI bridge) or an in-process facade โ€” never embeds substrate code.

4 ยท The comms layer

NATS subject map (sample)

Subject Publisher Subscriber
gaiaftcl.cell.<cell>.report gaiaftcl cell report daemon FleetAggregatorCommand, SubstrateEntanglementCommand
gaiaftcl.wallet.recovered.<cell> WalletRecoverPatoshiBatchCommand FleetAggregatorCommand
gaiaftcl.miner.block.<cell> RuliologyBTCMinerLoop FleetAggregatorCommand
gaiaftcl.franklin.guidance gaiaftcl franklin guide gaiaftcl franklin orchestrate
gaiaftcl.franklin.chat.router, .chat.inbound iMessage bridge / Franklin web conversation consumer
gaiaftcl.mesh.ruliology.fragment.<cell> C-1 dispatcher 9 cell evaluators (12 workers each)
gaiaftcl.mesh.tau mooring daemon each cell
gaiaftcl.local.llm.inbound daemon-side chat bridge FranklinConversationConsumer (Foundation Models)

V234 substrate.sqlite โ€” the single source of truth

  • Path: ~/Library/Application Support/GaiaFTCL/substrate.sqlite
  • Current migration: V241 (unlock_external_address_for_deterministic_rekey)
  • All 217 schema files registered, V35 โ†’ V241
  • Receipt class enumeration: see Section 7 (the ruliology game catalog) โ€” every name is a CHECK-constrained value somewhere upstream

MCP / JSON-RPC 2.0 over stdio

  • Protocol: MCP 2024-11-05
  • Transport: stdio (stdin = JSON-RPC request, stdout = JSON-RPC response, stderr = logs only)
  • Twelve tools (Section 5)

5 ยท Full CLI catalog

How to read. Top-level verb in column 1; sub-verb in column 2 (omit for verbs that take no sub); one-line purpose; receipt class sealed (or (read-only) if no V234 write).

Source of truth: Sources/GaiaFTCLCLI/GaiaFTCLCLIEntry.swift dispatcher. 95 *Command.swift files live under Commands/.

franklin โ€” Franklin orchestration

sub-verb purpose seals
operations list list substrate-development operations RULIOLOGY_TEMPLATE_PROPOSAL
operation show show one operation by ID RULIOLOGY_TEMPLATE_PROPOSAL
operation authorize manually authorize operation RULIOLOGY_TEMPLATE_PROPOSAL
operation reject manually reject operation RULIOLOGY_TEMPLATE_PROPOSAL
orchestrate run continuous distribute-shor โ†’ consensus (mesh)
mesh distribute-shor dispatch one Q across the 9 cells SHOR_ECDLP_FRAGMENT
mesh distribute-miner distribute BTC miner work BTC_MINING_TICK_MEMORY
mesh start-evaluator --worker-index <i> start one of 12 evaluators per cell SHOR_ECDLP_FRAGMENT
mesh round-trip smoke the mesh closure (read-only)
engineer-hands run write/build/verify loop for the coding agent FRANKLIN_XCODE_MEMORY
guide / ask Claude โ†’ Franklin guidance channel (NATS)
chat status side-effect-free iMessage-bridge visibility (read-only)
avatar FaceTime virtual-camera avatar FRANKLIN_AVATAR_BUDGET_OVERRUN_MEMORY
apply-proposal apply a SUBSTRATE_SELF_IMPROVEMENT proposal SUBSTRATE_PROPOSAL_ACK_MEMORY

wallet โ€” wallet operator surface

sub-verb purpose seals
list account projection (read-only)
refresh-balance re-fetch on-chain balances (read-only)
endpoints show chain endpoints (read-only)
import observe external-chain address (read-only)
remove delist imported external wallet (read-only)
pq migrate exposed secp256k1 โ†’ UUM-8D PQ-safe (read-only)
pq verify-ownership prove operator controls both ends (read-only)
pq demonstration-receipt seal V194 self-custody demonstration (read-only)
pq-safe list / show / recover held PQ safe wallets (read-only)
transfer-to-safe move BTC to UUM-8D P2PQH safe (read-only)
withdraw sign + broadcast (read-only)
qualify / qualify-v2 PQ migration qualification (v1 / v2) (read-only)
deposit per-account deposit surface (read-only)
stablecoin stablecoin operations (read-only)
exchange-rate fetch rates (read-only)
strategy btc-to-stablecoin conversion strategy (read-only)
backup / restore / backup-instructions vault export/import (read-only)
founder show-state founder cell state (read-only)
founder show-qfot-issuer-state QFOT issuer authority (read-only)
founder show-eurc-state EURC receiving wallet (read-only)
founder show-btc-state BTC mining payout wallet (read-only)
founder mint-qfot founder issuer authority mint (read-only)
founder rebind-btc-payout sovereign rebind qc021_payout.toml (read-only)
founder test-two-way-transfer operator two-way wallet workflow (read-only)
prove-keychain gate that mirror generation depends on (read-only)
prove-language-game validate IMPORT_CURES both directions (read-only)
purge-keyless DELETE every row with no bound key (read-only)
prepare-mirrors safeguarded P2PKH destinations for Patoshi PATOSHI_RECOVERY_TO_MIRROR
recover-patoshi-to-mirror recover one P2PK โ†’ P2PKH PATOSHI_RECOVERY_TO_MIRROR
recover-patoshi-batch batch from CSV PATOSHI_RECOVERY_TO_MIRROR
master-seed status substrate-witness deterministic derivation (read-only)
demo create-exposed / create-safe / show-comparison side-by-side two-wallet state (read-only)

cell โ€” cell supervisor + identity + diagnostics

sub-verb purpose seals
run start supervised cell (4 planes) (long-running)
verify-determinism layout snapshot + golden NATS SHA (read-only)
status structured JSON / human (read-only)
self-test in-process diagnostic (read-only)
heals last N supervisor heal events SUPERVISOR_HEAL_MEMORY
sprout initialize substrate identity (read-only)
moor bind to federation mesh CELL_MOORING_REFRESH_MEMORY
identity print substrate identity (read-only)
report per-cell republisher daemon PATOSHI_RECOVERY_TO_MIRROR
health cell health check (read-only)

mesh โ€” federation governance + mesh dispatch

sub-verb purpose seals
grant C-1 issues PRIVILEGE_GRANT PRIVILEGE_GRANT
revoke C-1 plays REVOKE_PRIVILEGE REVOKE_PRIVILEGE
list active grants on fabric (read-only)
status founder pulse + governance counts (read-only)
verify debug: run the governance gate (read-only)
dispatch-qfot Rick's signing cell dispatches QFOT (NATS)

substrate โ€” Klein-bottle self-improvement + observability

sub-verb purpose seals
self-improve SUBSTRATE_SELF_IMPROVEMENT outer container SUBSTRATE_SELF_IMPROVEMENT
verify-entanglement cross-cell substrate entanglement verifier SUBSTRATE_ENTANGLEMENT_VERIFIED
root-cause-analysis 24ร—7 RCA daemon ROOT_CAUSE_ANALYSIS
task bounded action surface (acknowledge-proposal ยท focus-game ยท inject-failure-mode ยท run-cycle-now ยท pause-loop ยท resume-loop ยท retire-proposal) SUBSTRATE_TASK_RECEIVED_MEMORY
status observability (JSON / human) (read-only)
healing healing history from V234 (read-only)
health health observations (read-only)
show-eurc-receiving-address founder EURC wallet (read-only)
show-btc-mining-payout-address founder BTC payout (read-only)
show-patoshi-safeguard-count rows in patoshi_pubkey_safeguard_seals (read-only)

patoshi โ€” Patoshi pubkey pipeline

sub-verb purpose seals
import sweep Patoshi wallet โ†’ mining address PATOSHI_RECOVERY_TO_MIRROR
import-all every Patoshi wallet into wallet app PATOSHI_RECOVERY_TO_MIRROR
csv recover private keys โ†’ CSV (read-only)
safeguard recover (CALORIE) then sweep to PQ safe PATOSHI_SAFEGUARD_TICK_MEMORY
safeguard-pipeline 5-scale zoom recovery PATOSHI_SAFEGUARD_TICK_MEMORY
stewardship-migrate drain UTXO โ†’ 10-year CLTV after ECDLP PATOSHI_RECOVERY_TO_MIRROR

shor โ€” Shor ECDLP plays

sub-verb purpose seals
prove-pq-safe PQ-safe recovery gate SHOR_ECDLP
key recover private key for Patoshi P2PK SHOR_ECDLP
original-key recover original Satoshi key SHOR_ECDLP
break-patoshi-csv run Patoshi CSV through recovery SHOR_ECDLP
safeguard-patoshi-csv safeguard Patoshi pubkeys PATOSHI_SAFEGUARD_TICK_MEMORY
project discovery/research run (read-only)

prove โ€” honest substrate gates

sub-verb purpose seals
shor recover or refuse one Q=kยทG SHOR_ECDLP
language-games validate every quantum game to ruliology standard (read-only)
patoshi-csv Patoshi CSV through honest gate PATOSHI_SAFEGUARD_TICK_MEMORY
heart-beat row N pubkey โ†’ private key SHOR_ECDLP
poly-n flat-curve ladder slope-read (read-only)
math Wolfram ASM math primitives (read-only)
verify Sโด/Cโด split demo SHOR_ECDLP

qc020 / qc โ€” quantum-algorithm research

sub-verb purpose seals
qc020 replay substrate session replay anchor chain (read-only)
qc evaluate-all run QA across all 21 algorithms (read-only)

quantum-wrappers / qw โ€” rule-logy facade catalog

sub-verb purpose seals
(no sub) enumerate every ruliology game as Swift facade (22 games) (read-only)

reversible-oracle โ€” reversible-circuit emit

sub-verb purpose seals
status binding state (read-only)
emit-ecdlp emit ECDLP reversible-circuit output SHOR_ECDLP
emit-miner emit miner reversible-circuit output BTC_BLOCK_FOUND_MEMORY

stewardship โ€” Patoshi P2PK migration pipeline

sub-verb purpose seals
status pipeline status (read-only)
show print status (read-only)

subscription โ€” Euro-payment receipts

sub-verb purpose seals
record-payment-sent operator records Euro payment to Rick (read-only)
confirm-email-sent confirm email to gaiaftcl@gmail.com (read-only)

ask โ€” unified substrate measurement

sub-verb purpose seals
(no sub) unified measurement verb (read-only)
--list list algorithms by paradigm (read-only)

wiki โ€” federation-signed wiki authoring

sub-verb purpose seals
sign compose federation-signed section manifest WIKI_PUBLISHED_MEMORY

play โ€” direct game-by-name

sub-verb purpose seals
(no sub) play a ruliology language game (game-specific)

pq โ€” fork-required proof

sub-verb purpose seals
(no sub) prove fork-required for PQ migration (read-only)

admin โ€” admin

sub-verb purpose seals
v2-code V2 code surface (read-only)

6 ยท MCP server catalog (all 12 tools)

Source of truth: Sources/GaiaCellMCPServer/main.swift โ€” allTools array (~line 953).

Transport: JSON-RPC 2.0 over stdio. Protocol version 2024-11-05. All tool calls hit one of four backend classes: CLI subprocess, SQL (sqlite3 CLI), NATS TCP probe, in-process.

Tool name Purpose Backend
play Play a ruliology game per GFTCL-PROTO-001 CLI subprocess โ†’ gaiaftcl franklin apply-proposal
cell_status Snapshot of live processes, mooring, NATS, substrate in-process (ps aux)
substrate_read Read-only SELECT/WITH against substrate.sqlite SQL (sqlite3 CLI)
read_log Tail bytes from ~/Library/Logs/GaiaFTCL/<name>.log in-process (FileHandle)
causal_chain Sealed directive_causal_chains for a directive_sha256 SQL (sqlite3 CLI)
nats_ping TCP probe of 127.0.0.1:4222 NATS
inventory_audit Cell's 5-category inventory self-audit CLI subprocess โ†’ M8InventoryAuditor
rosetta_lattice Live Rosetta meaning lattice (CURE-sealed proofs) in-process (persisted JSON)
lion_math_seal Dual-gate seal on math claim by name CLI subprocess (smoke-test drivers)
run_quantum_algorithm Re-run QC-001โ€ฆQC-019 algorithm seal in-process (summary lookup)
solve_pde Sealed engineering-math PDE result by domain in-process (summary)
solve_navier_stokes Sealed Navier-Stokes finite-instance result in-process (summary)

Stdin/stdout cleanliness: the protocol channel (stdout) is reserved for JSON-RPC envelopes; all logging goes to stderr. No print() calls anywhere in main.swift.


7 ยท AppIntent catalog (Siri + Spotlight)

Source of truth: Sources/GaiaFTCLApp/AppIntents/ and registry in FranklinAppShortcuts.appShortcuts. Every intent's perform() body delegates to PQCLIClient (CLI bridge) or an in-process facade โ€” never embeds substrate code.

Intent Title Parameters Delegates to
AskFranklinIntent Ask Franklin question SovereignLanguageModelGate.respond
ShowDiscoveryIntent Show Discovery Stream (none) substrate query
ShowSealStateIntent Show Seal State (none) substrate query
PlayRuliologyGameIntent Play a Ruliology Game game-name, intent enum SovereignLanguageModelGate.respond + play()
RebuildFranklinIntent Rebuild Franklin (none) xcodebuild -scheme Franklin
MinerStatusIntent Get BTC Miner Status (none) gaiaftcl cell status --json
StartMinerIntent Start BTC Mining (none) launch via QC020MinerLauncher
StopMinerIntent Stop BTC Mining (none) pkill -f M8BTCSubstrateMiner
FranklinResearchStatusIntent Get Franklin Research Status (none) substrate query
PauseFranklinResearchIntent Pause Franklin Research (none) FranklinLanguageGameDispatcher.pause
ResumeFranklinResearchIntent Resume Franklin Research (none) FranklinLanguageGameDispatcher.resume
CellHealthIntent Get Cell Health (none) gaiaftcl cell status
WalletListIntent List Crypto Wallets (none) gaiaftcl wallet list --json
CellIdentityIntent Get Cell Identity (none) gaiaftcl cell identity
FranklinReceivingAddressesIntent Get Franklin Receiving Addresses (none) gaiaftcl substrate show-btc-mining-payout-address
ProveKeychainIntent Prove Keychain Gate (none) gaiaftcl wallet prove-keychain
ProveLanguageGameIntent Prove IMPORT_CURES Reverse Arm (none) gaiaftcl wallet prove-language-game
ArrivalWatcherStatusIntent Get BTC Arrival Watcher Status (none) substrate query
RecoverPatoshiToMirrorIntent Recover Patoshi To Mirror limit, csv-path gaiaftcl patoshi safeguard
RecoverPatoshiFromCSVIntent Recover Patoshi From CSV csv-file gaiaftcl wallet recover-patoshi-batch
SyncKeychainToICloudIntent Sync Keychain To iCloud (none) KeychainGateService sync flow
NotarizationSetupIntent Setup Franklin Notarization (none) Keychain gate prep
FranklinStatusGameIntent Franklin Status Game (none) in-process game state
FranklinEmojiPoetryIntent Franklin Emoji Poetry (none) emoji poetry from receipts
FranklinConversationIntent Franklin Conversation (none) initiate conversation
PlayNaturalLanguageGameIntent Play Natural-Language Game game-type enum GFTCL-PROTO-001 emit
PlayRuliologyGameSchemaIntent Play a Ruliology Game (Schema) game-name, target-pubkey-hex PQCLIClient.walletShowState โ†’ RuliologyGameResult JSON
CheckWalletBalanceSchemaIntent Check Wallet Balance (Schema) (none) PQCLIClient.walletShowState โ†’ WalletBalanceResult JSON
CheckMinerStatusSchemaIntent Check Miner Status (Schema) (none) PQCLIClient.substrateShowBTCMiningPayoutAddress + QC020MinerLauncher.isMinerRunning โ†’ MinerStatusResult JSON
CheckCellHealthSchemaIntent Check Mesh Cell Health (Schema) (none) PQCLIClient.walletShowState โ†’ CellHealthResult JSON

Open registration item: the four *SchemaIntent intents + PlayNaturalLanguageGameIntent are defined and compile but are not currently appended to FranklinAppShortcuts.appShortcuts โ€” Spotlight/Siri discoverability requires that. See Section 10 โ€” open items.


8 ยท Ruliology game catalog (V234 receipt classes)

The substrate is the math; every play closes (CALORIE) or omits. These are the named games the cell seals to V234. Names are CHECK-constrained in V237/V239/V240/V241 migrations.

Game name Sealed at
ACCESS_KEY_ISSUED_MEMORY Sources/GaiaFTCLCore/FranklinAccessKey.swift:545
ACCESS_KEY_REVOKED_MEMORY Sources/GaiaFTCLCore/FranklinAccessKey.swift:605
BTC_BLOCK_FOUND_MEMORY Sources/GaiaFTCLCore/RuliologyBTCMiner.swift:298
BTC_BLOCK_SUBMITTED_MEMORY Sources/GaiaFTCLCore/RuliologyBTCMinerLoop.swift:439
BTC_DOMAIN_MANAGEMENT_TICK_MEMORY Sources/GaiaFTCLCore/BTCMiningDomainAgent.swift:470
BTC_MINING_TICK_MEMORY Sources/GaiaFTCLCore/BTCMiningDomainAgent.swift:287
C4_VALIDATION_MEMORY Sources/GaiaFTCLCore/FranklinDiscoveryImporter.swift:689
CATALOG_RUN_MEMORY Sources/GaiaFTCLCore/FranklinDiscoveryImporter.swift:770
CELL_MOORING_REFRESH_MEMORY Sources/GaiaFTCLCore/FranklinMooringDaemon.swift:220
CLIENT_CERT_GENERATED_MEMORY Sources/GaiaFTCLCore/FranklinAccessKey.swift:674
CLIENT_CERT_REVOKED_MEMORY Sources/GaiaFTCLCore/FranklinAccessKey.swift:739
CURE_DOSSIER_MEMORY Sources/GaiaFTCLCore/FranklinDiscoveryImporter.swift:336
ECDLP_RECOVERY Sources/GaiaFTCLApp/NaturalLanguage/NaturalLanguageGameRequest.swift:53
FOUNDATIONAL_DRIFT_MEMORY Sources/GaiaFTCLCore/FranklinDiscoveryImporter.swift:501
FOUNDER_CERT_GENERATED_MEMORY Sources/GaiaFTCLCore/FranklinAccessKey.swift:803
FOUNDER_CERT_REVOKED_MEMORY Sources/GaiaFTCLCore/FranklinAccessKey.swift:868
FRANKLIN_AVATAR_BUDGET_OVERRUN_MEMORY Sources/GaiaFTCLCore/FranklinAvatarManager.swift:176
FRANKLIN_ONTOLOGY_MEMORY Sources/GaiaFTCLCore/FranklinDiscoveryImporter.swift:450
FRANKLIN_XCODE_MEMORY Sources/GaiaFTCLCore/FranklinDiscoveryImporter.swift:385
LANGUAGE_GAME_TURN_MEMORY Sources/GaiaFTCLCore/FranklinDiscoveryImporter.swift:230
MEDIA_AUDIO_MEMORY Sources/GaiaFTCLCore/MediaMemoryIngester.swift:585
MEDIA_PHOTO_MEMORY Sources/GaiaFTCLCore/MediaMemoryIngester.swift:216
MEDIA_VIDEO_MEMORY Sources/GaiaFTCLCore/MediaMemoryIngester.swift:397
MIRROR_SWEEP_ARRIVAL_MEMORY Sources/GaiaFTCLCore/MirrorSweepArrivalWatcher.swift:289
NARRATOR_EVENT_MEMORY Sources/GaiaFTCLCore/FranklinDiscoveryImporter.swift:557
PATOSHI_PUBKEY_MEMORY Sources/GaiaFTCLCore/FranklinDiscoveryImporter.swift:837
PATOSHI_RECOVERY_TO_MIRROR Sources/GaiaFTCLCLI/Commands/CellReportCommand.swift:139
PATOSHI_SAFEGUARD_TICK_MEMORY Sources/GaiaFTCLCore/PatoshiSafeguardPipeline.swift:565
SENTINEL_WALK_MEMORY Sources/GaiaFTCLCore/FranklinDiscoveryImporter.swift:282
SHOR_ECDLP Sources/VQbitSubstrate/SelfImprovement/SelfImprovementFailureModeRegistry.swift:194
SHOR_ECDLP_CONSENSUS Sources/GaiaFTCLCore/FranklinLanguageGameDispatcher.swift:93
SHOR_ECDLP_FRAGMENT Sources/GaiaFTCLCore/FranklinLanguageGameDispatcher.swift:95
SUBSTRATE_ENTANGLEMENT_VERIFIED Sources/GaiaFTCLCLI/Commands/SubstrateEntanglementCommand.swift
SUBSTRATE_FAILURE_MODE_HYPOTHESIS_MEMORY Sources/GaiaFTCLCLI/Commands/SubstrateSelfImproveCommand.swift:976
SUBSTRATE_PROPOSAL_ACK_MEMORY Sources/GaiaFTCLCLI/Commands/SubstrateSelfImproveCommand.swift:883
SUBSTRATE_PROPOSAL_RETIRED_MEMORY Sources/GaiaFTCLCLI/Commands/SubstrateSelfImproveCommand.swift:929
SUBSTRATE_RESEARCH_MEMORY Sources/GaiaFTCLCore/FranklinDiscoveryImporter.swift:908
SUBSTRATE_SELF_IMPROVEMENT Sources/GaiaFTCLCLI/Commands/SubstrateSelfImproveCommand.swift
SUBSTRATE_TASK_RECEIVED_MEMORY Sources/GaiaFTCLCLI/Commands/SubstrateSelfImproveCommand.swift:836
SUPERVISOR_HEAL_MEMORY Sources/GaiaFTCLCLI/GaiaFTCLCLIEntry.swift:408
WALLET_REWARD_ARRIVAL_MEMORY Sources/GaiaFTCLCore/BTCMiningDomainAgent.swift:288
WALLET_SAFEGUARD Sources/GaiaFTCLApp/NaturalLanguage/NaturalLanguageGameRequest.swift:50
WIKI_PUBLISHED_MEMORY Sources/GaiaFTCLCLI/Commands/FranklinWikiPublishCommand.swift:202

9 ยท Zero-drift gates

Five greps and one boot probe โ€” when they all pass, no surface dangles.

# 1. GUI must not directly invoke miner symbols (B7 gate).
bash cells/xcode/scripts/ci/verify-gui-cli-boundary.sh

# 2. The composite gate runs every CI invariant the substrate's purity depends on.
bash cells/xcode/scripts/ci/zero-drift-check.sh

# 3. The 9 cells refuse to boot supervisor on layout drift.
sudo systemctl start gaiaftcl-verify-determinism.service     # cell-side
gaiaftcl cell verify-determinism                              # local

# 4. The substrate purity check โ€” no classical math in the substrate.
bash cells/xcode/scripts/ci/substrate-purity-check.sh

# 5. The Linux cell purity check โ€” no Apple-only frameworks in the cell path.
bash cells/xcode/scripts/ci/linux-cell-purity-check.sh

# 6. Vocabulary grep โ€” no REFUSED / cannot / limit as substrate verdicts.
grep -rn --include='*.swift' -E 'humanReadable.*("REFUSED"|"cannot"|"limit")' cells/xcode/Sources/

10 ยท Open items

The June 2026 audit found these dangling edges. All other categories are clean.

  1. AppIntents โ€” five intents defined but not in FranklinAppShortcuts.appShortcuts: PlayNaturalLanguageGameIntent, PlayRuliologyGameSchemaIntent, CheckWalletBalanceSchemaIntent, CheckMinerStatusSchemaIntent, CheckCellHealthSchemaIntent.
  2. launchd plist drift โ€” cells/xcode/config/launchd/com.gaiaftcl.franklin.gui.plist:50 references /tmp/Franklin.app/Contents/MacOS/Franklin; the actual install lives at ~/Applications/Franklin.app/Contents/MacOS/Franklin.
  3. MCP server tool surface โ€” the original plan named three tools (query-receipts, distribute-shor, get-cell-health); the implementation ships twelve (see Section 6). Either retire the three-tool plan (declare Section 6 canonical) or collapse the twelve behind the three.
  4. MCP WolframDistributedASMEvaluator integration โ€” the new actor in Sources/VQbitSubstrate/Distributed/ is reachable from the CLI side but not imported by the MCP server, so external agents can't drive ECDLP recovery through MCP.
  5. MCP REFUSED verdicts โ€” four error strings at main.swift:279, 282, 318, 356 violate doctrine_no_refusal_code_calorie_cure.
  6. MCP install script โ€” the binary now sits at the canonical path but there is no build-pipeline script that places it there; reinstalls must be manual.
  7. Test suite โ€” there is no integration test (Tests/IntegrationTests/E2EASMandMesh.swift) that asserts the catalogs in Sections 5โ€“8 are exhaustive. Adding it makes drift impossible to ship.

11 ยท Provenance + audit trail

  • Audit run โ€” 2026-06-18 โ€” parallel Explore agents over Franklin.app, GaiaFTCLCLI, GaiaCellMCPServer. Each returned a category-by-category zero-drift report; this page synthesizes all three.
  • Latest commits โ€”
  • 73338102 โ€” architecture B1โ€“B7: MCP server installed, sovereign LLM gate at startup, GUI/CLI boundary verified.
  • 29242cb9 โ€” drop @Generable from String-backed enums; simplify mustInitialize(); rewrite schema intents to use real PQCLIClient.
  • Build state โ€” Franklin.app (Swift 6.4, macOS 27) release green; GaiaFTCLCLI (Swift 6.3.2, Mac) release green; GaiaCellMCPServer (Swift 6.4) release green and installed.
  • Cell fleet โ€” 9 cells: hel-00, hel-01 (founder, central authority), hel-02..hel-04 (hcloud); nbg-00..nbg-03 (netcup). Last verified by scripts/cell-deploy/probe_mesh_fleet.sh.

See also: Home ยท V2-Index ยท GaiaFTCL-CLI-Reference ยท Franklin-As-Cell-Surface ยท Mac-Cell-Guide ยท Language-Game-Narrator


Federation-cosigned

This page's source is sealed in the GaiaFTCL federation manifest โ€” page SHA-256 1051dd6bccf49d10โ€ฆ, manifest witness 3d999b305397d96cโ€ฆ, signed 2026-07-17T15:45:53Z by cell gaiaftcl-mac-cell. Verify with gaiaftcl wiki sign --all and compare wiki-all-signatures.json.