Atlas · Fleet Operations Audit · 2026-07-12

From intuition to engineering — the road to a self-maintaining fleet

You built this system over months on instinct, and most of the instincts were right. This is the map of what stands, what was found leaking today, the six checkpoints that close the gaps, and an honest statement of how robust the result is — and isn't.

Chapter 1 — What already stands

Five load-bearing decisions were correct and stay untouched:

KEEP

Credential isolation

Secret values never enter agent context. Keychain delivery at launch, vault-guard blocking reads in-session, OpenBao as the source of record.

KEEP

Identity separation

Every agent writes GitHub as its own pantheon-*-app[bot]. The operator's identity never authors agent work.

KEEP

Boards as work SSOT

One queryable place answers "what is open, who owns it" — the precondition for everything below.

KEEP

The sandbox removal call

Containment that blocked 0 of 4 real incidents while taxing every session was negative security. Dropping it was systems engineering — done empirically.

Chapter 2 — What today's audit found

Four concrete leaks, all found and evidenced in one session — which is itself the finding: nothing was watching.

FindingEvidenceClass
Vault server two security releases behindn5 bao 2.5.3; 2.5.4 + 2.5.5 are CVE releases, unnoticed since 17 JunSECURITY
Alerts terminate in human inboxesGitGuardian incident "Ignored ×6" — no route into agent sessionsSECURITY
A daemon was un-fixing committed workArgus auto-injected a stale dead-path block into fleet CLAUDE.md every 6h, silently reverting the consolidation standardINTEGRITY
Gates misfire and tax every session5 false blocks in one session; one gate bug made a required marker unrecordable for weeksEFFICIENCY

Pattern behind all four: detection, routing, and verification were built as habits, not as loops. A habit skips a day. A loop doesn't.

Chapter 3 — The build: six checkpoints

In focus order. Each closes a named gap and carries its own proof-of-done — no checkpoint is "done" by assertion, only by its verification firing.

CP0 — Stop the bleeding DONE TODAY

atlas · shipped 2026-07-12

Argus injection retired (PR #155), dependency-drift probe P31 built and live-verified, local CLI updates applied, poisoned files restored, gate recorder fixed.

Proof: P31 smoke run flags openbao critical; re-committed CLAUDE.md stays clean past next Argus cycle.
1

CP1 — Route alerts into the work system

pantheon-ops (n8n) + hades (creds/verdict) · handoffs filed

GitGuardian webhook → signature-verified n8n flow → deduped, false-positives dropped → board issue labeled for Hephaistos + Slack ping. Alerts become work items agents see at session start — never again an "Ignored ×6".

Proof: test GG occurrence produces a labeled issue; forged webhook rejected 401.
2

CP2 — Patch the vault

hades (+ proteus on NAS) · incident handoff filed

n5 OpenBao 2.5.3 → 2.5.5 with release-notes review during (2.5.4 removes legacy lease endpoints — scripts using them must be checked), KV smoke read after.

Proof: n5 sys/health reports 2.5.5 unsealed; P31 critical flag clears on next Argus run.
3

CP3 — The daily maintenance digest

pantheon-ops (n8n) · handoff filed

Every morning in Slack: releases behind (security-critical called out), open secret incidents, daemon health. Your standing question — "are we drifting behind?" — answered daily, automatically, from sources that already exist (Argus P31, GG API, proteus daemon table).

Proof: one digest delivered; a seeded outdated formula appears in next morning's digest unprompted.
4

CP4 — Context diet

atlas + athena · epic leg #141

Finish AGENTS.md consolidation fleet-wide, then slim the ~20 always-loaded global rules. Every session currently pays thousands of tokens of directive weight before the first word of work. This is the single largest recurring efficiency gain available.

Proof: measured system-prompt token weight per session drops; target agreed before work starts.
5

CP5 — Harness-agnostic with enforcement parity

hades + atlas · epic #136, legs #137–141

Any harness (Claude Code, Codex, Gemini, Pi) runs a constellation with the same env vars, credentials, system files, and — the gating leg — the same guards. Hard rule encoded in the epic: no non-Claude harness gets a pane with live credentials until a vault-guard-equivalent exists for it.

Proof: alternate-harness pane launches, mints its App token, and a credential-read attempt is blocked.
6

CP6 — Recovery you've actually rehearsed

proteus · rides #211 + daemon Phase B

n5 redundancy addressed, daemon fleet consolidated (42 jobs → curated, 11 failures triaged), and a restore drill — a backup nobody has restored from is a hope, not a backup.

Proof: one full restore of a fleet-critical dataset executed and timed, runbook written from the drill.

Chapter 4 — What the finished system looks like

One loop, running continuously, with the operator reading a digest instead of email warnings:

DETECT Argus 6h · GG webhooks · daemon health ROUTE alert → board issue, labeled owner ACT agent picks up · PR · heph gate VERIFY probe re-checks · flag clears DAILY DIGEST Slack · operator reads, rules, redirects Mechanical fixes run without you. Semantic fixes route to agents. Judgment calls surface to you — nothing else does.
The loop: detect → route → act → verify, with the operator on a daily tap — not in the hot path.

The containment stack (what "programmatic gates" means here)

LayerMechanismContains
IdentityPer-agent GitHub App tokens, PAT forbidden for agent writesWho can author what
CredentialsKeychain injection per least-priv profile + vault-guard read blockingWhat secrets a session can touch or see
Session gatesMoirai markers (orient before write), hook guards — with false-positive telemetry so gates stay honestOrder of operations: read SSOT before mutating it
ReviewRisk-classed PR routing; critical paths never direct-to-main; Hephaistos merge gateWhat reaches main
ObservationArgus probes (drift, deps, state), Cerberus, GG — all landing on boardsWhat silently rots
RecoveryBackups + rehearsed restore, daemon health dashboardBlast radius when something still breaks

Chapter 5 — So how robust is it, honestly?

After all six checkpoints: robust where it matters for this system's real threat model. Secrets can't ride into context or repos unnoticed (three layers + routed alerts). A security release can't sit unapplied for weeks (daily detection + same-day-update rule). A daemon can't silently corrupt directive files (auto-remediation of semantic files is now banned by design). Drift — of versions, checkouts, docs — gets found by probes within hours, not by accident within months. Any single agent's mistake passes through review gates before it reaches main.

What it still is not — by choice, and you should know it: enforcement is behavioral, not OS-level. Agents share one user account on one machine; the hooks and gates that contain them are convention an aligned agent obeys, not walls a malicious one couldn't cross. That is an acceptable, deliberate trade for a solo-operator fleet — the 2026-04 sandbox experiment proved hard containment cost more than it protected. The honest names for the end state: defense-in-depth against accidents and drift, verified continuously — not a zero-trust datacenter. The remaining single points of failure are you and the hardware; CP6 shrinks the hardware one, and the digest shrinks the you-as-bottleneck one.

Threat scorecard

ThreatTodayAfter CP1–CP6
Secret committed to a repoEmail warning, ignorableSigned webhook → board issue → Hephaistos queue, same day STRONG
Known CVE in core serviceFound by luck (today: 25 days late)Critical flag within 6h, digest next morning STRONG
Silent config/doc driftFound when it breaks somethingProbe-detected, board-routed STRONG
Agent error reaching mainReview gates (already good)Same + gate FP telemetry keeps them trusted STRONG
Compromised/malicious agent processBehavioral guards onlyUnchanged — accepted risk, documented ACCEPTED
Machine lossBackups exist, restore untestedRehearsed restore + n5 redundancy GOOD
Operator unavailableFleet idles safelySame — by design ACCEPTED

Where projects then live

The point of all of it: product work — Viska, clients, trading, the CRM — builds on a floor that maintains itself. Sessions start lean (CP4), any harness (CP5), with guards on (CP0/5), on patched infrastructure (CP2/3), where anything that goes wrong becomes a routed, owned, verified work item (CP1) on a foundation you could restore tomorrow (CP6). The fleet stops spending its sessions discovering its own decay — and spends them building.

atlas · wr-pantheon · 2026-07-12 · sources: live session evidence (P31 smoke, n5 sys/health, GG incident 34755295, remediation-log), board epics atlas#136/#137–141, PR infra-pantheon#155, handoffs to hades/pantheon-ops · tier: verified findings live, projections labeled as such