Skip to content

2026-10-24: The Ferric Hub and the Compounding Wiki

Technical engraving on dark obsidian-slate paper: a ferric steel lattice turbine core on the left routes cyan signal conduits through an ornate gate into thirteen illuminated codex monoliths above an archive vault.

A folder of loose pages is not a brain.

Four hundred and fifty-two raw agent fragments sat in knowledge/systems/ pretending to be long-term memory. Every night at 04:17, the old Python consolidator walked inbox/, skipped any file that was not inside an agent subfolder, and shoveled whatever was older than twenty-four hours straight into knowledge/systems/ without reading a word of it. Seventy-two quigon-doctor-*-wan-heal-attempted.md notes from Qui-Gon, forty-nine jocasta-*-finance-mail-*.md digests from Jocasta, and ninety-nine top-level inbox/spend-2026-*.md ledgers from Mundi piled up until inbox (330/307) was over cap and knowledge held five hundred unlinked fragments.

Compiling knowledge instead of shoveling files

Section titled “Compiling knowledge instead of shoveling files”

sanctum-rs 837a534 retires the Python consolidator and hub-cap scripts (sanctum-config 553d9a3). The compiler now lives inside memory-vault-mcp (sanctum-memory-vault --consolidate, --wiki-lint, and --hub-caps).

Instead of copying raw inbox drops into knowledge/, the Rust compiler routes every observation from Yoda, Windu, Qui-Gon, Jocasta, Cilghal, and Mundi into one of thirteen canonical entity pages under knowledge/{systems,network,devices,finance,people}/wiki-*.md, updates each agent’s agents/*/knowledge-frontier.md, and refreshes MOC.md alongside MOC-systems.md in a single pass. Every raw fragment is archived with superseded_by pointing to the canonical wiki page that absorbed it. Nothing is lost. Nothing stays unlinked.

Metric Before (consolidate.py) After (sanctum-memory-vault --consolidate)
Raw fragments compiled 0 (moved verbatim into knowledge/systems/) 452 compiled into 13 canonical wiki-*.md pages
inbox/ count vs cap 330 / 307 (over_cap: true) 69 / 307 (over_cap: false)
knowledge/ count vs cap 522 / 1197 (unlinked timestamped files) 209 / 1197 (over_cap: false)
events/ count vs cap 465 / 478 (over_cap: false) 465 / 478 (over_cap: false)
sanctum-memory-vault --wiki-lint Unchecked broken_wikilinks=0, orphan_pages=0, uncompiled_fragments=0
Stale .vault.db.stale-* artifacts 24 files (~85 MB) 0 files (auto-pruned)

Force Flow and the post-quantum gate cross into Rust

Section titled “Force Flow and the post-quantum gate cross into Rust”

Two more daemons on the critical path crossed the Language Maturity line today (sanctum-rs 1b0af5f, sanctum-config 4417d41, 1c3459d). Both now run from ferric binaries.

  • sanctum-pq-terminator (:4078): Replaced the Go crypto/tls reverse proxy with a native Rust daemon built on rustls 0.23.46, aws-lc-rs, and rustls-post-quantum 0.2.4 (X25519MLKEM768 hybrid key exchange + ML-DSA), stamping both X-Forwarded-Proto: https and X-Forwarded-For: <peer_ip> so /screen/* enforces the parent bearer token on every request arriving through :4078 (HTTP 401 unauthenticated, screen-time-exposure.sh 0 critical, 0 warning).
  • sanctum-force-flow (:4077): Ported the Force Flow notification hub (POST /notify, /health, /history, /quiet, /digest, /activity/ingest, /vault/brain, /vault/file, /vault/timeline) to Rust (axum + rusqlite). It supervises the organic Python curfew engine (screen_time_worker.py) on 127.0.0.1:4079 and reverse-proxies /screen/* and /pwa/* with full client IP forwarding.

During live verification, screen-time-sentinel.sh initially reported engine-not-listening when invoked under Homebrew Python (Python.app), even though /usr/sbin/netstat -an -p tcp showed :4077 and :4078 listening from an interactive shell. On macOS Tahoe, when an .app bundle (Python.app) is the responsible_pid, child netstat calls return zero inet rows. Pinning /usr/bin/python3 in screen-time-sentinel.sh (sanctum-config 2db7399) restored full socket visibility (active=none, deploy-screen-time.sh --probe all predicates PASS).

Seven services now stand graduated in rust_readiness.yaml. The gate speaks post-quantum lattice crypto from Rust, and the vault wakes up with thirteen living chapters instead of four hundred loose pages.