NeXuS Compass — 2026-07-11¶
Session: Argus Accountability · DivaChain Package for Konrad · Security Incident¶
Living navigator — readable cold by any AI. Read this to resume.
🧭 SESSION FOCUS¶
Three big arcs braided together:
1. Argus Accountability — designed the cryptographic signing layer from scratch (git-as-ledger + master/child keys).
2. DivaChain package for Konrad — located the April docs he never saw, source-verified every claim, polished the Truth Manual, planned a sovereign-rails delivery.
3. Security incident — chased a reported "socket intrusion" → proved it was our own zombie watcher false-positiving; killed it for good; found a real open door (Privoxy :8118).
🔴 LIVE STATE (as of session end)¶
nexus-tmux-watch.sh ✅ DEAD + ARCHIVED → ~/scripts/archive-disabled-2026-07-11/
(killed procs, moved executable, hook stripped — CANNOT relaunch)
tmux after-send-keys ✅ hook removed
Caddy (*:80/*:443) CLEAN — Matrix reverse proxy (matrix.nexusnet.network→127.0.0.1:6167), 0 connections
Privoxy (*:8118) 🚪 OPEN DOOR — bound 0.0.0.0 via pasta (rootless podman). PENDING DECISION (see §F)
DivaChain Truth Manual ✅ polished + source-verified → ~/claude/docs/DIVACHAIN_TRUTH_MANUAL.md
Package staging ~/Documents/diva-chain/ (has divachain-readme-v1.md = Konrad's original)
A. ARGUS ACCOUNTABILITY — 🔵 DESIGNED (spec not yet written to a doc; captured in memory)¶
The mandate (Anon): "Accountability with a cryptographical fingerprint, and everything in NeXuS is a transaction so every transaction will have every fingerprint that touched it."
CIA triad, NeXuS meaning: C=Confidentiality · I=Integrity · A=Accountability (NOT Availability; Availability = "YMC-Availability").
Architecture (all Alpine-repo tools, nothing hand-rolled):
- git = the ledger. Every doc/edit/backup = a signed commit. Parent-hash chain = the tamper-evident fingerprint chain. Do NOT build a bespoke PKI/JSONL ledger.
- SSH Ed25519 keys = entity identities. git config gpg.format ssh + commit -S + allowed_signers.
- Master/child model: ONE master key, password-protected, offline. Master ISSUES children (DERIVED, not certified — chosen because master = sovereign root). One child per entity (anon, claude, eye-sky, node-argus). Only master revokes. Delete = revoke (append, never erase).
- KeePass KDBX v2 = vault; Rook (Alpine pkg, sr.ht/~ser/rook) = headless Secret Service serving keys (no GUI).
- Keybase sigchain = the pattern we copy, NOT a dependency (Keybase = frozen since Zoom acquisition — the lock-in cautionary tale).
- Separate from Ghost Gate key (Ghost Gate = external Nostr kind-24000 receipts).
- Two-tier signing: (1) provenance = every op self-signs (frictionless); (2) multi-sig threshold = privileged only (merge to main, backup restore, archive, key changes).
- Open integration detail: how Rook (Secret Service = passwords) feeds git's SSH signer (agent vs stored key). Small, testable.
Full detail: memory project_argus_accountability.md.
B. WATCHER TAKEDOWN + EMERGENCY STOP LAW — ✅ DONE¶
nexus-tmux-watch.shwas a false-positive machine: it flagged our OWN tmux status-bar scripts (continuum_save.sh,ram_info.sh,cpu_info.sh,uptime.sh) as "🔴 UNKNOWN PID ON SOCKET." Log:~/logs/nexus-tmux-watch.log(25 "alerts" in an hour, all benign).- It kept "respawning" because it backgrounds its workers (
monitor_loop &,inotifywait … &, line 55/113) → they orphan to PPID 1 and survive killing the launcher. Not resurrection — detached daemons. - Killed by exact PID (ps/awk), NOT
pkill -f—pkill -f "nexus-tmux-watch"matches our own shell's command line and SIGKILLs it (that was the exit 1/144 bug). - Definitive fix: archived the executable →
~/scripts/archive-disabled-2026-07-11/nexus-tmux-watch.sh. Nowtest -xfails everywhere; no config/orphan can relaunch it. (Line still lives in the sacred backup~/.config/tmux/org-2026-07-07-tmux.conf:140but that config isn't sourced and the executable is gone.) - Why "why now?" The watcher was only ~5 min old — alerts track the WATCHER'S uptime, not an attacker's arrival. Status bar was always benign; the observer just woke up.
⚖️ EMERGENCY STOP LAW (established this session, in memory feedback_nexus_rules): No power-script (watcher/lockdown/hooks) ships or activates without a working, independent kill switch — preferably a tmux keybinding that nukes hooks + PIDs in one shot. No kill switch = feature doesn't ship.
C. DIVACHAIN PACKAGE FOR KONRAD — the main build¶
C1. The backstory¶
In April (post-Konrad-meeting), we/Gemini: fixed bootstrapping → joined his devnet → wrote a full upgrade of DivaChain's docs → discovered "Sovereign Attribution" in his source → pinned to IPFS + anchored on-chain. Konrad NEVER SAW ANY OF IT (published ≠ delivered — the core lesson).
C2. The documents — LOCATED at ~/claude/docs/¶
DIVACHAIN_TRUTH_MANUAL.md— the upgrade (polished + verified this session)DIVA_SOVEREIGN_ATTRIBUTION.md— the source-audit discovery (identity-locked writes)DIVACHAIN_ENGINEERING_LOG.md- Old variants archived →
~/claude/docs/archive/(org-2026-07-11 + .bak + gemini-v2 + gotchas-backup)
C3. IPFS / on-chain references¶
- April pin (OLD Truth Manual): IPFS
QmVQL4LvHCYuwG2L2TsmxJx7vFjk434UqGL8YBkcA61H6Z— verified by hash to be the ORIGINAL (now archived) version. - On-chain anchor:
diva:docs:4QyfWd7bqp1W6sqrjNv96ZLuQ3i69UhYLY918nLN05w - ⚠️ The polished canonical was NOT re-pinned — the pinned CID points at the pre-polish April doc. Re-pin the new version before delivery.
- Dead-end trail:
nexus-nodeCIDs (Qmamv/Qmdwn/QmcQn/QmbF) = February Hydra Command Center templates (empty stubnexus-bridge-monitor= 0 bytes). NOT related to Konrad. Made by~/.nexus-security/hydra/hydra/scripts/nexus-darknet-host.py.
C4. Truth Manual polish (this session)¶
- ELI5 "5th grader" section → replaced with professional §1 Overview (ELI5 migrates to the podcast/video).
- Every questionable number source-verified against
~/claude/divachain/src/→ §7 Verification Log. - Backup made before edit:
~/claude/docs/archive/org-2026-07-11-DIVACHAIN_TRUTH_MANUAL.md.
C5. ✅ SOURCE-VERIFIED DIVACHAIN FACTS (from src/schema/tx/v1/ + src/chain/tx.ts, v0.60.0)¶
| Claim | Truth |
|---|---|
d field size limit |
8,024 CHARACTERS (maxLength: 8024; JSON Schema = chars not bytes). "8192 bytes" was WRONG. Per write-space, batchable up to 32/tx. |
cs max commands |
32 (maxItems:32, min 1, unique) |
Namespace ns regex |
^([A-Za-z0-9_-]{2,16}:){1,7}[A-Za-z0-9_-]{2,16}$ (2–16/seg, 2–8 segments) |
| tx fields (all 6 required) | v, h, o, ha, p, cs — Truth Manual had only o/ha/cs |
p field |
previous-tx hash (prevHash=prevTx.ha, h=prevTx.h+1) → per-origin hash chain = same tamper-evidence as git (ties to Argus!) |
| Identity locking | writes auto-suffixed with pubkey → namespace:pubkey; only key-holder writes. Confirmed src/chain/chain.ts. |
| PoW | ALREADY EXISTS — BLAKE3, P2P_POW_DIFFICULTY=2, 48-byte stamp, in src/net/network.ts. On P2P messages, NOT tx layer. (Konrad thought he needed to add it → really it's a "which layer?" convo. Ties to NeXuS hashcash thread.) |
| API token | getTokenAPI() static wallet token; NO timed rotation in source ("3–10 min" claim = unsupported) |
| Block time | "2-min blocks" = Konrad's word, NOT found in source (likely consensus-round, not a constant) |
| Version | v0.60.0 confirmed (deno.json) |
| I2P transport | SAM 127.0.0.1:7656, SOCKS5 127.0.0.1:4445; "exclusive" wording still to confirm w/ Konrad |
C6. Seed mechanics (for fast-join / "0 to hero")¶
Two seeds (src/genesis.ts):
- Genesis seed seed-genesis/tx.v1.json (274B): chain root (v1/h1/zeros/genesis:init). Wrong genesis = you fork onto an island. Immutable → perfect to pin to IPFS + anchor on-chain.
- Peer seed peer-seed.json: array of known peers w/ I2P coords. Empty [] = the 10–30 min wait (tunnels to nobody). Populated (or BOOTSTRAP .i2p) = fast join. Mutable → needs a LIVE source, NOT a stale IPFS pin.
- I2P router tunnels still take time — seed removes peer-discovery wait, not I2P handshake. "Fast join," not "instant."
C7. Distribution principle (decided)¶
- Tiny + immutable (genesis) → direct fetch / IPFS pin
- Large + immutable (chain snapshot, releases, doc bundle) → I2P torrent (I2P is first-class torrent; stays in-network, no clearnet leak)
- Mutable (live peers) → live service (eepsite / gossip / BOOTSTRAP)
- Proposed enhancement: chain-snapshot-as-I2P-torrent = the real fast-sync (grab bulk state from swarm, tail-sync the gap). NOT in his code — a NeXuS proposal for the meeting.
C8. Delivery plan — "NeXuS delivers the goods" (dogfood the stack)¶
- Bundle (manual + attribution + eng-log + graphics + 5-min video + 30–45 min podcast) → I2P torrent
- Genesis → IPFS pin + anchor CID on DivaChain
- Manifest (index + hashes) → pin + anchor on DivaChain
- Pointer → Telegram ← THE lesson: April published but never pointed → unseen. Rails carry the goods; the Telegram ping makes them SEEN. Both, or it's April on repeat.
- Frame as a gift, not a takeover (solo dev whose project got audited/rewritten — land it as respect).
C9. "0 to hero" one-liner — 🔵 DESIGNED (nexus-diva-up.sh, NOT built/tested)¶
Chains: prereq check (deno/docker) → clone → musl sodium-native link fix → deno.json allowScripts → I2P containers up → create-devnet → drop in peer-seed (kills the wait) → verify :17468/about. Must be TESTED end-to-end on a clean box before we stamp "0 to hero" (honest-engineering: don't claim TESTED before tested).
C10. Konrad meeting logistics¶
- Monthly sync; missed June (both busy). Comms channel = Telegram (his project's own contact is Telegram too).
- His repo
github.com/diva-exchange/divachain: no commits since 2026-04-29 (branchdevelop-deno). Bootstrapping/joining/syncing fixed together in April. - Draft message built around "the doc upgrade you never saw + let's meet today + I'll PR it into your repo." Fact-sheet w/ CIDs prepared.
D. RIN + ARC PRIZE 2026¶
- RIN = Real-Intelligence-Network — proof-of-personhood layer. 1 human = 1 node = 1 vote. Defense-in-depth ("measurement in depth"): composite attestation from many weak signals (puzzle/Sudoku-proof, 7+day uptime, history, peer verification). Anti-plutocracy (2011 laptop = data center in vote weight). Janus Key (USB+TPM) = the hardware home for the Argus master key — one identity spine: Argus (which key) + RIN (one human) + Ghost Gate (external receipt).
- ARC Prize 2026 — Konrad gave the link out of the personhood convo (ARC puzzles = "trivial for humans, brutal for machines" = a personhood signal). Nov 2026 deadline (~4 mo), $2M pool, ARC-AGI-2 + ARC-AGI-3 tracks on Kaggle, open-source, offline/compute-capped. Honest tension: ARC weakens as a personhood test as AI improves → use as a rotating signal. Memory:
project_arc_prize_2026.md.
E. MULTI-FORGE PUBLISHING — 🔴 PLANNED¶
- No sovereign FOSS tool exists for "create repo across GitHub+Codeberg+SourceHut + multi-push." (roostorg/mirror = cloud CI/GitHub-hub = fails Sovereign.)
- Plan: git-native multi-pushurl (backbone, never reinvent) + thin
nexus-forge.shwrapper over per-forge CLIs.ghinstalled ✅;tea(Codeberg) +hut(SourceHut) NOT installed. - Immediate driver:
~/scripts/scripts/nexus-portal/README.mdclones fromcodeberg.org/hackenstacks/portable-nxs-https-server— repo doesn't exist yet. Plan: create on Codeberg + SourceHut (make reality match the README). Not a git repo yet; needs.gitignore→ init →devbranch (protocol). - Anon HAS Codeberg; SourceHut unconfirmed. Auth (SSH keys preferred — dovetails with Argus Ed25519) TBD.
F. SECURITY: THE PRIVOXY DOOR — ⏳ PENDING DECISION¶
*:8118= Privoxy bound to 0.0.0.0 viapasta(rootless podman) = open filtering proxy (anyone on LAN/WAN could route through your IP).- Defined at TWO layers, both wide:
~/.nexus-security/containers/privoxy/config:2→listen-address 0.0.0.0:8118~/.nexus-security/containers/privoxy-run.sh:5→-p 8118:8118(host publish, all interfaces)- Fix (no doas, rootless):
-p 8118:8118→-p 127.0.0.1:8118:8118, backupprivoxy-run.shfirst, restart container. - ⚠️ TWO honest caveats:
- Firewall unknown — can't read
nftwithout root. Open socket ≠ proven reachable; nft may already block inbound 8118. - Might be load-bearing —
nexus-hotspot.sh+nexus-transparent-proxy.shreference:8118; internal IPs (10.152.152.10,192.168.88.1) point at it. So the exposure MAY be intentional for hotspot/transparent-proxy. - DECISION NEEDED: mistake (→ rebind to localhost) vs. serving hotspot (→ scope to hotspot iface only + confirm firewall). Root peek needed to verify firewall.
🌟 DECISIONS / PRINCIPLES ESTABLISHED¶
- 5th Star = SUSTAINABLE. Order: Sane · Simple · Secure · Stealthy · SUSTAINABLE. (Beautiful's slot status TBD — do not assume dropped.) The Stars are navigational, not slogans — "the Starz in the NeXuS night that keep NeXuS on course." Constellation is OPEN (more Stars will rise).
- "NeXuS — where the code is public but not your identity" (prior-session Claude). The one-line statement of Accountability: accountable to your KEY, not your NAME.
- Emergency Stop Law (see §B).
- Published ≠ delivered (see §C8).
- Honest engineering — don't claim TESTED before tested; verify against source, not AI memory (caught the 8192→8024 error this way).
⏭️ NEXT-SESSION QUEUE (priority)¶
- Privoxy door decision (§F) — mistake vs hotspot; needs a root peek at nft.
- Send Konrad the Telegram message (built; pointer = the whole point).
- Re-pin the polished Truth Manual to IPFS (old CID = pre-polish April version) + re-anchor.
- Build the diva-chain package in
~/Documents/diva-chain/(docs/ media/ + manifest). - Write I2P-torrent chain-snapshot fast-sync design note for the meeting.
- Build + TEST
nexus-diva-up.sh(0-to-node on clean checkout) before claiming "0 to hero." - Write the Argus Accountability spec doc (from memory
project_argus_accountability.md). - Multi-forge: install tea+hut, git-init nexus-portal, build
nexus-forge.sh, create Codeberg+SourceHut repos. - Confirm w/ Konrad: block time, "I2P exclusive," token rotation, which PoW layer he meant.
- Revamp the intruder alert — TOOL-POWERED, not hand-rolled. The dead watcher failed because it was a bespoke socket loop (false positives + self-lockout). Rebuild on proven tools already installed: OpenSnitch (running), CrowdSec (installed/unconfigured), fail2ban (running), PSAD, OSSEC → feed into Ghost Gate/accountability pipeline. Kill switch FIRST (Emergency Stop Law) or it doesn't ship. Same lesson as git-as-ledger: don't reinvent, lean on battle-tested tools (Sane·Simple·Sustainable).
- Port knocking (knockd) — SSH/port protection via knock sequence (was on pending list).
🔑 KEY PATHS¶
| Path | What |
|---|---|
~/claude/docs/DIVACHAIN_TRUTH_MANUAL.md |
polished + verified upgrade |
~/claude/docs/DIVA_SOVEREIGN_ATTRIBUTION.md |
the source-audit discovery |
~/claude/docs/archive/ |
old Truth Manual variants (archived) |
~/claude/divachain/ |
Konrad's DivaChain source (v0.60.0, develop-deno) |
~/claude/divachain/src/schema/tx/v1/ |
tx.json + data.json (the verified schemas) |
~/claude/divachain/seed-genesis/tx.v1.json |
genesis seed (chain root) |
~/Documents/diva-chain/ |
package staging (has divachain-readme-v1.md = original) |
~/scripts/archive-disabled-2026-07-11/ |
the dead watcher executable |
~/.nexus-security/containers/privoxy-run.sh |
the -p 8118:8118 open-door line |
~/scripts/scripts/nexus-portal/ |
portable-https-server (README points at nonexistent Codeberg repo) |
🧠 MEMORY FILES WRITTEN THIS SESSION¶
project_argus_accountability.md(git-as-ledger, master/child, 5th Star, "code public not identity", Emergency Stop)project_arc_prize_2026.md(ARC + RIN personhood context)feedback_nexus_rules.md(Emergency Stop Law added)
NeXuS: Sane • Simple • Secure • Stealthy • Sustainable Compass by Claude · 2026-07-11 · Author: hackenstacks