the fleet at a glance β every section stamped with its OWN source freshness (honest per-source staleness). VIEW only Β· static prod snapshot Β· generated 2026-07-02T08:39:19.375Z
πΈ PROD snapshot taken 2026-07-02T08:39:19.375Z β this is a point-in-time capture, not live. Freshness stamps below are as-of the snapshot.
βhealthy β fresh, serving, within SLOβdegraded β working but partial / SLO at riskβfailing β errors, down, or unreachableβfrozen β heartbeat without progress β fresh log but only ticks, no new edgeβin-dev β building / not yet registered, no SLO held yetβblocked-on-human β waiting on a Jacob unblock (sign-in / OTP / decision)β’retired β quarantined β kept visible but dimmed (honest history)?unclassified β cannot classify honestly β shown without a color, never defaulted green
40 facts Β· last edge 21s Β· census live Β· ENGINE
effect-write-wiki.tick_failed21s
reason=The operation timed out.
effect-write-wiki.tick_failed1m
reason=The operation timed out.
effect-write-wiki.tick_failed2m
reason=The operation timed out.
click for full engine βΈ
mission-control/healthβ healthy
40 facts Β· last edge 36s Β· census live Β· ENGINE
mc.health.changed36s
key=idea-librarian__idea-librarian
mc.health.changed3m
key=conversation-refinery__conversation-refinery
mc.health.changed4m
key=idea-librarian__idea-librarian
click for full engine βΈ
registry/registryβ healthy
40 facts Β· last edge 1m Β· census live Β· ENGINE
engine.status_changed1m
idea-librarian
engine.status_changed4m
conversation-refinery
engine.status_changed4m
idea-librarian
click for full engine βΈ
mission-control/reportsβ healthy
7 facts Β· last edge 1m Β· census live Β· ENGINE
report.landed1m
Sub-agent experience audit
report.landed12m
Consistent patterns across the corpus
report.landed2.0h
Acceptance judge maiden verdicts
click for full engine βΈ
wiki-sweep/wiki-sweepβ healthy
40 facts Β· last edge 5m Β· census live Β· ENGINE
wiki-sweep.observed5m
pending=0
wiki-sweep.observed11m
pending=0
wiki-sweep.observed16m
pending=0
click for full engine βΈ
mission-control/deployβ healthy
40 facts Β· last edge 12m Β· census live Β· ENGINE
mc.deploy.succeeded12m
trigger=cron
mc.deploy.attempted12m
trigger=cron
mc.deploy.succeeded24m
trigger=cron
click for full engine βΈ
librarian/librarianβ healthy
40 facts Β· last edge 3.0h Β· census live Β· ENGINE
librarian.tick_failed3.0h
reason=transcriber /api/view returned 502 (supplier unhealthy)
librarian.tick_failed4.3h
reason=transcriber /api/view returned 502 (supplier unhealthy)
librarian.wrote5.9h
T33iI6izAKw
click for full engine βΈ
ideas/ideasβ degraded
40 facts Β· last edge 10m Β· census live Β· PARTIAL
ideas.map10m
ideas=80
ideas.poll11m
ideas=80
ideas.map25m
ideas=80
click for full engine βΈ
mission-control/decisionsβ blocked-on-human
11 facts Β· last edge 9m Β· census live Β· ENGINE
decision.opened9m
The 9-week corpus audit (report: corpus-patterns, seq 6) found 8 consistent patterns and proposes 7 builds. Four are already live as of tonight (mission control
decision.opened16m
Ratify the auto-class edits from batch 2026-07-02T02-24-55Z through the door now, hold the assisted/schema classes for review, or reject the whole batch?
decision.opened4.9h
Mission Control v1 linking: every card/report/engine/agent row links to its LIVING artifacts β the owning Claude Code conversation (tmux session or resume id),
click for full engine βΈ
idea-librarian/idea-librarianβ failing
24 facts Β· last edge 56s Β· census unreachable Β· ENGINE
idea-librarian.acted56s
itemId=04cc42e1-4a9e-47c8-bf23-7bd06153c0b5#3
decided56s
Blueprint = create-app for an AI-Driven Project
idea-librarian.acted2m
itemId=04cc42e1-4a9e-47c8-bf23-7bd06153c0b5#2
click for full engine βΈ
acceptance-judge/verdictsβ failing
21 facts Β· last edge 1.1h Β· census stale Β· ENGINE
acceptance.ruled1.1h
caseId=skills-telemetry-visible-2740cb3f
acceptance.judged1.1h
caseId=skills-telemetry-visible-2740cb3f
acceptance.submitted1.1h
skills-telemetry-visible-2740cb3f
click for full engine βΈ
cc-factory-watch/classifiedβ in-dev
40 facts Β· last edge 3s
cc.factory3s
state=NO-FACTORY
cc.factory3s
state=NO-FACTORY
cc.factory23s
state=NO-FACTORY
click for full engine βΈ
cc-activity/activityβ in-dev
7 facts Β· last edge 14s
cc.activity14s
state=ACTIVE
cc.activity29s
state=ACTIVE
cc.activity44s
state=ACTIVE
click for full engine βΈ
pipeline-health/pipeline-metaβ in-dev
40 facts Β· last edge 16s
pipeline.observed16s
traces=273
pipeline.observed25s
traces=273
pipeline.observed1m
traces=273
click for full engine βΈ
pipeline-health/reconcileβ in-dev
40 facts Β· last edge 16s
reconcile.observed16s
healthyCount=5
reconcile.observed1m
healthyCount=5
reconcile.observed2m
healthyCount=5
click for full engine βΈ
cc-factory-watch/alertsβ in-dev
40 facts Β· last edge 19s
tick19s
condition=FACTORY-STOPPED
tick26s
condition=FACTORY-STOPPED
tick49s
condition=FACTORY-STOPPED
click for full engine βΈ
tool-telemetry/toolsβ in-dev
40 facts Β· last edge 19s
fact19s
tag=tool.completed
fact19s
tag=tool.called
fact48s
tag=tool.completed
click for full engine βΈ
pipeline-watchdog/watchdogβ in-dev
40 facts Β· last edge 33s
watchdog.breach33s
handoff=transcriber->librarian
watchdog.breach33s
handoff=sensor->transcriber
watchdog.observed33s
healthy=false
click for full engine βΈ
system-health/healthβ in-dev
40 facts Β· last edge 2m
health.snapshot2m
autonomyLadder=L2
health.snapshot7m
autonomyLadder=L2
health.snapshot12m
autonomyLadder=L2
click for full engine βΈ
.driver/driverβ in-dev
27 facts Β· last edge 3m
edge3m
#29 gate fix VERIFIED CLOSED @72ce404 β injection class + symlink both closed with defense-in-depth (re-parse proven load-bearing via independent A/B: input-gua
Nick's Google Ads Reality Is Locked Behind 3 Access Points He Can't Unify
fact6.6d
tag=ranking.resolved
click for full engine βΈ
story-engine/storiesβ’ retired
40 facts Β· last edge 7.1d
fact7.1d
No heartbeat: can't tell if an engine is writing without digging through logs
fact7.1d
Agent can't verify its own writes β optimistic updates go unconfirmed
fact7.1d
Every dev session starts blind β no canonical view of which engines are healthy
click for full engine βΈ
wiki-hooks/hooksβ’ retired
40 facts Β· last edge 7.1d
sensor.scanned7.1d
sha=f1f2d569eac2739e4a1024f0c12262e9a42a5d19
page:deleted7.1d
wiki/concepts/_TrustDemoTmp.md
sensor.scanned7.1d
sha=7a7639589afff6dea63b2b19a7d0fade9564a8b4
click for full engine βΈ
idea-capture/raw-ideasβ’ retired
40 facts Β· last edge 7.1d
fact7.1d
tag=idea.captured
fact7.1d
tag=idea.captured
fact7.1d
tag=idea.captured
click for full engine βΈ
github-source/gh-librarianβ’ retired
1 facts Β· last edge 8.1d
gh-librarian.wrote8.1d
repo=automate-friday/automate-friday-platform
click for full engine βΈ
github-source/githubβ’ retired
20 facts Β· last edge 8.1d
github.observed8.1d
Progressive-trust ramp: opt-in UI (toggle a skill to on_first_use + ratify button)
github.observed8.1d
Tool: System Manifest β the platform's living self-model (primitive grammar + intended topology + build-state)
github.observed8.1d
Tool: Convergence Auditor β diff the real system against the System Manifest, emit a drift report
click for full engine βΈ
Tasks 2 live Β· 0 orphaned
π’ 2 live Β· 0 orphaned Β· 12 tmux sessions
tasks-as-living-conversations β each task's owning Claude Code session (tmux), its TASK.md, and any decision card it maps to. A task whose session died shows orphaned, never hidden.
THE DRIVER β charter (agreed with Jacob 2026-07-01 evening)driver
β live β session up 6.9h
attach: tmux attach -t driver
/Users/jh/code/automate-friday/.driver/CHARTER.md
Prod deployment public snapshot on Cloudflare Pages
π’ prod live + verified Β· 12m ago
the live URL is a tailnet address for THIS machine; PROD is the published snapshot below (so agents can use it after this session ends). Verified = the deployed URL was fetched and its content hash matched.
a skill sub-agents can find, and we track if they use it. Adoption count IS the eval (incl. the standard-report skill itself).
tailscale-report14 total
today 0 Β· 7d 0 Β· last used 19.1d ago
make-engine9 total
today 0 Β· 7d 9 Β· last used 2.2d ago
automate-friday-wiki:wiki-publish3 total
today 0 Β· 7d 3 Β· last used 16.3h ago
chrome-devtools-axi3 total
today 0 Β· 7d 3 Β· last used 2.6d ago
spec-driven3 total
today 0 Β· 7d 0 Β· last used 21.6d ago
tts-on3 total
today 0 Β· 7d 0 Β· last used 13.4d ago
update-config3 total
today 0 Β· 7d 0 Β· last used 19.5d ago
tribunal-review-admin2 total
today 0 Β· 7d 0 Β· last used 21.5d ago
wiki-publish2 total
today 0 Β· 7d 2 Β· last used 16.9h ago
architecture-review1 total
today 0 Β· 7d 1 Β· last used 4.2d ago
auto-red-team1 total
today 0 Β· 7d 0 Β· last used 19.5d ago
calibrate-judge1 total
today 0 Β· 7d 1 Β· last used 3.4d ago
career-ops1 total
today 0 Β· 7d 1 Β· last used 2.6d ago
claude-in-chrome1 total
today 0 Β· 7d 1 Β· last used 2.6d ago
competitive-analysis-for-builders1 total
today 0 Β· 7d 0 Β· last used 39.9d ago
design-md-picker1 total
today 0 Β· 7d 0 Β· last used 27.2d ago
dev1 total
today 0 Β· 7d 1 Β· last used 2.7d ago
driving-tmux-claude-sessions1 total
today 0 Β· 7d 0 Β· last used 7.4d ago
effect-development1 total
today 0 Β· 7d 0 Β· last used 19.6d ago
engine1 total
today 0 Β· 7d 1 Β· last used 4.2d ago
harvest-conversation-type1 total
today 0 Β· 7d 0 Β· last used 9.6d ago
image-exploration1 total
today 0 Β· 7d 0 Β· last used 27.2d ago
loop1 total
today 1 Β· 7d 1 Β· last used 6.9h ago
request-approval1 total
today 0 Β· 7d 0 Β· last used 11.1d ago
transcribe-video1 total
today 0 Β· 7d 0 Β· last used 27.3d ago
validate1 total
today 0 Β· 7d 1 Β· last used 4.6d ago
vercel:deploy1 total
today 0 Β· 7d 0 Β· last used 22.1d ago
Decisions 11 open Β· your call
π’ own log Β· 11 open
corpus proposals pick
GO?
What
The 9-week corpus audit (report: corpus-patterns, seq 6) found 8 consistent patterns and proposes 7 builds. Four are already live as of tonight (mission control, acceptance judge, driver trust-ledger, thread parking). Remaining prototypes to pick from: you-are-here code-surface census card; next-move card; sprawl gauge over the registry; full click-to-evidence pages (every card -> source conversation + exact quotes).
wiki-sweep (the wiki self-maintenance reactor) produced a ratifiable batch (2026-07-02T02-24-55Z): auto-class frontmatter edits (index-regen, graduate-seeds) that can land through the door, assisted-class LLM-authored fixes (broken-links, stale-refs, link-orphans, conformance-shape, graduate-reports), and one schema-class enum decision. Propose-then-ratify β the wiki is untouched until you rule.
Why now
The conversation->wiki self-managing loop is booted live tonight; wiki-sweep is its maintenance half. Its proposals sit unratified. Case AGAINST ratifying blind: an assisted LLM edit could degrade a curated page, and a bulk frontmatter sweep touches many files at once β a bad batch is worse than the mess it cleans. Friday market question: would a customer pay for a wiki that maintains itself if the maintenance still needs a human to eyeball every batch?
Source
wiki-sweep / overnight gate loop
Ratify the auto-class edits from batch 2026-07-02T02-24-55Z through the door now, hold the assisted/schema classes for review, or reject the whole batch?
Mission Control v1 linking: every card/report/engine/agent row links to its LIVING artifacts β the owning Claude Code conversation (tmux session or resume id), its TASK.md, the engine dashboard, and the wiki page. Tasks-as-conversations become a first-class column (the desk).
Build the model-routing service (monorepo-wide): task-class -> cheapest-capable model with caps + fallback order Fable (conductor/judge/hard-verify) -> Opus specialized CC plan (workhorse) -> Codex (cross-vendor red-team + bulk) -> Gemini (multimodal/judge diversity) -> OpenRouter (spot). Per-task $ telemetry lands on the board.
Send Nick the automated-marketing-campaign pitch. A dedicated Claude Code session (tmux: nick-pitch) holds the LIVING draft β attach to refine: tmux attach -t nick-pitch. Draft + rehearsal-vs-respond-as-nick registered as a report when ready.
A standard FREEZE DOOR: `control.freeze` / `control.resume` as FACTS an engine's supervisor honors (per the thermostat-real doctrine β disable/tune/halt are facts on the log, never out-of-band state), added to the engine template so every engine inherits a uniform way to be paused from the cockpit without a bespoke kill for each one. Mission control stays a VIEW; it would only render freeze STATE, never reach in to flip it.
Why now
Jacob asked for a way to freeze an engine from the grid. The honest way is a doctrine-conformant fact door in the template, not a one-off script β building it once in engines/_template makes freeze a first-class, auditable capability across the whole fleet.
Approve building the freeze door into engines/_template (control.freeze/control.resume facts + supervisor honor) and retrofitting the pipeline engines (youtube-watcher / transcriber / librarian)?
Mission Control is published to prod at af-mission-control.pages.dev β but the deploy token can't edit Cloudflare Access, so the URL is unlisted-but-PUBLIC until you gate it. It shows internal business state (threads, decisions, engine health).
Why now
It went to prod tonight so agents can use it after this session; the ~2-minute Access gate is the one thing only you can do (dashboard-only, the token can't).
Source
prod publisher / Cloudflare
Gate af-mission-control.pages.dev with Cloudflare Access (your email), and optionally add mission.automatefriday.com?
Open the Codex fan-out (10x compute) once mission control v1 is the intake surface. The business map's empty slots become the hole-list; the report intake becomes the register β so a wide fan-out has solid holes to contribute to instead of scattering.
Why now
The 10x compute exists but has had no solid hole to contribute to; mission control v1 (business map + report intake) is what turns that compute into filled slots and registered reports.
Source
codex fan-out / mission control v1
Once mission control v1 is the intake β go/no-go on the Codex fan-out, and how wide?
The Tier-1 onboarding-bench front-door reliability test was blocked on op reauth β now unblocked. An overnight run resumes frontier work; its GQM is already defined (pass/fail aha, pave-list as deliverable, observe-not-score).
Why now
The blocker is cleared and the GQM is already shown/agreed β the only thing missing is the word go.
Source
onboarding-bench
Dispatch the onboarding-bench overnight run tonight?
Interactive op (1Password) works now, but headless agents (driver loop, cron, overnight runs) can't use the desktop biometric session β they need the existing service-account token in their env once.
Why now
It unblocks agents self-serving keys, healthchecks.io self-provisioning, and RentRedi rung 2 β several threads are waiting on this one pointer.
Source
vault / headless agents
Where does the op service-account token live (a 1P item name), or is it OK to store it in the login keychain for agents?
The cc-control repo has a merge conflict on branch janitor-backup-2026-07-01 that an agent cannot safely resolve β it needs Jacob's hand to decide which side wins.
Why now
It is blocking a clean commit of cc-control work; the janitor pass flagged it as the one surface it could not reconcile itself.
Source
janitor pass / cc-control
Resolve the cc-control merge conflict on janitor-backup-2026-07-01 yourself, or tell the agent which side to take?
Business map 10 registered Β· 2 unregistered Β· 7 holes to fill
π’ registry census fresh Β· updated 9s ago
every business function is a slot β registered = a live engine in the census, unregistered = a real engine with no published card, PLACEHOLDER = a hole to fill (the fan-out's hole-list).
slot
engine
what fills this
Fleet mission control
mission-controllive Β· ENGINE
see the whole business at a glance + decide
Engine registry / discovery
registrylive Β· ENGINE
census + health of every engine
Content pipeline Β· watch
youtube-watcherlive Β· PARTIAL
watch sources for new material (frontier engine #1)
Content pipeline Β· transcribe
transcriberlive Β· ENGINE
turn media into text
Content pipeline Β· file to wiki
librarianlive Β· ENGINE
fold knowledge into the wiki
Wiki maintenance
wiki-sweeplive Β· ENGINE
keep the knowledge base clean + self-managing
Idea capture
ideaslive Β· PARTIAL
capture sparks into the flow
Conversation β knowledge
conversation-refinerylive Β· ENGINE
refine conversations into durable facts
Idea routing
idea-librarianunreachable Β· ENGINE
route ideas to the right home
Sub-agent telemetry
tool-telemetryunregistered
which agents/tools fire across the fleet
Personal finance
rentredi-expensesstale Β· ENGINE
trusted monthly expense book
Thread driver / conductor
.driver loopunregistered Β· not-yet-an-engine
drive open threads to done so Jacob stops driving
VPS / infra health
PLACEHOLDER
unattended box health w/ recovery ladder (frontier engine #2, HumbleBrands)
Nick CRM (barbershop + swim school)
PLACEHOLDER
reconcile + grow Nick's bottom line (frontier engine #3)
Social sensing (X bookmarks β ideas)
PLACEHOLDER
triage Jacob's bookmarks into the idea flow
Content pipeline Β· draft + ratify + post
PLACEHOLDER
reply in operator voice, one-tap human ratify (content-pipeline-shipping)
Taxes / CPA
PLACEHOLDER
keep the books tax-ready; 1040 + quarterlies
HumbleBrands client-health
PLACEHOLDER
$1k/mo support client β agent health monitor
Narra (audiobooks in your voice)
PLACEHOLDER
demand-validated product; concierge β engine
Reports 7 registered Β· latest first
π’ own log Β· 7 registered
reports get built anywhere β they REGISTER here. File one from any session: node engines/mission-control/report.mjs "title" "path-or-url" --thread X --depth L2
Sub-agent experience audit
2026-07-02T08:37:55.565Z Β· from cli Β· thread sax
/Users/jh/.claude/reports/2026-07-02-sax-audit.md
Consistent patterns across the corpusL2 reproduced
2026-07-02T08:27:32.227Z Β· from cli Β· thread corpus-patterns
#29 red-team: wiki-sweep decide-fold @a4d6b9a = SHIP (matches #40 exactly, 17/17, regression can-go-red, no scope leak); gate hardening @16918908 = NO-SHIP β value guard /[\r\n]/ only blocks ASCII newlines but wiki parser _frontmatter.py:56 uses Python splitlines() = ALSO breaks on U+0085/U+2028/U+2029 => arbitrary frontmatter-key injection still open (realistic via scraped/LLM values, no adversary needed; audit fact lies about fields changed). Also symlink escape (resolve() no deref). Builder resumed: full splitlines charset guard + canonical-parser re-parse assertion + symlink reject, red/green pins Β· REFINED live-exposure note: the running wiki checkout is exposed to Unicode-newline frontmatter injection on ANY caller patching scraped/LLM field values until the fixed gate branch merges β still ratify-gated + low-traffic, not paging-grade, but sharper than the ASCII-only hole first reported
edge 2026-07-02T08:11:21Z
#29 follow-ups (a)+(b) BUILT: gate --patch-frontmatter HARDENING (automate-friday-wiki feat/gate-patch-frontmatter @1691890 β closes a REAL live body-injection hole: CRLF-past-frontmatter + path traversal; red 6/9->green 9/9) + #40 lifecycle ruling folded into wiki-sweep decide+conformance (monorepo feat/wiki-sweep-followups @a4d6b9a; ruling=add ONLY seed enum + reconcile building/raw strays; 17/17 conformant, real llmwiki-lint regression can-go-red). Fixtures only, live wiki+:6943 untouched. Red-team dispatched (injection-escape focus: alt line terminators, YAML-in-fieldname, path symlinks, atomicity) Β· LIVE-EXPOSURE NOTE for Jacob: the running wiki checkout serves the UNHARDENED patch mode until feat/gate-patch-frontmatter merges β a real (if low-traffic, ratify-gated) injection surface
tick 2026-07-02T07:57:15Z
GQM plain statement: tick7->8 window had NO issue/commit state change (feasibility was read-only) β first strike; second consecutive => observation-only. Advance: dispatched #29 follow-ups (a)+(b) (gate --patch-frontmatter mode + fold closed-#40 lifecycle-enum ruling into wiki-sweep decide layer; fixtures only, live wiki+loop untouched, (d) boot stays Jacob-gated) on feat/wiki-sweep-followups β wiki-sweep tracked source verified clean (untracked=runtime data, #71 territory)
edge 2026-07-02T07:08:18Z
#68 item-4 feasibility DONE (read-only): merge-main-into-reactive recommended (reactive superset of daytona β one stack, move together); factWrites seal-ification already on main conflict-free; real work = outbox.ts 7 semantic hunks + reroute 9 raw db.insert(facts) writers (lint rule = completeness gate) + hand-verify mcpMutation clean-merge trap; ~half-day; open check = which branches deploy to shared dev (factlog-substrate possible 3rd unchained source). Plan staged in outbox addendum 2; execution needs Jacob go + worktree-owner coordination