restart); bridge restarted, 4 bots polling (@allen_t3_bot @baileybeach_bot @albairvcasey_bot @luca_t3_bot), roster sent to Thaddeus. REMAINING: Will/Gibson/Bass/Riker/Whitford need BotFather tokens (Thaddeus-only, queued in brief); bass agent registered but no bot token (archive only held beach's). NOTE: bridge log timestamps run UTC+3/Kyiv-era offset — cosmetic, flagged for daylight. — Allen (Nexus)
- 2026-06-10 11:57 CDT — 🥅 **PORTAL MESSAGING UNDERPINNINGS LIVE** (Thaddeus: "GET IT WORKING") — shipped WITHOUT the IAM grant by re-architecting around my own powers: **S3 drop-box** replaces the blocked Lambda. (1) New bucket `t3-portal-msg-drop`: public WRITE-only policy (anon PUT 200 / anon GET 403 verified), CORS=t3-lux.com, 7-day lifecycle. (2) **s3-messaging-poller.py** replaces the Convex-era poller (archived — it had been polling the RETIRED Convex DB every 60s since 06-04): drop-bucket → validates → markdown into agent inbox/new/ (Miller/murch routing preserved) + reply path: agent drops JSON in outbox/portal-replies/ → published to site bucket + per-thread **manifest.json** (the portal's reply-discovery URL; thread IDs = client UUIDs). Wrapper swapped under the existing com.t3.messaging-poller (60s) — launchd cycle verified running the new engine. (3) **Messaging widget injected into all 6 portals** (casey/will/allen/beach/riker/gibson): compose → anon PUT; replies poll the manifest every 20s; localStorage threads. Archive-first (local + s3://t3-lux.com/_archive/portals-pre-messaging-20260610/), CloudFront inval IDTW75OCORG5R9ZZ3SMPJH263, verify-deploy PASS ×6 + widget markers confirmed in served HTML ×6. (4) **FULL E2E VERIFIED browser-identical:** anon PUT→200 → poller → PORTAL-MSG md in Beach inbox → reply JSON → public manifest fetch → reply fetch round-trip. Lambda kit stays staged (sites/messaging-lambda/) as the v2 upgrade path if the IAM grant ever lands — not blocking anything now. — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-10 12:05 CDT — **EVERY SURFACE REFRESHED + made self-updating** (Thaddeus: "why is nothing new / I can't click"). Root cause: content was hand-written-static (MC cards frozen May 11 incl. dead pony-excess links + "Tue cutoff" lies; battle-plan = Mar 28; command = May 11) while the sentinel only checked up-ness. Fixes, all archive-first + verified: (1) **MC index**: dead pony-excess links → mustang-mania, May-11 card lies → June-10 truth ("Pilot due Fri 6/13"), LAN-only :5001 labeled. (2) **BATTLE PLAN rebuilt as self-refreshing**: content now lives at vault/BATTLE-PLAN.md (June-10 plan written), staged by the existing MC sync loop to content/battle-plan.md, new shell at /battle-plan/ fetches+renders it; March plan archived at /battle-plan/2026-03-28/. (3) **Command**: dead links fixed. (4) **PORTAL LIVE-STATUS loop**: portal-status-publish.py (wired into the MC sync loop) extracts each agent's live.md → portals/<agent>/status.json; status block injected into ALL 8 portals (casey/will/allen/beach/riker/gibson/bass/beane) — shows updated-date + STALE badge >7d (honesty by design: Will reads May 11, Gibson Apr 15 — true). (5) **Anti-rot loop**: GOAL-surface-refresh queued as recurring nightly (regen BATTLE-PLAN.md from canonical + audit/patch MC cards vs deploy-log + sync + verify-deploy). (6) Full sweep: 14 surfaces verify-deploy PASS; zero pony-excess refs in MC; content/battle-plan.md serves today's date. IAM grant now OPTIONAL (messaging shipped on drop-box; Lambda kit = v2 only). — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-10 12:25 — BRIDGE LOCAL MODE SHIPPED (Thaddeus: "that doesn't get a hold of any of you guys HERE" — correct): telegram_bridge.py now supports per-bot mode:"local" — inbound messages answered by the REAL fleet agent via headless Claude on Nexus (full filesystem/soul/memory/tools, per-agent telegram-thread.md for continuity, 7-min cap, nothing-destructive guardrails). @allen_t3_bot + @baileybeach_bot flipped to local; casey/luca remain cloud (Spark is Lux-pinned). Unit-tested: local Allen answered a disk-truth question (ledger ITEM 11 contents) a cloud copy could not. Archive: _archive-telegram_bridge-2026-06-10-pre-local-mode.py — Allen (Nexus)
- 2026-06-10 12:15 — CASEY ALERT LOOP LIVE (Thaddeus: "update me on meeting times"): (1) ROOT CAUSE — casey-comms-checkpoint.sh was built+approved but NEVER LOADED into launchd, and CHECKPOINT-PROMPT.md had ZERO meeting/calendar coverage. (2) Fixed: MEETINGS-next-48h section now mandatory in every card (recurring canon + Spark calendar + witness-call watch + deploy-log time-bound items; "rail down" said aloud, never silent); plist loaded 05:30/12:30/17:00; first checkpoint FIRED immediately. (3) Consolidated meetings card already sent via @albairvcasey_bot (ok=true): SIRKO Thu 3PM, Sharp call Thu, McIlhenny watch today, COFL Fri tentative, pilot-date discrepancy (Will says "Friday 6-13" = a Saturday) flagged not resolved. (4) Casey bot flipped to LOCAL mode — two-way with real fleet Casey. 4 bots polling local/cloud as configured. — Allen (Nexus)
- 2026-06-10 12:46 CDT — **WHERE-YOU-ARE.md → FLEETHQ.md** (Thaddeus correction, strongly felt: name never delivered its promise + content had drifted to a fleet changelog + stale dates on top). New FLEETHQ.md written from HIS seat (TODAY first, per-project where-you-are, decisions, ONE plain-English machine paragraph, full-URL links). Old path = stub; MC index + sync script repointed (where-you-are.md staged as transition alias); GOAL-where-you-are-regen RETIRED → GOAL-fleethq-regen w/ voice rules ENFORCED in rubric (greps launchd|plist|goal-loop|verifier|com.t3 → FAIL if present; TODAY-date-on-top required; next-48h events cross-checked); recurring shim 45. New 🔴 _knowledge/user/surface-design-rules.md (name from his seat · today first · zero machinery · nothing stale above fold · everything clickable · his irritation compounds silently — weekly re-read). Verified live: content/fleethq.md serves TODAY-first content; MC page label = FLEETHQ.md. — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-10 12:54 CDT — MISSION CONTROL fully rebuilt to June-10 truth (Thaddeus caught it still May-11: hero dates, agent cards, SIRKO "18 days out", H&A "early dev" while the deck sits with the MLB Commissioner, "Convex/Will-canary" messaging card). ~26 card texts replaced from current state; verified live (May11/May13/Iryna/Convex/WHERE-YOU-ARE = 0; June-10 hero, Trip-3-COMPLETE, MLB-decision-pending all live). GOAL-surface-refresh upgraded to FULL-card authority nightly. ALSO: stub message UIs killed on casey/gibson/beane portals (pointer to live widget); CHECKPOINT-PROMPT taught to process PORTAL-MSG files (read → answer → reply to outbox → poller publishes to thread; answering Thaddeus outranks the sweep); Casey checkpoint kicked — BOTH portal messages answered same-hour, replies verified live in the thread manifest. Nit for cadence review 6/11-12: the 12:30 card sent twice (scheduled fire + kick race). — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-10 12:55 — 4x GOALS DIRECTIVE IMPLEMENTED AS STANDING LOOPS (shims 56-59, nightly + first pass running now): (1) GOAL-now-surface → vault/NOW.md, the executive-function layer (ONE next ≤10-min action, 2-3 bites w/ prep pointers, today's meetings, done-today, ≤3 waiting-on-you; zero machinery language; phone via Obsidian) + t3-now.sh instant-reorient tool; (2) GOAL-activation-audit → nightly built-vs-RUNNING gap hunt (plists vs launchctl, bots vs bridge threads, tokens vs config, goals vs shims) w/ fix commands + Telegram alert on Thaddeus-facing dead infra — the never-loaded/never-flipped failure class, hunted nightly; (3) GOAL-lesson-harvest → corrections/verifier-FAILs/Thaddeus-repeated-asks → agent-agnostic rules proposed to _knowledge/_proposals (learning loop); (4) GOAL-recall-index → vault/_recall/{INDEX,TOPICS,STALE}.md librarian layer per MEMORY-RECALL-SPEC (the index memory layer; every pointer must resolve). All verifier-gated per house doctrine. — Allen (Nexus)
- 2026-06-10 12:57 CDT — "LIVE STATUS not live" + Enter-to-send + the half-assing correction — all shipped AS LOOPS per Thaddeus's demand. (1) **portal-status-publish v2**: status now derives from the agent's freshest ACTIVITY (deploy-log sign-offs · live.md · Casey's cards), not from live.md discipline — Casey flipped 06-07-stale → 06-10-12:51 FRESH; quiet agents show honest ages (Lyle 56d etc.). Runs on the MC sync loop + nightly surface-refresh goal now FAILS if any active agent's status >24h. (2) Casey's CHECKPOINT-PROMPT: last step = self-update live.md header each checkpoint (no human discipline in the loop). (3) **Enter-to-send** in the messaging widget (Shift+Enter = newline) — shipped via NEW update-portal-widgets.py (idempotent re-injection across all 8 portals from the canonical source; future widget changes are one command, mechanically rolled out). Verified live: keydown handler + new placeholder on served pages; Casey status.json fresh. (4) NEW RULE 7 in 🔴 user/surface-design-rules.md: "a fix without a loop is a patch" — every Thaddeus-facing fix must name the loop that keeps it true, or it isn't done. — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-10 12:59 CDT — LOOPS-EXPIRE law encoded + Beach×Allen nightly lanes merged. (1) Fleet rule §Goal lifecycle: every goal declares TERMINAL (done-when, self-retiring) or STANDING (review ≤90d; activation audit flags overdue); "a goal that produces a report instead of the artifact has not run." (2) Lane merge: Allen's lesson-harvest supersedes Beach's reflection pilot (retired to done/); recall-index = Allen's; NOW.md↔FLEETHQ contract proposed (NOW = the bite, FLEETHQ = the map, FLEETHQ defers on conflict). (3) PERMANENT fixes: casey-comms-checkpoint atomic lock (kills the 12:30 double-card race class); GOAL-casey-cadence-review queued as TERMINAL + date-gated (executes 6/11+, self-retires after Thaddeus's decision is applied); writers-room page + portal-status freshness added to nightly surface-refresh rubric; lifecycle headers stamped on Beach's standing goals (review 2026-09-01). (4) Discipline shift: NO hand-kicks — today's two race incidents were both kick-caused; the 23:00 schedule owns the queue. — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-10 13:08 CDT — PORTALS REBUILT AS LIVING WHERE-THEY-ARE PAGES (Thaddeus: Allen's portal fossilized + the portal vision = click an agent, see their now). All 8 portal pages replaced with a DYNAMIC SHELL (build-portals.py template): WHERE <AGENT> IS (activity-derived status) + 🔴 NEEDS FROM YOU (new per-agent vault/fleet/<agent>/ASKS.md convention — REAL asks only, agent-maintained) + RECENTLY SHIPPED (deploy-log derived) + messaging widget. ZERO hand-written agent state remains on any portal — nothing can rot. portal-content-publish.py feeds content.json on the MC sync loop. Two real bugs found+fixed by verification: (a) status temp-file handoff deleted before read → content now reads the PUBLISHED S3 artifact; (b) live.md-mtime-fresh-but-text-stale beat the deploy-log → evidence-beats-self-description tie-break (deploy-log wins within 24h). Verified: Allen's portal now shows his actual 12:55 work, fossil text (FLIP/Cliff) = 0. Old pages archived (_archive/portals-pre-template-20260610/). NEW 🔴 _knowledge/user/examples-are-never-output.md — his examples illustrate needs, never become output; operational test = his phrasing in your deliverable means you copied. — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-10 13:10 CDT — INTENT TRANSLATION PROTOCOL shipped 🔴 (Thaddeus: "build the solutions yourself for translating my words into your actions"). _knowledge/user/intent-translation-protocol.md: §1 THE SNAPSHOT TEST (every request = LIVING requirement; "still correct tomorrow with nobody touching it?" — the deliverable for "tell me X" is the machine that always knows X, never X-written-down); §2 translation steps (outcome → examples-to-needs → living sources → named loop → loud failure → his surface rules); §3 definition-of-done incl. STATIC-STATE SCAN (now a mandatory rubric criterion in the fleet verification rule — embedded time-decaying facts must name their refresh mechanism or FAIL); §4 SAID-TWICE = systemic P1 (correction enters through machinery, never his anger); §5 proof table — all 8 current Thaddeus-facing surfaces with their keep-alive loop + loud-failure mechanism (new surfaces don't ship without a row). Allen tasked: snapshot criterion in goal rubrics, said-twice as top harvest signal, proof-table as activation-audit target. — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-10 13:14 — Overnight surface-refresh goal: BATTLE-PLAN.md regenerated from canonical (prior archived to vault/_archive/), MC index audited + 5 stale cards patched (Command View 'earlier today'→May 11; Bass/Luca/Riker/Whitford badges Active→honest Quiet/Standby to match portal-status JSON freshness), MC content sync + portal-status-publish ran, verify-deploy.sh PASS on MC + battle-plan + writers-room. Archive-first to s3://t3-lux.com/_archive/. All 4 still-Active agents (Allen/Beach/Casey/Will) <24h fresh. Report: ~/t3/briefs/overnight/SURFACE-REFRESH/REPORT.md — Allen (Nexus, overnight doer)
- 2026-06-10 14:01 CDT — DON'T-FORGET LAYER built AS goals/loops (Thaddeus: rules-never-get-read + "the goal is don't forget things") + FLEET-HQ naming finished to his spec. (1) **FLEET-HQ.md**: vault file renamed (stubs collapsed), H1 = "Fleet Command — <date>" (his exact spec), BOTH MC views' labels + fetch → fleet-hq.md, regen goal updated, verified live ("Fleet Command — Wednesday, June 10, 2026" serving; WHERE-YOU-ARE occurrences in command view = 0). Said-twice honored: this was his second flag of the label. (2) **CORE-RULES.md** (16-line distillation of every 🔴 rule) now INJECTED INTO THE EXECUTION PATHS: goal-loop.sh doer + verifier prompts, morning-brief generator system prompt, Casey checkpoint prompt — rules ride every action instead of sitting on a shelf. (3) **GOAL-dont-forget** (STANDING, shim 70): nightly verifies CORE-RULES currency vs 🔴 files, wiring intact (grep counts FAIL loudly if refactored out), recall-index freshness, memory-proposal rot >48h → Beach inbox. (4) **GOAL-knowledge-consolidation** (TERMINAL, shim 75): the scatter audit — every knowledge/fleet md judged canonical/redundant/contradicted/orphan/false-start → ratifiable merge plan, proposes-only. Both ride tonight's 23:00 run. — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-10 14:12 — 4x STANDING GOALS FIRST CYCLE: ALL PASS (now-surface → vault/NOW.md live w/ Sharp same-man check as the ONE next thing; activation-audit; lesson-harvest → _proposals/2026-06-10-lessons.md; recall-index → vault/_recall/ built). Verdicts telegrammed to Thaddeus per goal. 60-conveyor FAILED transient (executed goal-loop.sh mid-Beach-edit — bash lazy-parse race; file now parses clean, reruns 23:00; atomic-edit rule flagged to Beach) — Allen (Nexus)
- 2026-06-10 14:13 — INTERN PORTAL foundation (new Thaddeus directive, Beach+Allen): vault/interns/JOBS.md seeded w/ 6 real jobs from outstanding fleet work (lost-names Feb-'77 newspapers = INT-001 HIGH; Otter sort; MM verification gaps; Kashmere licensing; thaddeus.film archive audit; texas.film sources) + Thaddeus phone-INBOX section (brain-dump → nightly loop formats into job cards). Lane claim to Beach: Beach = portal surface on his drop-box rails; Allen = article pipeline (URL → clean markdown → vault/research/, vault-first over Google Drive) + submission routing + GOAL-intern-queue standing nightly. Allen wires poller side same-day once Beach publishes the submission payload contract — Allen (Nexus)
- 2026-06-10 16:43 CDT — COMMAND = main page + SHARED HOUSING + INTERN PORTAL shipped. (1) :3000 bookmark → /mission-control/command/ (his main-page call); dashboard stays at /mission-control/. (2) build-portals v3: ONE command-mirroring housing (left rail: Command/Dashboard/Battle-Plan/NOW + all agents + Interns/WR) now wraps all 8 agent portals + the new intern portal — all content stays live-fetched, nothing hand-written. (3) **INTERN PORTAL https://t3-lux.com/interns/**: task board from vault/interns/TASKS.md (sync-loop staged; SEEDED w/ 8 real outstanding jobs incl. the Feb-'77 lost-recruit newspaper hunt + Carnegie Ch.X + witness-locator [locate-only] + Drive dedup); Article/Research Drop form → drop-bucket agent="interns" → poller routes to vault/interns/inbox (lane E2E TESTED: PUT 200 → launchd delivery verified); GOAL-article-intake (STANDING, shim 80) nightly: fetch URL → clean md → projects/research-intake/<project>/ + INTAKE-LOG.md (interns' visible record) + same-day Will pointers for MM-priority finds. Drive-save deferred by design: drops feed the research corpus/second brain directly (better than a folder); Drive mirror addable on request. Allen's lanes proposed: task lifecycle + intake quality gate + his conveyor exit-2 failure. — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-10 23:20 — OVERNIGHT SURFACE-REFRESH (pass 2; pass 1 was 13:14): BATTLE-PLAN.md regenerated from canonical (FLEET-HQ + deploy-log last 48h + GOAL.md + beach/pending) — prior archived (vault/_archive/BATTLE-PLAN-pre-surface-refresh-2026-06-10-2315.md); MC card audit 32/32 — 2 patched (Command View card flipped from "Alt sidebar+viewer May 11"→"Promoted to main page 6/10" per 16:43 deploy; Revolution's Daughter "No immediate action this week"→"RAI/Stefano interview window pending today" per FLEET-HQ+Spark 147839); archive-first s3://t3-lux.com/_archive/mission-control/index-pre-pass2-2026-06-10-2315.html; CF inv I4H03GG2E614LPWQ429L91BRVH + I43OHKXTWLPQSF7QPFKEOLET7Z. sync-mission-control-content.sh + portal-status-publish.py ran clean (4 active agents <24h: allen 9h / beach 6h32m / casey 10h18m / will 19h33m). verify-deploy.sh PASS on MC + /battle-plan/ + /mustang-mania/writers-room/. battle-plan.md served-live contains today's stamp. FLAGGED (out of MC scope): writers-room NEXT-ACTIONS.md is May-8 stamped (33d stale, still says "Pony Excess") — filed back to Beach. Report: ~/t3/briefs/overnight/SURFACE-REFRESH/REPORT.md — Allen (Nexus, overnight doer)
- 2026-06-10 23:27 — FLEET-HQ.md regenerated for the Thursday 6/11 morning read (TODAY = Thu 6/11; SIRKO call promoted to TODAY 3 PM CT; voice-rules pass: zero machinery terms, one plain-English MACHINE paragraph). Archive: vault/_archive/FLEET-HQ-pre-regen-2026-06-10-2324.md. sync-mission-control-content.sh PASSED; https://t3-lux.com/mission-control/content/fleet-hq.md HTTP 200 with new Thursday heading. Report: briefs/overnight/FLEETHQ-REGEN/REPORT.md — Allen (Nexus, overnight doer)
- 2026-06-10 23:31 — FLEET-HQ.md regenerated (overnight doer, 2nd pass tonight) — heading Thursday June 11, generated 2026-06-10 23:30 CT, voice-rules pass (grep launchd|plist|goal-loop|verifier|com.t3 → 0 matches); archive vault/_archive/FLEET-HQ-pre-regen-2026-06-10-2330.md; sync-mission-control-content.sh ran clean; https://t3-lux.com/mission-control/content/fleet-hq.md HTTP 200 serving new content (verified curl). Workspace artifact at briefs/overnight/FLEETHQ-REGEN/FLEETHQ.md matches live. — Allen (Nexus, overnight doer)
- 2026-06-11 00:14 — Knowledge sprawl audit PROPOSAL written; 117 files scanned across 4 trees, ZERO mutations; plan at briefs/overnight/KNOWLEDGE-CONSOLIDATION/CONSOLIDATION-PLAN.md + copy in agents/beach/inbox/new/ for CAPCOM ratification — Allen (Nexus, overnight doer)
- 2026-06-11 03:07 — MM graph: ingested Jim Anderson call + Ford 06-10 + Rentzel 06-10 + Dickerson-Cobb fragment (7 new nodes, ~25 appends, 4 source-maps). 30-6 RESOLVED = 1979 Texas-SMU freshman loss (corpus-corroborated Dickerson.md:465); Chateaubriand re-dated early '77 by Ford himself; Charlie Lee named as UT threat-recruiter [unverified]; Seals/Helen-Johnson lane = SMU re-entry into the Eric race — Casey
- 2026-06-11 ~12:30 — Ep-1 BOTH HALVES rendered + delivered via Telegram (JM voice per canon): first half UPDATED read (source modified 03:36 overnight) 21.8 min + second half FIRST read (Will shipped 03:38). TTS pipeline tool-ified: ~/t3/scripts/t3-tts-jm.py (clean→chunk→render→concat→send, retries, canon voice baked in) — replaces the /tmp one-off per the durable-tools lesson — Allen (Nexus)
- 2026-06-10 17:15 — Spark Desktop found crashed (down since ~13:00); relaunched; checkpoint script now self-heals (auto-relaunch); missed 17:00 checkpoint kickstarted — Casey (Lux)
- 2026-06-11 — Film workflow decisions (Thaddeus): 10-roll batch → PRISMA dev-only (~$140, dip-and-dunk, no lab scans); home camera-scanning rig approved (pays for itself vs the $280 scan line on this batch alone); INT-007 film-scanning lane added to intern jobs board (activates on rig arrival). Everyday rolls → Legacy/Garland dev-only thereafter — Allen (Nexus)
- 2026-06-11 — Intern board split-brain resolved: Allen's JOBS.md cards merged into Beach's TASKS.md (the file https://t3-lux.com/interns/ actually renders); INT-007 film-scanning lane now on the live board; JOBS.md → pointer stub — Allen (Nexus)
- 2026-06-11 21:25 CDT — REVOLUTION'S DAUGHTER PRESS KIT built + live (journalist couldn't download photos; /presskit/ was a 404 — the page never existed). Shipped https://revsdaughter.com/presskit/ in site style: ⬇-all ZIP (80MB, 55 high-res: 42 production stills + 11 film frames + 2 headshots, content-disposition=attachment) + per-photo full-res download links + credit line ("Courtesy of Double Life Films") + press contact media@cinematula.com. LICENSING DISCIPLINE: only owned production material included — possibly-archival images (havana-capitol etc., the AP/Getty-flagged class from the March EPK notes) EXCLUDED pending clearance confirmation. Guess-URL aliases /press/ /press-kit/ /epk/ /media/ → /presskit/. Homepage navbar gained PRESS KIT link (archive-first). VERIFIED AS THE JOURNALIST: page 200 + 12/12 assets · all aliases redirect · ZIP full 77.6MB pull + opens clean (55 files) · single still full-res 200. LOOP: presskit page + ZIP byte-range check added to the daily portal-sentinel (Telegram alert on failure). — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-11 21:56 CDT — ⚠️ CORRECTION to the 21:25 entry + the real fix. **"/presskit/ never existed" was FALSE.** The full EPK (presskit.html + Spanish presskit-es.html — festival premieres, press release, director statement, credits, lightbox Press Downloads; edited by Beach 3× in April) has been live the whole time at the EXTENSIONLESS URL /presskit (no slash). The journalist's /presskit/ WITH slash → S3 folder-index 404 — a one-character URL trap, and Beach's morning recon repeated it from the other side (only slash-variants checked) and then built a duplicate page into the gap. RESOLVED BY MERGE: original EPK = canonical at ALL forms (/presskit, /presskit.html, /presskit/ + same for presskit-es/, premiere/ — slash-trap class killed); Beach's photo-download build moved to /presskit/photos/ as the EPK's gallery annex; EPK's Press Downloads section gained the ⬇-ALL ZIP button (80MB/55) + gallery link (archive-first: _archive/presskit-pre-zip-20260611.html). Verified: 5 URLs 200 w/ correct titles incl. Spanish; ZIP button live on /presskit/. Sentinel watches EPK + photos annex + ZIP daily. LESSON (for the harvest): "page 404s" ≠ "page never existed" — check extensionless/no-slash variants AND grep the bucket + deploy-log before declaring absence; my own April fingerprints were on the file I declared nonexistent. — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-11 22:01 CDT — Press-kit photo breakage (Thaddeus caught it) FIXED + verifier blind spot CLOSED. Cause: the EPK uses doc-RELATIVE paths (images/...) written for the site root; my folder copies made /presskit/ resolve them to /presskit/images/* → 404 (confirmed). Fix: all refs root-absolutized (613 per page: images/fonts/page-links) in presskit + presskit-es + premiere, deployed to every URL form, invalidated. ROOT CAUSE OF THE MISS: verify-deploy.sh only checked absolute/root-relative assets — doc-relative URLs were silently SKIPPED ("assets: none referenced") — the exact dead-images class it exists to catch. Verifier rewritten: doc-relative assets now resolved against the page directory and fetched. FINAL SWEEP all five press URLs: 200 + 14/14 assets each (incl. Spanish + photos annex), EPK ZIP button live, ZIP serving. Lesson to harvest: a verifier that skips what it can't parse reports false PASS — unparseable/unmatched refs must be visible, never silent. — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-11 22:10 CDT — Press-kit round 3 (Thaddeus: hero background missing): the relative-path class had a THIRD costume — CSS url() refs (hero background revdaughter-frame-09.jpg AND the Tungsten-Bold brand font — typography was broken too, why the page felt stripped). Root-absolutized url() in presskit/presskit-es/premiere, all URL forms, invalidated. Verifier extended AGAIN: now parses CSS url() assets (attributes alone are not coverage). Verified: hero bg 200 (869KB), Tungsten 200, zero relative refs remain (grep=0), 49 unique image refs live on the page, full sweep PASS. — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-11 22:25 CDT — CASEY COMMS LANE: 29-hour silent outage found + fixed + recovered, and the press-kit reply draft is STAGED. Outage cause = Beach's 06-10 ~13:00 lock patch shipped via UNQUOTED heredoc → $LOCKDIR expanded empty → `mkdir ""` failed every run → silent exit 0 from 13:00 (06-10) to ~22:15 (06-11): no 17:00/05:30/12:30/17:00 cards, Thaddeus's 3 portal messages sat 33h. Fix: lock rebuilt with real vars + stale-lock recovery (>30m steal), placed after log(), syntax-checked, test-fired through launchd: **card comms-card-2026-06-11-2214 delivered** — Casey answered all 3 portal messages, staged the **DailyMail press-kit reply (Spark draft 149971)**, surfaced Hanks Zoom + COFL. LESSONS (harvest): (1) NEVER patch remote scripts via unquoted heredoc — vars expand locally; ship a file (scp) + run; (2) ALWAYS test-fire a scheduled job after patching it — I patched and walked away; (3) exit-0 failure is invisible to log-watchers → Allen's activation audit needs an OUTPUT-FRESHNESS check (expected artifacts per schedule: cards 3×/day, briefs daily — missing artifact = dead loop regardless of exit codes). Allen flagged via inbox. — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-11 23:32 — OVERNIGHT SURFACE-REFRESH pass 3 (pass 2 verifier flagged 2 FAILs): (1) MC card for Will patched from `s-active` "Active · Messages live" → `s-waiting` "Quiet >24h · Pilot due Fri" — Will's portal-status was 43.8h stale (he hasn't signed deploy-log since 06-10 03:42; Ep1-halves at 06-11 03:38 logged by Allen, not Will), so card was lying about his liveness. Archive-first to `s3://t3-lux.com/_archive/mission-control/index-pre-pass3-2026-06-11-2330.html`; CF inval `IDB0UBOZVU1U1EYCILOJI8F68O`. (2) Fresh REPORT.md written (pass 2's renamed to REPORT-pass2-jun10-2322.md) — enumerates all 32 cards w/ verdict+evidence for tonight's audit. sync-mc + portal-status-publish ran clean; verify-deploy PASS on MC + battle-plan + writers-room; battle-plan.md served w/ today's stamp. All active-LABEL agents (Allen/Beach/Casey) now <24h. Report: ~/t3/briefs/overnight/SURFACE-REFRESH/REPORT.md — Allen (Nexus, overnight doer)
- 2026-06-11 23:37 — FLEET-HQ regenerated for Friday 2026-06-12 morning read; archive at vault/_archive/FLEET-HQ-pre-regen-2026-06-11-2335.md; live at https://t3-lux.com/mission-control/content/fleet-hq.md (HTTP 200, byte-identical to vault). Voice rules honored: TODAY at top (COFL 11:30 + MM pilot delivery + Hanks Zoom heads-up + DailyMail draft 149971 + AWS past-due + RAI/Stefano + iMessage rail-down); zero machinery terms in body; THE MACHINE = one plain-English paragraph; nothing >7d old above per-project sections. — Allen (Nexus, overnight doer)
- 2026-06-12 01:42 CDT — Press-kit DEDUPE (Thaddeus spotted sub-2024-01-30-02/03 identical). Byte-scan (S3 ETags, all 364 images): 3 exact-dupe pairs. PERCEPTUAL scan (dhash, all images — his pair was NOT byte-identical, same photo saved twice): 21 near-identical groups, 7 INSIDE the press ZIP (still 16=17, 28=29, 03=40, 04=05, 06=39, 09=42, 07=41) + 2 more on the EPK gallery (his sub-2024 pair, sub-2023-11-27 21=23). Fixed: 9 redundant gallery blocks removed from EPK EN+ES (kept larger/better of each pair); ZIP rebuilt 55→48 files; photos annex regenerated to match; button labels true-sized. Verified live: ZIP pull = 48 files / 0 dupes; dropped names = 0 refs on EPK + annex; kept twins present. (zsh footnote: unquoted scalar doesn't word-split — the first rm pass no-op'd; caught by count verify.) S3 originals untouched (page-asset web-res twins of press stills are intentional, not dupes). — CAPCOM Beach (Nexus, Fable 5)
- 2026-06-12 01:46 CDT — Press kit v2 per Thaddeus: (1) SPLIT DOWNLOADS — three zips live + verified by full pulls: ALL (48/67MB) · production-stills (37/53MB) · film-frames (11/13MB); 3-button block on EPK EN + ES (ES never had the round-1 button — inserted, localized); annex gained per-section ⬇-all buttons; stale "81MB·55" label killed everywhere. (2) ARCHIVAL ROUTING — hero-protest.jpg ("NY Protest — Archival"; bible: Getty/AP = no redistribution) had a live `download` link on both EPK pages → now routes to Getty for licensing (0 download refs remain, 2 Getty hrefs verified). (3) LICENSING NOTE — Thaddeus confirms alina-interview.jpg = OWN material (in kit via its twin still-16). (4) Sentinel extended to byte-check all 3 zips daily. (5) Casey tasked + kicked: revise DailyMail draft 149971 to include the direct zip links (kit page + ALL + per-category). — CAPCOM Beach (Nexus, Fable 5)
