IQ — Installation Qualification
Installation Qualification confirms that the Franklin.app sovereign bundle is correctly assembled and all required components are present and reachable before any operational use begins.
Document reference: GFTCL-IQ-001-M8
Framework: GAMP 5 | EU Annex 11
Stack: Pure Swift 6.2 / SPM — no external runtime dependencies
---
When to Run IQ
IQ runs automatically inside Franklin.app at qualification time. Re-run after:
- Rebuilding or re-installing the sovereign DMG
- Upgrading macOS
- Updating the Swift toolchain
---
Prerequisites
| Requirement | Specification |
|---|---|
| Operating system | macOS 26.0+ (LSMinimumSystemVersion) |
| CPU | Apple Silicon (arm64) |
| Swift toolchain | Swift 6.2+ |
| Xcode Command Line Tools | Current version |
| Franklin.app | Assembled via scripts/build_sovereign.sh |
---
Running IQ
In-app (runtime gate — 7 checks):
1. Launch Franklin.app
2. Click ⬡ status bar icon → Run Qualification…
3. Click RUN QUALIFICATION — IQ runs first, immediately
Build-time (CI gate — ~20 IQ-tier tests):
cd cells/xcode
swift test --filter GaiaFTCLIQTests
---
IQ Checks (7 in-app checks)
| ID | Name | What it verifies | Passes when |
|---|---|---|---|
| IQ-001 | Franklin sovereign binary active | App is executing | Trivially true at runtime |
| IQ-002 | VQbitVM bundled | Contents/Resources/bin/VQbitVM present in app bundle |
File exists and is executable |
| IQ-003 | FranklinConsciousnessService bundled | Contents/Resources/bin/FranklinConsciousnessService present |
File exists and is executable |
| IQ-004 | Sovereign NATS bus live | TCP connection to 127.0.0.1:4222 succeeds |
Connect within 2s |
| IQ-005 | C4MemoryStore schema valid | GRDB SQLite schema passes migration | recall(query:limit:) returns without throwing |
| IQ-006 | Quantum algorithm catalog complete | Language game contracts table sums correctly | SUM(algorithm_count WHERE domain LIKE 'quantum%') == 19 |
| IQ-007 | S4DeltaWire codec frozen | Wire format is byte-exact | S4DeltaCodec.encode(wire).count == S4DeltaWire.byteCount (53 bytes) |
---
App Bundle Layout
Franklin.app/
Contents/
MacOS/
Franklin ← sovereign entry point
Resources/
bin/
VQbitVM ← IQ-002
FranklinConsciousnessService ← IQ-003
GaiaFTCL_GaiaFTCL.bundle ← SPM resource bundle
GaiaFTCLScene_GaiaFTCLScene.bundle
Info.plist
PkgInfo
---
Evidence — 2026-05-09 qualification run
Run timestamp: 2026-05-09T10:12:42Z
Platform: macOS Version 26.4.1 (Build 25E253) · Swift 6.2
Verdict: CALORIE — 7/7 pass
| ID | Result | Detail |
|---|---|---|
| IQ-001 | ✅ PASS | Franklin.app instantiated and executing on macbook-pro.local |
| IQ-002 | ✅ PASS | .../dist/Franklin.app/Contents/Resources/bin/VQbitVM |
| IQ-003 | ✅ PASS | .../dist/Franklin.app/Contents/Resources/bin/FranklinConsciousnessService |
| IQ-004 | ✅ PASS | NATS broker responding on nats://127.0.0.1:4222 |
| IQ-005 | ✅ PASS | Memory store accessible, 0 records visible |
| IQ-006 | ✅ PASS | Found 19 quantum algorithms (expected 19 per OQ-QM-007 invariant) |
| IQ-007 | ✅ PASS | S4DeltaWire serialises to exactly 53 bytes |
Receipt written to ~/Library/Application Support/GaiaFTCL/qualification/IQ-<timestamp>.json
Full results dashboard:
!Sovereign Qualification — full 19/19 results
---
IQ Acceptance Criteria
| Criterion | Requirement |
|---|---|
| Check count | Exactly 7 checks executed |
| Pass rate | 100% — zero failures permitted |
| Receipt | IQ-<timestamp>.json with overallStatus: "CALORIE" |
---
Build and assemble
# Full sovereign build (produces Franklin.app + DMG)
cd cells/xcode
bash scripts/build_sovereign.sh --release
# Verify app bundle structure
ls Franklin.app/Contents/Resources/bin/
# Expected: FranklinConsciousnessService VQbitVM
---
See also
- Sovereign-M8-Qualification — full IQ/OQ/PQ specification
- OQ-Operational-Qualification — operational checks (requires IQ CALORIE)
cells/xcode/docs/SOVEREIGN_BUILD.md— build system detailcells/xcode/docs/GAMP5_QUALIFICATION.md— complete check specification
21ab52e25dac042563592ef34c2fe0cd2d41c0244da2f40ce336fc0012b304f4.
This page serves with a substrate-honest pending-signature notice until the operator's Franklin signer cosigns it.