🟒 Mission Control

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.

Log grid 42 logs Β· 🟒8 🟑1 🟠1 πŸ”΄2 🟣22 βšͺ8

🟒 scanned 42 logs · census live
βœ“ 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
recent transitions 58βœ“β†’βœ• idea-librarian/idea-librarian 36sβœ•β†’βœ“ conversation-refinery/conversation-refinery 3mβœ•β†’βœ“ idea-librarian/idea-librarian 4mβœ“β†’βœ• idea-librarian/idea-librarian 5mβœ“β†’βœ• conversation-refinery/conversation-refinery 12mβš’β†’βœ“ effect-write-wiki/effect-write-wiki 21mβœ•β†’βœ“ conversation-refinery/conversation-refinery 22mβœ“β†’βœ• conversation-refinery/conversation-refinery 23mβœ•β†’βœ“ idea-librarian/idea-librarian 25mnew βœ• idea-librarian/idea-librarian 26m
conversation-refinery/conversation-refinery βœ“ healthy
40 facts Β· last edge 6s Β· census live Β· ENGINE
conversation-refinery.skipped6s
itemId=16828639-90e7-47e9-8013-126da6d7f9e3
conversation-refinery.skipped28s
itemId=34cd6492-8c94-4b4e-a016-d76fed4d7edd
conversation-refinery.skipped43s
itemId=35f05c4c-773a-4c20-b090-33ba149becae
click for full engine β–Έ
effect-write-wiki/effect-write-wiki βœ“ healthy
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
edge8m
gate injection fix landed: automate-friday-wiki feat/gate-patch-frontmatter @72ce404 (full splitlines charset guard on value+field-name + defense-in-depth canon
edge17m
#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 β€” va
click for full engine β–Έ
summary-judge/verdicts βš’ in-dev
40 facts Β· last edge 5.9h
summary-judge.verdict5.9h
T33iI6izAKw
summary-judge.verdict5.9h
QCd2k7WWfkI
summary-judge.verdict7.3h
Gmc4rlKx0pA
click for full engine β–Έ
sensor/items βš’ in-dev
40 facts Β· last edge 6.2h
video.appeared6.2h
Mixture of Experts: The AI Trick Eating the World's Memory
video.appeared6.2h
Finally, an Open Standard for the Karpathy LLM Wiki is HERE
video.appeared17.5h
Where is the Moat
click for full engine β–Έ
factory-session-sensor/sessions βš’ in-dev
40 facts Β· last edge 1.5d
factory.sessions1.5d
BUILDING
factory.sessions1.5d
BUILDING
factory.sessions1.5d
BUILDING
click for full engine β–Έ
engine-detector/detections βš’ in-dev
40 facts Β· last edge 1.5d
engine.detector1.5d
BUILDING
engine.detector1.5d
BUILDING
engine.detector1.5d
BUILDING
click for full engine β–Έ
wiki-auto-intake/wiki-auto-intake βš’ in-dev
1 facts Β· last edge 1.6d
wiki-auto-intake.proposed1.6d
itemId=session:2026-06-30 build-#27-wiki-auto-intake:DevLoopAsDiscovery
click for full engine β–Έ
github-watcher/self-review βš’ in-dev
3 facts Β· last edge 2.0d
selfReview.flagged2.0d
engine=github-watcher
selfReview.flagged2.0d
engine=github-watcher
selfReview.passed2.0d
engine=github-watcher
click for full engine β–Έ
idea-stickiness/idea-stickiness βš’ in-dev
8 facts Β· last edge 2.0d
idea-stickiness.acted2.0d
itemId=gh-44
idea-stickiness.acted2.0d
itemId=gh-45
idea-stickiness.acted2.0d
itemId=gh-46
click for full engine β–Έ
conversation-dispatcher/ideas βš’ in-dev
40 facts Β· last edge 4.3d
idea.refined4.3d
Rate limits as a designed-for degradation mode
idea.refined4.3d
Single sanctioned write path (the journal)
idea.refined4.3d
Ground the engine in real behavior before building
click for full engine β–Έ
github-watcher/github-watcher βš’ in-dev
40 facts Β· last edge 4.4d
github-watcher.observed4.4d
itemId=Sparse-Dynamix/guardian
github-watcher.observed4.4d
itemId=f-crop/rustacean
github-watcher.observed4.4d
itemId=ShadowTag-v2/shadowtagai-monorepo-v2
click for full engine β–Έ
conversation-dispatcher/dispatcher βš’ in-dev
9 facts Β· last edge 4.4d
dispatcher.run4.4d
mode=propose
dispatcher.proposed4.4d
route=mint
dispatcher.proposed4.4d
route=update
click for full engine β–Έ
line-health/line βš’ in-dev
40 facts Β· last edge 5.5d
line.observed5.5d
DRIVER-DOWN
line.observed5.5d
DRIVER-DOWN
line.observed5.5d
DRIVER-DOWN
click for full engine β–Έ
line-sensor/line βš’ in-dev
40 facts Β· last edge 5.5d
line.driver-dead5.5d
DRIVER-DOWN
line.driver-dead5.5d
DRIVER-DOWN
line.driver-dead5.5d
DRIVER-DOWN
click for full engine β–Έ
report-conformance/conformance βš’ in-dev
8 facts Β· last edge 8.7d
conformance.checked8.7d
target=automate-friday-wiki/wiki/videos/h1MxhfZSTjo.md
conformance.checked9.0d
target=/Users/jh/.claude/reports/system-health-dashboard.html
conformance.checked9.0d
target=/tmp/report-resume.md
click for full engine β–Έ
hn-frontpage-handrolled/snapshots β–’ retired
3 facts Β· last edge 2.2d
fact2.2d
β€”
fact2.2d
β€”
fact2.2d
β€”
click for full engine β–Έ
cc-activity-sensor-bespoke-draft/activity β–’ retired
16 facts Β· last edge 5.6d
cc.activity5.6d
state=ACTIVE
cc.activity5.6d
state=ACTIVE
cc.activity5.6d
state=ACTIVE
click for full engine β–Έ
priority-engine/rankings β–’ retired
40 facts Β· last edge 6.6d
fact6.6d
tag=ranking.resolved
fact6.6d
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.

nick-pitchdecision-card
● live β€” session up 5.0h
attach: tmux attach -t nick-pitch decision: nick-pitch-send
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.

latest deploy facts (verify-by-fetch, not wrangler's exit code):
mc.deploy.succeeded 2026-07-02T08:27:19.206Z Β· verified
https://2fbd2f74.af-mission-control.pages.dev
mc.deploy.attempted 2026-07-02T08:27:13.174Z
mc.deploy.succeeded 2026-07-02T08:15:11.846Z Β· verified
https://7cf3d076.af-mission-control.pages.dev
mc.deploy.attempted 2026-07-02T08:15:04.585Z

Skills 27 skills Β· how often are skills invoked?

🟒 skills feed fresh · 27 skills · updated 5.8h ago

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).
answer: node engines/mission-control/answer.mjs corpus-proposals-pick "your answer"

wiki sweep batch ratify

RATIFY?
What
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?
answer: node engines/mission-control/answer.mjs wiki-sweep-batch-ratify "your answer"

mc links v1

GO?
What
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).
answer: node engines/mission-control/answer.mjs mc-links-v1 "your answer"

model router service

GO?
What
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.
answer: node engines/mission-control/answer.mjs model-router-service "your answer"

nick pitch send

GO?
What
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.
answer: node engines/mission-control/answer.mjs nick-pitch-send "your answer"

freeze door

GO?
What
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.
Source
mission-control grid feedback / thermostat-real doctrine
Approve building the freeze door into engines/_template (control.freeze/control.resume facts + supervisor honor) and retrofitting the pipeline engines (youtube-watcher / transcriber / librarian)?
answer: node engines/mission-control/answer.mjs freeze-door "your answer"

prod access gate

NEEDS YOU
What
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?
answer: node engines/mission-control/answer.mjs prod-access-gate "your answer"

codex fanout gate

GO?
What
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?
answer: node engines/mission-control/answer.mjs codex-fanout-gate "your answer"

onboarding bench overnight

GO?
What
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?
answer: node engines/mission-control/answer.mjs onboarding-bench-overnight "your answer"

op service account token

POINT ME
What
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?
answer: node engines/mission-control/answer.mjs op-service-account-token "your answer"

cc control merge conflict

NEEDS YOU
What
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?
answer: node engines/mission-control/answer.mjs cc-control-merge-conflict "your answer"

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).

slotenginewhat fills this
Fleet mission controlmission-control live Β· ENGINEsee the whole business at a glance + decide
Engine registry / discoveryregistry live Β· ENGINEcensus + health of every engine
Content pipeline Β· watchyoutube-watcher live Β· PARTIALwatch sources for new material (frontier engine #1)
Content pipeline Β· transcribetranscriber live Β· ENGINEturn media into text
Content pipeline Β· file to wikilibrarian live Β· ENGINEfold knowledge into the wiki
Wiki maintenancewiki-sweep live Β· ENGINEkeep the knowledge base clean + self-managing
Idea captureideas live Β· PARTIALcapture sparks into the flow
Conversation β†’ knowledgeconversation-refinery live Β· ENGINErefine conversations into durable facts
Idea routingidea-librarian unreachable Β· ENGINEroute ideas to the right home
Sub-agent telemetrytool-telemetry unregisteredwhich agents/tools fire across the fleet
Personal financerentredi-expenses stale Β· ENGINEtrusted monthly expense book
Thread driver / conductor.driver loop unregistered Β· not-yet-an-enginedrive open threads to done so Jacob stops driving
VPS / infra healthPLACEHOLDERunattended box health w/ recovery ladder (frontier engine #2, HumbleBrands)
Nick CRM (barbershop + swim school)PLACEHOLDERreconcile + grow Nick's bottom line (frontier engine #3)
Social sensing (X bookmarks β†’ ideas)PLACEHOLDERtriage Jacob's bookmarks into the idea flow
Content pipeline Β· draft + ratify + postPLACEHOLDERreply in operator voice, one-tap human ratify (content-pipeline-shipping)
Taxes / CPAPLACEHOLDERkeep the books tax-ready; 1040 + quarterlies
HumbleBrands client-healthPLACEHOLDER$1k/mo support client β€” agent health monitor
Narra (audiobooks in your voice)PLACEHOLDERdemand-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 corpus L2 reproduced
2026-07-02T08:27:32.227Z Β· from cli Β· thread corpus-patterns
/Users/jh/.claude/reports/2026-07-02-jacob-patterns.md
Acceptance judge maiden verdicts L3 cross-checked
2026-07-02T06:38:37.275Z Β· from acceptance-judge build Β· thread acceptance-judge
/Users/jh/.claude/reports/2026-07-02-acceptance-judge-maiden.html
2026-07-02T03:19:11.155Z Β· from mission-control build Β· thread mission-control
https://af-mission-control.pages.dev/
2025 1040 review checklist
2026-07-02T02:42:58.278Z Β· from taxes Β· thread taxes/CPA
/Users/jh/Downloads/2025-1040-review-checklist.md
Decision board (2026-07-01 evening) β€” the manual prototype this engine replaces
2026-07-02T02:42:58.278Z Β· from 2026-07-01 evening Β· thread mission-control
/Users/jh/.claude/reports/2026-07-01-decision-board.html
Working-style critique (2026-07-01)
2026-07-02T02:42:58.277Z Β· from 2026-07-01 critique session Β· thread mission-control
/Users/jh/.claude/reports/2026-07-01-working-style-critique.html

Threads 56 open Β· oldest first

🟒 cached 39s ago
open 21.6d Β· last activity 21.6d ago Β· 4 comments Β· agent owes next move
open 21.6d Β· last activity 21.6d ago Β· 0 comments Β· agent owes next move
open 21.6d Β· last activity 21.6d ago Β· 0 comments Β· agent owes next move
open 21.5d Β· last activity 21.5d ago Β· 1 comments Β· agent owes next move
open 21.5d Β· last activity 21.4d ago Β· 1 comments Β· agent owes next move
open 21.1d Β· last activity 21.1d ago Β· 0 comments Β· agent owes next move
open 19.2d Β· last activity 19.2d ago Β· 0 comments Β· agent owes next move
open 19.1d Β· last activity 19.1d ago Β· 0 comments Β· agent owes next move
open 18.1d Β· last activity 18.1d ago Β· 0 comments Β· agent owes next move
open 17.1d Β· last activity 17.1d ago Β· 1 comments Β· agent owes next move
open 17.0d Β· last activity 2.1d ago Β· 1 comments Β· agent owes next move
open 17.0d Β· last activity 17.0d ago Β· 0 comments Β· agent owes next move
open 16.1d Β· last activity 16.1d ago Β· 0 comments Β· agent owes next move
open 7.1d Β· last activity 1.7d ago Β· 2 comments Β· agent owes next move
open 4.1d Β· last activity 1.7d ago Β· 1 comments Β· agent owes next move
open 3.1d Β· last activity 3.1d ago Β· 0 comments Β· agent owes next move
open 2.1d Β· last activity 1.7d ago Β· 1 comments Β· agent owes next move
open 2.1d Β· last activity 1.7d ago Β· 0 comments Β· agent owes next move
open 2.1d Β· last activity 2.1d ago Β· 1 comments Β· agent owes next move
open 2.1d Β· last activity 2.1d ago Β· 0 comments Β· agent owes next move
open 2.1d Β· last activity 2.1d ago Β· 0 comments Β· agent owes next move
open 2.1d Β· last activity 2.0d ago Β· 1 comments Β· agent owes next move
open 2.1d Β· last activity 2.1d ago Β· 0 comments Β· agent owes next move
open 2.1d Β· last activity 2.1d ago Β· 0 comments Β· agent owes next move
open 2.1d Β· last activity 2.1d ago Β· 0 comments Β· agent owes next move
open 2.1d Β· last activity 2.1d ago Β· 0 comments Β· agent owes next move
open 2.1d Β· last activity 2.1d ago Β· 0 comments Β· agent owes next move
open 2.1d Β· last activity 2.1d ago Β· 0 comments Β· agent owes next move
open 2.1d Β· last activity 2.1d ago Β· 0 comments Β· agent owes next move
open 2.1d Β· last activity 2.1d ago Β· 0 comments Β· agent owes next move
open 2.1d Β· last activity 2.0d ago Β· 1 comments Β· agent owes next move
open 2.1d Β· last activity 2.0d ago Β· 2 comments Β· agent owes next move
open 2.0d Β· last activity 1.7d ago Β· 5 comments Β· agent owes next move
open 2.0d Β· last activity 1.9d ago Β· 2 comments Β· agent owes next move
open 2.0d Β· last activity 2.0d ago Β· 0 comments Β· agent owes next move
open 2.0d Β· last activity 2.0d ago Β· 0 comments Β· agent owes next move
open 2.0d Β· last activity 2.0d ago Β· 0 comments Β· agent owes next move
open 2.0d Β· last activity 2.0d ago Β· 0 comments Β· agent owes next move
open 1.9d Β· last activity 1.9d ago Β· 0 comments Β· agent owes next move
open 1.9d Β· last activity 1.9d ago Β· 0 comments Β· agent owes next move
open 1.9d Β· last activity 1.9d ago Β· 0 comments Β· agent owes next move
open 1.7d Β· last activity 1.7d ago Β· 0 comments Β· agent owes next move
open 1.7d Β· last activity 1.7d ago Β· 0 comments Β· agent owes next move
open 1.7d Β· last activity 1.7d ago Β· 2 comments Β· agent owes next move
open 1.6d Β· last activity 1.6d ago Β· 0 comments Β· agent owes next move
open 1.6d Β· last activity 1.6d ago Β· 0 comments Β· agent owes next move
open 1.6d Β· last activity 1.6d ago Β· 0 comments Β· agent owes next move
open 1.6d Β· last activity 1.6d ago Β· 1 comments Β· agent owes next move
open 1.6d Β· last activity 1.6d ago Β· 0 comments Β· agent owes next move
open 1.1d Β· last activity 1.1d ago Β· 0 comments Β· agent owes next move
open 8.2h Β· last activity 8.2h ago Β· 0 comments Β· agent owes next move
open 8.1h Β· last activity 8.1h ago Β· 0 comments Β· agent owes next move
open 8.1h Β· last activity 8.1h ago Β· 0 comments Β· agent owes next move
open 7.0h Β· last activity 7.0h ago Β· 0 comments Β· agent owes next move
open 5.7h Β· last activity 5.7h ago Β· 0 comments Β· agent owes next move
open 5.0h Β· last activity 5.0h ago Β· 0 comments Β· agent owes next move

Agents 2 running now Β· 5 active in last 30m Β· 128 in tail

🟒 telemetry fresh · last sub-agent tool 19s ago

full live detail in the sub-agent observatory: http://100.106.5.36:3948/ tailnet only

live β€” active in the last 30 minutes
sax-auditrunning
asax-audit Β· session 9c85df13 Β· last tool 19s ago Β· 30 calls
gate-overnightrunning
agate-over Β· session 9c85df13 Β· last tool 48s ago Β· 87 calls
wiki-sweep-redteamwinding down
awiki-swee Β· session cb6b70f9 Β· last tool 4m ago Β· 39 calls
general-purposewinding down
a0d863fa0a Β· session cb6b70f9 Β· last tool 9m ago Β· 74 calls
corpus-patternswinding down
acorpus-pa Β· session 9c85df13 Β· last tool 10m ago Β· 26 calls
recently finished
phase-rulinglikely delivered
aphase-rul Β· finished 1.0h ago Β· 58 calls
writer-rebase-feasibilitylikely delivered
awriter-re Β· finished 1.5h ago Β· 17 calls
acceptance-judgelikely delivered
aacceptanc Β· finished 2.0h ago Β· 67 calls
write-path-redteamlikely delivered
awrite-pat Β· finished 2.5h ago Β· 28 calls
general-purposelikely delivered
a281d7a6c4 Β· finished 2.6h ago Β· 40 calls

Engines 9/12 live Β· sacred pipeline highlighted

🟒 registry census fresh · updated 9s ago
sacred pipeline
youtube-watcherlive Β· PARTIAL
β†’
transcriberlive Β· ENGINE
β†’
librarianlive Β· ENGINE
rest of the fleet
acceptance-judgestale Β· ENGINE
conversation-refinerylive Β· ENGINE
effect-write-wikilive Β· ENGINE
idea-librarianunreachable Β· ENGINE
ideaslive Β· PARTIAL
mission-controllive Β· ENGINE
registrylive Β· ENGINE
rentredi-expensesstale Β· ENGINE
wiki-sweeplive Β· ENGINE

Driver tmux session alive

🟒 driver alive · last advance 3m ago
edge 2026-07-02T08:36:04Z
#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-guard downgraded, re-parse still refuses); 17/17 + red-team independent 19/19 HOLDS 0 BROKEN; both #29 branches SHIP. wiki-sweep coupling caveat now moot (sole-write-path gate is actually safe). #29 code lanes (a)+(b) DONE; (c) assisted-LLM authoring + (d) live-loop boot remain Jacob-gated. TRUNK line updated to 6 verified branches
edge 2026-07-02T08:31:32Z
gate injection fix landed: automate-friday-wiki feat/gate-patch-frontmatter @72ce404 (full splitlines charset guard on value+field-name + defense-in-depth canonical re-parse assertion [only-named-keys-changed, byte-identical body, robust to future parser drift] + symlink lstat/realpath reject; 9->17 tests green incl. NEL/LS/PS/VT/FF + A/B proving re-parse load-bearing with input guard downgraded; deploy_effect 6/6). Red-teamer resumed for closing verify (re-run escapes + probe re-parse bypass + symlink)
edge 2026-07-02T08:22:42Z
#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