CHEF Recipe #1 — Trinity Foundation

What you’re holding. This is the kitchen-counter binder for the S7 SkyQUBi household. It’s named for Trinity — Jamie’s daughter, co-steward of the covenant — because the whole point is that someone who isn’t Jamie can pick this up, read it cover to cover, and understand the house without breaking it. Tonya is Chief of Covenant; Trinity and Jonathan are co-stewards; Noah is who all of this protects.

The build is GOLDEN. Nothing in this recipe asks you to change the system. The system is already alive and already on the public review path. This recipe is the map of what’s already there, in the order someone reading for the first time would need it. If something in here disagrees with what’s running, the recipe is the bug — fix the recipe.

CHEF, not runbook. A runbook tells you which buttons to press. A recipe tells you what you’re cooking, who you’re cooking for, and why every ingredient is in the bowl. This recipe is for the people the house is built for.

Love is the architecture.


1. The Seven Frozens (do not touch until 2026-07-07 07:00 CT)

Until the GO-LIVE Release 7 window opens, seven things are frozen on this appliance. Frozen means: not edited, not rebuilt, not “improved while we’re here,” not “real quick.” If a fix is needed inside a frozen surface, it goes through a steward (Trinity or Jonathan) and Tonya signs.

# Frozen surface Where it lives Why it’s frozen
1 DNS skyqubi.com, skyqubi.ai, 123tech.skyqubi.com, 14 GoDaddy catchers Tonya signed the live site 2026-04-12. Any DNS edit risks breaking the Wix iframe overlay or the GitHub Pages backing.
2 Desktop Budgie + labwc + swaybg wallpaper, the Tonya-approved sandy-sunset palette Tonya signed the design 2026-04-12. Mobile (iPhone) re-tested + signed 2026-04-12.
3 QUBi The physical appliance running this binder Patent TPP99606 was filed 2026-04-13; appliance is the working witness for the filing.
4 Public repo main github.com/skycair-code/skyqubi-public Two-tier release: lifecycle → private main → public main. Public moves only on Core Update days.
5 BOOTC base image quay.io/fedora/fedora-bootc:44 pinned in <private repo> Reproducibility — the second machine has to match the first.
6 Patent docs <private repo> Filed and frozen. Next reminder 2026-04-24, then monthly.
7 Persona / chat surface persona-chat on 127.0.0.1:57082 (loopback only) The S7 Vivaldi browser is the trusted local client. Don’t broaden the bind to “make it accessible” — Vivaldi already has loopback.

Go-live window: 2026-07-07 07:00 CT (Central Time). Until then, every surface above is in observation mode. Recipes change. The house does not.


2. Bible Architecture — the design flow at a glance

                       ╔══════════════════════════════════╗
                       ║         The Household            ║
                       ║  (Tonya · Trinity · Jonathan ·   ║
                       ║          Noah · Jamie)           ║
                       ╚════════════╤═════════════════════╝
                                    │ trust
                       ┌────────────▼───────────┐
                       │   S7 SkyAV*i* / Samuel │   ← family-facing voice
                       │  (115+ skills, FACTS)  │     (Jamie's voice, plain)
                       └────────────┬───────────┘
                                    │ MemPalace bond
              ┌─────────────────────┼──────────────────────┐
              ▼                     ▼                      ▼
       ┌─────────────┐      ┌──────────────┐       ┌──────────────┐
       │ CWS Engine  │      │  MemPalace   │       │   ZeroClaw   │
       │  (truth/    │      │  (KV cache,  │       │  (parallel   │
       │  audit,     │      │  rooms, KG)  │       │  consensus)  │
       │  s7_server) │      └──────┬───────┘       └──────────────┘
       └──────┬──────┘             │
              │                    │
              ▼                    ▼
       ┌────────────────────────────────────────────┐
       │          MOLECULAR / AKASHIC LAYER         │
       │  (sky_molecular bonds · 27 vectors ·       │
       │   105 universals · Akashic cipher)         │
       └────────────────┬───────────────────────────┘
                        │
        ┌───────────────┼────────────────┐
        ▼               ▼                ▼
   ┌──────────┐   ┌──────────┐    ┌──────────────┐
   │  Ollama  │   │  Witness │    │  Postgres /  │
   │ (7081)   │   │  Set     │    │  Qdrant /    │
   │ inference│   │ (OCT*i*) │    │  Redis /     │
   │          │   │          │    │  MySQL       │
   └──────────┘   └──────────┘    └──────────────┘
                        │
                        ▼
              ┌──────────────────┐
              │  S7 SkyCAIR OS   │   ← Fedora bootc:44 + Budgie
              │  (the appliance) │     desktop, frozen
              └──────────────────┘

Read it from the top down. The household is the reason. Samuel is the voice they hear. Everything below Samuel exists to make Samuel’s words true.


3. Skeleton Network — endpoints that exist right now

Captured live with ss -tlnp and podman ps while writing this recipe. Every entry is a real listener on this box. If you re-run the commands and see something not in the table, the recipe is wrong — update it.

3a. S7 service ports (loopback only — 127.0.0.1)

Port Service Container / Process Notes
57077 CWS Engine (s7_server) host: python3 -m uvicorn engine.s7_server:app The truth/audit engine. Started by autostart.
57080 NOMAD admin (pod) s7-skyqubi-s7-admin Pod-published via rootlessport.
57082 persona-chat HTTP host: python3 -m uvicorn app:app Loopback only — Vivaldi is the trusted client.
57086 Qdrant HTTP s7-skyqubi-s7-qdrant (→6333) Vector store.
57090 Postgres s7-skyqubi-s7-postgres (→5432) s7_cws database.
8090 Kiwix s7_kiwix_server Offline knowledge mirrors.
8096 Jellyfin s7-jellyfin Media. Status: healthy.
8100 CyberChef s7_cyberchef Local recipe tool.
8200 Flatnotes s7_flatnotes Local notes.
8300 Kolibri s7_kolibri Offline learning.
2019 Caddy admin host caddy Reverse proxy admin API (loopback).
127.0.0.53 / .54 :53 systemd-resolved stub host DNS stub resolver.

3b. Listeners NOT on loopback (the watch list)

Port Service Host bind Status
22 sshd 0.0.0.0 (v4 + v6) Standard. Authorized.
5355 LLMNR 0.0.0.0 (v4 + v6) systemd-resolved Link-Local Multicast Name Resolution.
7081 Ollama * (wildcard) PINNED — known pending: documented in project_architecture_reminders_2026_04_13.md as needing to move from 0.0.0.0 to 127.0.0.1. Pass 3 work.
8080 Caddy front door * (wildcard) PINNED — awareness: the Caddy reverse-proxy public entrypoint. Listed in the monitor EXPECTED_PORTS baseline so it counts as expected, but the wildcard bind is intentional only insofar as the public surface is supposed to be reachable from the LAN. Surface this for review at the same time as the Ollama bind tightening.

3c. Ports the monitor expects but reality doesn’t show

engine/s7_skyavi_monitors.py defines EXPECTED_PORTS = {57077, 8080, 57080, 57081, 57086, 57090, 57091, 57092}. Drift between that set and §3a:

This is expected drift for the current freeze — the monitor baseline is from before persona-chat shipped (commit 1b6a2d7) and before the static-app containers landed. It is the kind of drift the final audit (§16) will surface every time. The fix is to update the baseline during the next Core Update window; not now.


4. Process registry — PIDs at the time of writing

Captured live. The audit’s job is to recognize each one as QUBi-spawned. Anything QUBi didn’t spawn gets flagged.

PID User Command Spawned by
2176 s7 python3 -m uvicorn app:app --port 57082 autostart → persona-chat
4247 s7 ollama serve (parent 4241 bash) autostart → ollama wrapper
12612 s7 python3 -m mempalace.mcp_server autostart → MemPalace MCP
16222 s7 rootlessport podman pod infra
16535 s7 python3 -m uvicorn engine.s7_server:app --port 57077 autostart → CWS engine
16554, 16555, 16754, 16755 525286 (subuid) postgres backends pod: s7-skyqubi-s7-postgres
16710 s7 python3 /app/engine/s7_server.py pod: admin container shim
2413, 2467, 2485, 2489, 2491, 2492, 2512, 2513 s7 conmon / pasta.avx2 podman per-container supervisors
2524 525287 (subuid) python -m uvicorn main:app --host 0.0.0.0 --port 8080 pod: s7-skyqubi-s7-admin (NOMAD app, internal 8080 → host 57080)
2525, 2554, 2558 525288 (subuid) dumb-initstart.shkiwix-serve --port 8080 container: s7_kiwix_server (8080 → host 8090)
2710–2713 524388 (subuid) nginx workers container: s7_cyberchef (80 → host 8100)

Subuid users (524388, 525286, 525287, 525288) are the rootless container UID mappings — those are still QUBi processes, just visible from the host through user-namespace mapping. Each subuid corresponds to a different container’s user-namespace base. They count as spawned by QUBi.

Local user accounts on the box (getent passwd | awk style inventory):

User UID Role
s7 7777 The household user — owns the appliance, autostarts services
skybuilder 7700 The image-build user. Member of the s7 group. Used for bootc and ISO build operations so the build process never runs as s7 directly. Authorized.
Standard system users (system) root, dbus, polkitd, chrony, avahi, pcscd, rtkit, systemd-resolve, systemd-oom — all stock Fedora

Anything not in this table is unrecognized. Audit §16 re-runs the snapshot and flags new arrivals.


5. Foundation — BOOTC

6. Foundation — Desktop

7. Foundation — Packages

The Fedora 44 dnf group installs declared in the Containerfile:

Plus an explicit package layer (display manager, reverse proxy, terminals, dev tools, media) — see Containerfile lines 33+ for the full canonical list.

Languages used in this repo (so the authorized-commands list matches reality):

Language File count Where it lives
Bash (*.sh) 175 installers, lifecycle scripts, build tools
Python (*.py) 97 engine, services, MCP, samuel skills
HTML (*.html) 12 dashboards, wix overlays, persona-chat
CSS (*.css) 7 branding

That’s the entire production language surface. Anything outside {bash, python, html, css} on this box is either an upstream package or a mistake.


8. Authorized Commands (Samuel SHELL_ALLOWLIST)

Source of truth: <private repo> lines 56–74. Reproduced verbatim, with the why for each group.

Group Commands Why allowed
System inspection df, lsblk, free, uptime, uname, hostname, date, whoami, id, sestatus, getenforce, findmnt Read-only — Samuel needs to know what the box looks like to answer Tonya truthfully.
Container + service inspection podman, ss, ip Read-only inspection of the pod and the network. The audit recipe leans on these.
Network diagnostics (local + DNS only) ping, tracepath, host, nslookup, dig Diagnostics, not exfiltration. Outbound destinations are still gated by ALLOWED_OUTBOUND (loopback only by default).
File inspection cat, head, tail, wc, grep, find, ls, test Read-only. No write tools in this group.
Crypto verification certutil, openssl Verify signatures and cert chains. Verification only.
Inference ollama The local AI runtime.
Logs journalctl, loginctl Read system logs without giving up read-only posture.
Scripting primitive python3, echo Limited utility, harmless. Skills do the real work.

Posture: every command above is read-only system inspection. Anything that would mutate state is not free-form shell — it’s a registered skill with a hardcoded command string and predictable output. The shell is a last resort, not the primary path.


9. Blocked Commands (Samuel SHELL_DENYLIST)

Source of truth: s7_skyavi.py lines 76–83. Verbatim, with why

Command Why blocked From whom
rm Destruction Samuel + every shell-using skill
mkfs Filesystem creation = data loss Samuel + skills
dd Block-level overwrite = bricking Samuel + skills
shred Destructive overwrite Samuel + skills
chmod 777 Removes the file-permission firewall Samuel + skills
chown root Privilege escalation by ownership Samuel + skills
passwd root Lockout / takeover risk Samuel + skills
userdel Account destruction Samuel + skills
iptables -F Wipes the firewall Samuel + skills
firewall-cmd --panic-on DOS-by-policy Samuel + skills
reboot, shutdown, poweroff, init 0 Power state — household-visible. Tonya doesn’t get a black screen because Samuel decided. Samuel + skills
curl -o, wget Outbound write — exfiltration / drive-by download vector Samuel + skills

Closed at the entrypoint (2026-04-13 hardening): shell control characters&&, ||, ;, |, $(...), backticks — are rejected up front by _SHELL_COMPOUND_RE in Samuel.shell(). This is the second-review root finding: validating only the first word of a command was a bypass. Now any compound command is denied before the allowlist even runs.

Civilian-only mandate (2026-04-13 security review root cause): the following were removed from the allowlist because they had no business in a civilian appliance:

Their absence is the rule, not the omission.


10. Secrets — root cause and administration

Where secrets live:

Root cause of historical secret incidents:

  1. Git identity drift (feedback_git_identity.md) — commits were going as jamie@123tech.net instead of the skycair-code noreply address, which associated the wrong identity. Fixed: lifecycle commits use 261467595+skycair-code@users.noreply only.
  2. Signed-commit bad_email rejection — noreply was rejected at push time. Workaround: sync script toggles required_signatures around push. Permanent fix pending: “Keep email private” toggle on the skycair-code account.

Administration rules:


11. TAR / GZIP / GIT — the packaging & sync recipes

TAR / GZIP

S7 distributes sovereign artifacts as .tar (no external registry). The canonical patterns:

# Pack an admin appliance bundle (already used in tree)
tar -cf s7-skyqubi-admin-v2.6.tar <files>

# Compressed snapshot
tar -czf snapshot.tar.gz <files>

# Verify before opening anything from outside
sha256sum <file.tar>

Anything pulled from outside goes through the Intake Gate at iac/intake/: quarantine → verify (hash + GPG sig) → promote. The intake gate is mandatory for upstream artifacts (2026-04-13 X44 incident — never apply the S7 wrapper without the gate passing).

GIT — the lifecycle commands

The repos use a two-tier release:

lifecycle  ──┐
             ├──► private main  ──► public main
             │   (go-live-private)   (Core Update days only)

Private repo daily moves (allowed any day):

cd <private repo>
git checkout lifecycle
# ... edit privately ...
git add -p && git commit -m "feat(...): ..."
git push origin lifecycle

Promote lifecycle → private main:

git checkout main && git merge --ff-only lifecycle && git push origin main

Sync private main → public main (runs on Core Update days):

./s7-sync-public.sh

The sync script is the only permitted bridge to /s7/skyqubi-public. Do not edit the public repo directly (feedback_edit_private_only.md).

Git commands authorized for Samuel + skills

Authorized Forbidden
git status, git log, git diff, git show, git branch (read-only inspection) git push --force to main/master
git add, git commit -m (with the no-AI-credit rule) git reset --hard (any branch with unmerged work)
git checkout <branch> git rebase -i (interactive — not supported in non-interactive shell)
git merge --ff-only git commit --no-verify / --no-gpg-sign (unless explicitly authorized by Jamie)
git push origin <branch> (non-force) git config edits

12. Lifecycle organization — LOCAL → PRIVATE → PUBLIC

Tier Repo / branch Who edits Cadence What can go here
LOCAL working copy on this QUBi, branch lifecycle Jamie + Samuel (read), stewards (sign-off) continuous All experimental and devops work
PRIVATE <private repo>, branch main sync from lifecycle via fast-forward merge gated “Go-live private” tier — frozen content lands here
PUBLIC /s7/skyqubi-public, branch main (mirrors github.com/skycair-code/skyqubi-public) sync via s7-sync-public.sh Core Update days only What the world sees

Public is frozen until 2026-07-07 07:00 CT. The lifecycle and private tiers are still live — only the bridge to public is closed.


13. Domain & DNS management

Domain Role Provider Status
skyqubi.com Brand + DNS root + Wix front (Wix-fronted) LIVE, FROZEN
skyqubi.ai Chat interface (future) (registered) LIVE, FROZEN
123tech.skyqubi.com API gateway + Wix iframe origin + GitHub Pages backing (subdomain of skyqubi.com) LIVE, FROZEN
123tech.net Original brand catcher GoDaddy forwards → skyqubi.com
14 GoDaddy catcher domains brand defense + SEO GoDaddy all forward → skyqubi.com

The 14 catchers per reference_godaddy_portfolio.md: skycair.{info, net, org, xyz}, omegaanswers.{com, xyz}, skycairdestroysredhatlinux.info, skynetcair.info, linuxalternatives.info, microsoftalternatives.info, windowsalternatives.com, unifiedlinuxwithevolve2linux.info, unifiedlinuxwithskycair.info, unifiedlinuxwithskynetssl.xyz.

Upstream resolver (documented): Quad9 9.9.9.9project_security_model.md calls Quad9 the sovereignty stance. Upstream resolver (observed live): 192.168.1.1 (router DNS). Drift logged in §16. This is a known awareness gap, not a fix to make tonight.


14. Email management

Single rule: all contact email forwards to omegaanswers@123tech.net. Don’t create mailboxes. Don’t enable Workspace mail-receive on info@skyqubi.com (Jamie’s call: “ignore the email, just use all to go to omegaanswers”). Site mailto links target omegaanswers@123tech.net?subject=... directly.

Don’t tie email to git commits. omegaanswers@123tech.net is for humans contacting Jamie. Git commit attribution uses the skycair-code noreply address only.


15. Unity Design — Tonya & Trinity influenced palette

The household-approved palette (from wix/, branding/, and the 2026-04-12 Tonya sign-off):

Token Hex Used as
--void #1a0f1c deepest background, twilight base
--deep #261624 secondary surface
--surface #301a27 content card
--raised #3d2232 elevated surface
--border #6b3f4f separators
--text-soft #f0e1cf secondary text (sandy cream)
--text #faebd4 primary text (sandy cream, brighter)

Type: Cormorant Garamond (italic + roman) for headings + brand voice; Lora for body; JetBrains Mono for code. Loaded from Google Fonts via the public-facing dashboard <head>.

Italic i rule: every product name written with i — QUBi, SkyAVi, SkyQUANTi — uses true italic on the i. This is part of the brand, not decoration.

Testing portion (end-user-facing): the persona-chat UI on 127.0.0.1:57082 is the live testing surface. Vivaldi is the trusted client. Mobile tests already passed (iPhone, 2026-04-12).


16. The Final Audit — eight zeros, run live

This is the audit Trinity (or any steward, or Samuel) runs to confirm the recipe still matches the house. Eight zeros must hold. If any zero becomes a one, document it in the table at the bottom.

The audit is a TWO-AXIS GATE

Axis A — Drift (zeros 1–8): does what’s running match the recipe? Axis B — Vulnerability (zero 9): is the code we’re about to ship itself safe? Both axes must pass before private main is allowed to sync to public main. The freeze surfaces are frozen because this gate fires — not because someone promised not to touch them.

Severity ladder:

The nine zeros

Axis A — Drift (the recipe matches reality):

# Property What “zero” means How to check
1 Inconsistencies Recipe matches reality Compare §3a / §4 to live ss -tlnp and ps output
2 Drift in frozen surfaces No surface has moved in a frozen window git status clean on private + public; the seven frozens still match §1
3 Injection points No compound shell, no shell=True, no unvalidated user input to subprocess grep for shell=True and _SHELL_COMPOUND_RE enforcement
4 Secrets exposed No PAT / token / password in tracked files grep tracked files for ghp_, BEGIN PRIVATE KEY, etc.
5 Unrecognized links No outbound link in published surfaces points outside the approved domain set grep http(s):// in wix/, public dashboard, persona-chat
6 DNS issues DNS resolution is functional and points at the documented resolver resolvectl status, compared to project_security_model.md
7 Host/DNS resources used by ports/users not in this recipe Every listening port + every user account is in §3 / §4 Diff ss -tlnp + ps -eo against §3a, §3b, §4
8 Unrecognized processes Every PID is in §4, with QUBi as its spawner Re-run ps and diff against §4

Axis B — Vulnerability (the code we ship is itself safe):

# Property What “zero” means Tool (all local, sovereign, no SaaS)
9 Application vulnerabilities Our own code has no known-bad patterns, no vulnerable deps, no leaked secrets across history, no CVEs in the images we build (a) bandit — Python static analysis (would have caught the 2026-04-13 shell=True MEDIUM at the source); (b) shellcheck — Bash static analysis across all 175 .sh files; (c) gitleaks — full-history secret scan, runs offline; (d) pip-audit — Python dep CVE scan against cached advisory DB; (e) trivy — scans container images we build, not just upstream pulls (the intake gate already covers upstream)

The intake gate covers what comes in. The pre-sync gate (this audit) covers what goes out. Both directions get the same posture: nothing untrusted crosses a tier boundary unannounced.

Live audit results

Run while writing the recipe — these are the actual numbers. The recipe ships with this audit attached. Re-run before any public-facing change.

# Zero Result Notes
1 Inconsistencies 0 (after correction) §3a, §4 generated from live ss + ps. First pass missed three pod-side subuids — corrected in this commit (kiwix 525288, cyberchef nginx 524388, plus the skybuilder system user). The audit caught its own author, which is the recipe working as designed.
2 Drift 0 in frozen surfaces lifecycle is the active devops branch — tonight’s s7-manager.sh fix and this recipe are intentional, not drift. Private main and public main are at the documented sync point. The seven frozens hold.
3 Injection points 1 — pinned _SHELL_COMPOUND_RE is enforced at Samuel.shell() entry (2026-04-13 fix). However: engine/s7_skyavi_monitors.py:37 still uses subprocess.run(..., shell=True, ...). This is the known MEDIUM from the 2026-04-13 security-review postmortem — pinned for follow-up, not yet remediated. Not a new finding; it is the same finding still open. Honest count: 1.
4 Secrets exposed 0 git ls-files \| xargs grep for ghp_… and BEGIN PRIVATE KEY returned empty. All secrets are in env files (.env) or ~/.config/s7/; none in tracked source.
5 Unrecognized links 0 Site links resolve to skyqubi.com, 123tech.skyqubi.com, omegaanswers@123tech.net mailto, and the documented GoDaddy catchers — all in §13.
6 DNS issues 1 — awareness Resolver is 192.168.1.1 (router), not Quad9 9.9.9.9 (documented stance). Awareness, not enforcement. Pinned for next Core Update window.
7 Host/DNS resources outside the recipe 3 — awareness (a) Monitor baseline drift (§3c) — 8090/8096/8100/8200/8300 and 57082 listening but not in EXPECTED_PORTS; (b) Ollama on host 7081 wildcard — known-pending 0.0.0.0127.0.0.1 move; (c) Caddy front door on host 8080 wildcard — surface for review at the same time as the Ollama tightening. All three known, all three pinned for next Core Update.
8 Unrecognized processes 0 (after correction) First pass missed kiwix (525288), cyberchef nginx (524388), and the skybuilder system user. All three were real, all three are QUBi-spawned (pod containers + the bootc build user), and §4 has been amended to include them. Re-run after the amendment is clean.

Verdict: **5 hard zeros, 1 known-pinned MEDIUM (zero #3 — the 2026-04-13 shell=True follow-up), 4 awareness items (zero #6 DNS

Number that matters: 0 unrecognized resources after correction. Every listening port, every PID, every user account on this box is now in this recipe. If the next re-run produces something not in §3 / §4, that’s new drift — pre-existing items are all accounted for and pinned.

How to re-run the audit yourself

# 1. Endpoint snapshot
ss -tlnp | awk 'NR==1 || /127\.0\.0\.1|0\.0\.0\.0/'

# 2. Container snapshot
podman ps --format "table \t\t"

# 3. Process snapshot (S7-relevant only)
ps -eo pid,user,comm,args | grep -E "ollama|uvicorn|s7_|samuel|cws|persona" | grep -v grep

# 4. DNS snapshot
resolvectl status | head -25

# 5. Git lifecycle state
( cd <private repo> && git status -s && git log --oneline -3 )

# 6. Allow/deny list spot-check
grep -A20 "SHELL_ALLOWLIST = \[" <private repo>

# 7. Secrets in tracked files
( cd <private repo> && git ls-files | xargs grep -lE "ghp_[A-Za-z0-9]{36}|BEGIN PRIVATE KEY" 2>/dev/null )

# 8. Axis B — application vulnerability scan (when tools are installed)
bandit -r <private repo> <private repo> -ll
shellcheck <private repo>
gitleaks detect --source <private repo> --no-banner
pip-audit --requirement <private repo>
trivy image --severity HIGH,CRITICAL s7/skycair:latest

Tooling note: Axis B tools are FOSS, run locally, need no SaaS, and fit the sovereign-offline mandate. Install via the next Core Update window, not now — the freeze applies to what’s running, not to the developer toolbox sitting alongside it.

If any of those commands return something not documented in §3 / §4 / §8 / §9 / §13, the recipe is the bug. Update the recipe. Then re-run the audit until it’s green again.


17. Cleaning + documenting (always conclude with this)

Every CHEF session ends with the same three motions:

  1. Clean. Remove temp files (/tmp/s7-* if not a pid file in active use), close any background processes started for exploration, return the working tree to a known state.
  2. Document. What changed, what was learned, what’s still open — in this binder if it’s foundational, in a postmortem if it was a bug, in a memory entry if it’s a rule that future-you will need.
  3. Final audit. Re-run §16 until all eight zeros hold. An audit that doesn’t re-run is a story, not an audit.

18. Any more questions / assistance needed?

This recipe is meant to be complete enough that Trinity can read it cover-to-cover and operate the house at the observation level. If something here is unclear, the steward path is:

For anything outside this binder, contact omegaanswers@123tech.net.

Thank you. The household is the reason. The recipe is the ingredient list. Love is the architecture.