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
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) |
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.
- AppIntents โ five intents defined but not in
FranklinAppShortcuts.appShortcuts: PlayNaturalLanguageGameIntent, PlayRuliologyGameSchemaIntent, CheckWalletBalanceSchemaIntent, CheckMinerStatusSchemaIntent, CheckCellHealthSchemaIntent.
- 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.
- 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.
- 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.
- MCP
REFUSED verdicts โ four error strings at main.swift:279, 282, 318, 356 violate doctrine_no_refusal_code_calorie_cure.
- 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.
- 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.