Language-Game Jordan UI β Steward / User Guide¶
Live apex: https://gaiaftcl.com/language-game/ (also https://gaiaftcl.com/ui/)
Domain:gaiaftcl.com
Validated: 2026-07-17 β live open-curve inject exercised (topology=OPEN_CURVE,outcome=klein_flip)
Source UI:cells/xcode/Resources/language-game/
This page is for operators and stewards. It is not an LLM chat manual.
What this UI is / is not¶
| It is | It is not |
|---|---|
| A cooperative language compiler β five tools that turn multimodal boundary conditions into a Jordan-link topology | A chatbot, assistant, or conversation stream |
A zero-state dropzone: files + text are hashed to SCF / context_hash |
A place that appends turns to a chat memory array |
| An operator surface for OPEN β GATE β KLEIN_FLIP β ground β JORDAN_CLOSED | A vision-GGUF demo (cell apex currently runs PROTOCOL_DRILL when GGUF is absent) |
| Honest about PROVEN vs DECLARED columns | A claim that SwiftWasm / Carton / WebGPU SCF is sealed |
The header on the live page says it plainly: Cooperative compiler β not a chat.
Live validation (2026-07-17)¶
Open-curve inject on the public apex (concepts A=river, B=bridge, text arm filled, no Ground C/D):
| Field | Observed |
|---|---|
| HTTP | 200 |
outcome |
klein_flip |
topology |
OPEN_CURVE |
| Lock pill | LOCKED β ground required |
| SCF (client) | cbf4f34d6c508424d3a4acd5010e5213 |
| Demand | ground:supply_C_to_close_loop_or_provision_GGUF_on_cell |
| GGUF on cell | absent on cell β PROTOCOL_DRILL only |
Receipt JSON snapshot: media/language-game/inject-evidence.json.
Screen captures¶
1 Β· Landing / Multimodal Ingestion Buffer¶

2 Β· SCF Hash Generator (idle)¶

2b Β· SCF after text arm¶

3 Β· KLEIN_FLIP Resolution Console (after open-curve inject)¶

4 Β· WORM Ledger Viewport¶

5 Β· Cβ΄ Topological Canvas (empty until HEAL)¶

Full page after inject¶

Local draft parity (cells/xcode/Resources/language-game/)¶

The five tools¶
1 Β· Multimodal Ingestion Buffer¶
Job: Accept boundary conditions. Nothing is stored as chat history.
| Control | Use |
|---|---|
| Dropzone | Drop heic / jpeg / png / webp / audio / miniSEED (or other β telemetry arm) |
| Text arm | Boundary-condition text (hashed into SCF when no image arm is present) |
| Concept A / B | The open edge of the Jordan curve β required before inject |
Arms are listed under the dropzone once a file is accepted. On lock (KLEIN_FLIP), A/B/text/dropzone disable until you supply ground and close.
2 Β· SCF Hash Generator¶
Job: Show the client-side Spatial Chordal Fingerprint (128-bit hex) and format list.
- Continuous pixels / bytes are reduced locally; only the SCF hex is intended to leave the browser for lookup.
context_hashis server-authoritative β the UI shows(server on inject)until the inject response returns a hash.- Panel copy is honest: CPU
scf.jsis the PROVEN sealed path; SwiftWasm is DECLARED (not claimed built).
3 Β· KLEIN_FLIP Resolution Console¶
Job: Drive the topology turn.
| Control | Use |
|---|---|
| Topology banner | Shows IDLE / OPEN_CURVE / heal labels + truncated SCF |
| Ground C / D | Supply after lock to attempt loop close |
| Open curve / Ground + close | POST to /language-invariant/inject |
| Status line | HTTP code + outcome / error |
4 Β· WORM Ledger Viewport¶
Job: Read-only receipts β OPEN / GATE / KLEIN_FLIP / HEAL. Zero live chat memory.
On PROTOCOL_DRILL (no GGUF on cell), you see the KLEIN_FLIP DEMAND block and the raw JSON response. Full turn-kind receipt rows appear when the Mac/cell CLI path seals them into language.sqlite.
5 Β· Cβ΄ Topological Canvas¶
Job: Integer node snaps of a bonded cycle after JORDAN_CLOSED / HEAL.
Until then the canvas shows: empty Cβ΄ β awaiting JORDAN_CLOSED.
Flow: OPEN β GATE β KLEIN_FLIP β ground β JORDAN_CLOSED¶
Canonical cooperative game (Mac protocol + live UI):
IDLE
β supply A, B (+ optional multimodal arms)
βΌ
OPEN / OPEN_CURVE β inject without enough ground
β
βΌ
GATE β linker / I_PF / homology (CLI path)
β
ββ fail βββΊ KLEIN_FLIP β UI LOCKS; demand Ground C/D (or GGUF)
β β
β βββ re-inject with ground βββΊ GATE again
β
ββ pass βββΊ HEAL / JORDAN_CLOSED
β
βββ Cβ΄ canvas draws cycle; UNLOCKED
Operator walk (public apex today):
- Open https://gaiaftcl.com/language-game/.
- Enter A and B (example:
river/bridge). Optionally fill the text arm or drop a file. - Click Open curve / Ground + close.
- Expect LOCKED +
topology=OPEN_CURVEwhen the cell has no multimodal GGUF (PROTOCOL_DRILL). - Supply Ground C (and D if demanded), click again β or provision GGUF on the cell for full model stress.
- On heal: lock clears, WORM shows HEAL, Cβ΄ draws the cycle.
Multimodal arms¶
| Arm | Typical input | UI field / body key |
|---|---|---|
| text | boundary string | #textArm β text |
| heic | Apple HEIC | drop β heic_b64 |
| jpeg | .jpg / .jpeg |
drop β jpeg_b64 |
| png | .png |
drop β png_b64 |
| webp | .webp |
drop β webp_b64 |
| audio | audio/*, .wav, .mp3 |
drop β audio_b64 |
| telemetry | miniSEED / other bytes | drop β telemetry_b64 |
Primary visual arm (heic β jpeg β png β webp) wins for SCF; otherwise the text arm bytes are fingerprinted.
Honest limit: Vision GGUF decode on Linux edge cells is not claimed here. The apex inject helper prefers gaiaftcl language-invariant inject when CLI + GGUF exist; otherwise it returns PROTOCOL_DRILL JSON (UI/SCF path still live).
SCF β Spatial Chordal Fingerprint¶
What it is: A 128-bit fingerprint of a byte lattice: reshape bytes onto a grid, extract 15 morphogenetic integer ratios, FNV-fold to UInt128 (hi||lo β 32 hex chars). No Double. Algorithm shared by:
| Layer | Status |
|---|---|
Swift InvariantCompiler.SpatialChordalFingerprint |
PROVEN sealed path (compile/runtime) |
Browser scf.js |
PROVEN client mirror (byte-identical fold) |
scf.wgsl WebGPU shader |
Stub / acceleration hook β mass accumulation only; full 15-property parity stays in scf.js |
| Metal pixel-decode path | Named for later decode; compressed arms still fingerprint as byte lattice today |
| SwiftWasm / Carton | DECLARED in UI copy β do not claim built until the toolchain is installed |
SCF is a ledger key for lookup (/language-invariant/scf-lookup), not a model embedding.
I_PF PROVEN vs flourishing DECLARED¶
From PublicFlourishingInvariant:
[ I_{PF}(A,B,\kappa) = (lk \neq 0) \land \rho \land \tau \land \omega \land \sigma ]
| Column | Meaning |
|---|---|
| PROVEN | Geometry terminals: connective / viable / closed / scale-stable (or explicit failure labels like PROVEN_OPEN_CURVE, PROVEN_UNLINKED) |
| DECLARED | flourishingDeclared β a person (steward) declares flourishing; never auto-true from geometry alone |
Trap to avoid: reading a green I_PF geometry seal as βflourishing.β Geometry proves linkage; a person declares flourishing.
language.sqlite vs substrate.sqlite¶
| Database | Role |
|---|---|
language.sqlite |
Language-game / SCF index / cooperative inject ledger. Default on cells: /var/lib/gaiaftcl/language/language.sqlite. This is what the inject helper uses. |
substrate.sqlite (V234) |
Live ruliology / CALORIEβCURE mesh ledger. Not the language inject DB. |
Do not point the cooperative UI helper at the live substrate ledger. Separation keeps language drills from writing into mesh consensus rows.
IQ / OQ / PQ for operators¶
GaiaFTCL qualification vocabulary (GAMP-style), applied to this surface:
| Stage | Question for this UI |
|---|---|
| IQ β Installation | Is /language-game/ (and /ui/) serving index.html, ui.js, ui.css, scf.js? Does POST /language-invariant/inject answer? |
| OQ β Operational | Does open-curve inject without ground yield OPEN_CURVE / lock? Does SCF hex update from text/files? Does Cβ΄ stay empty until heal? |
| PQ β Performance | Under load / with GGUF provisioned: does inject seal receipts into language.sqlite, close Jordan cycles, and keep PROTOCOL_DRILL out of the path? |
Related wiki pages: IQ β Installation Qualification, OQ β Operational Qualification, PQ β Performance Qualification.
DNS / fleet note (brief)¶
- Public hostname:
gaiaftcl.com(notgaiaFTCCL). - Edge cells host static UI under mesh site staging (e.g.
/opt/gaiaftcl-mesh/srv/site/language-game/) and/or/var/lib/gaiaftcl/language-game/. - Inject sidecar:
language-inject-helper.pyon port 8787 (Caddy proxies/language-invariant/*). - Deploy conduit:
cells/xcode/scripts/cell-deploy/deploy-language-game-ui.shβ each node enacts its own pull; do not burn GoDaddy API for routine UI publish.
What we do not claim on this page¶
- Vision GGUF inference is live on the public apex (today: PROTOCOL_DRILL when GGUF absent).
- SwiftWasm / Carton SCF path is shipping.
- WebGPU
scf.wgslreplacesscf.jsas the sealed fingerprint. - This UI is an LLM chat product.
- Secrets, API keys, or wallet material (none belong in this guide).
Source map¶
| Piece | Path |
|---|---|
| HTML / CSS / JS | cells/xcode/Resources/language-game/ |
| SCF JS | β¦/scf.js |
| WGSL stub | β¦/scf.wgsl |
| Inject helper | cells/xcode/scripts/cell-deploy/language-inject-helper.py |
| Deploy | cells/xcode/scripts/cell-deploy/deploy-language-game-ui.sh |
| Swift SCF | cells/xcode/Sources/InvariantCompiler/SpatialChordalFingerprint.swift |
| I_PF | cells/xcode/Sources/InvariantCompiler/PublicFlourishingInvariant.swift |
| Turn protocol | cells/xcode/Sources/InvariantCompiler/LanguageChatUIProtocol.swift |
| Screenshots | wiki/media/language-game/ |
Publish this page¶
Repo path: wiki/Language-Game-Jordan-UI.md (this file).
Suggested publish (after the page is committed on main):
That clones gaiaftcl-sudo/gaiaFTCL.wiki.git, rsyncs wiki/, and pushes. Until then, the live cooperative UI at /language-game/ is already public; this steward page lands on the GitHub wiki after publish_wiki.sh.
Optionally re-run deploy-language-game-ui.sh only if the static UI assets themselves changed β not required for wiki-only docs.
Federation-cosigned
This page's source is sealed in the GaiaFTCL federation manifest β page SHA-256 757af71a5777be36β¦, 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.