Skynet — Project preparation pack (index · working agreements · RACI · access · risks)

For: Agon, Vince, Sead, and the stakeholders named in §3

0. Index — the standard preparation set and where each piece lives

#ArtifactWhereState
1Vision / PRD (business "done")skynet-unified-app-functional-design.md + PDFDone; approved by Mathew (§7 item 1, recorded 2026-08-25); Reddit VOC + PubMed evidence addenda §3.1; Bian (item 2) + D1–D4 still open
2Functional spec (27 user stories)same, §3–§4Done
3Architecture + ADRsskynet-technical-plan.md v5 + v5.1 addendum; ADRs in repo docs/decisions/Plan done; ADR-001…009 written when their cards run
4Interface contractsskynet-day0-lock-2026-08-24.md §4 repo packages/contracts (the gate)Schema level done; repo artifact = contract day
5Work breakdown task specsskynet-task-specs.md + skynet-techdesk/appendix-b-import.jsonDone — 48 cards, reviewed executable
6Test / acceptance planlock doc §6 (per seam) + acceptance command on every task specDone
7Deployment + ops runbooksskynet-implementation-prd.md §2–§6; runbooks = cards X4/X5/X7/A6Done / carded
8Risk registerthis doc §5Done
9RACI + cadencethis doc §3Done
10Working agreements + Definition of Donethis doc §2Done
11Access checklistthis doc §4Done — fill by the gate
12Stakeholder one-pagerscard M6 (the gate) + kickoff notesLater

1. The delivery in one paragraph

One app at app.rescale.media; Production native; the creative-code loop proven with one real ad; links to the standalone scraper and RescaleOS in S1; bridge track B allowed in those standalone repos while S1 runs; launch-board pilot in S4; ops floor. Three lanes, one person each. Gates are slice and wave gates only; no calendar dates are part of this plan.

2. Working agreements and Definition of Done (one page — this is the contract between the three of us)

Repo and branches

Ownership

Reviews

Definition of Done (a card moves to done only when all are true)

  1. Code merged to main, CI green.
  2. The acceptance check from the task spec was run and its output (log, screenshot, table, or file) is posted as a comment on the TechDesk task.
  3. Docs the spec names exist (README section, runbook, or ADR).
  4. Feature flags default to off in prod unless the spec says otherwise.
  5. No secret in the diff (scan gate green).
  6. If it changes a contract: the consumer tests in the other lanes pass.

Blocked

Scope discipline

3. RACI and cadence

People

PersonRole in Skynet
AgonDelivery owner, Lane A (platform, imports, proxy, scraper, runtime), release manager at go-live
VinceLane B (shell, production, bindings/spend guard, launch-board UI)
SeadLane C (core auth, contracts, creative code, read layer, readback, launch-board API, discovery)
MathewProduct sponsor (functional design, hooks/strategy layer, taxonomy)
BianOwner of RescaleOS's live loops; must agree the coexistence plan before A11
CyrusCreative lead; consulted on creative-code/naming and Production changes
SvenBuilt rescale-workos; consulted on S0a scrub and the workos bridge endpoints
Media buyer (named at G2)Pilot user of the launch board; walkthrough at the pilot gate
D3 sponsor (leadership)Signs G3 (pilot in prod)

RACI (R = does, A = accountable/decides, C = consulted before, I = informed after)

Decision / deliverableAgonVinceSeadMathewBianCyrusSvenLeadership
Functional design approval (§7 items 1, 5, 7, 9) — done, Mathew approvedRIIAICII
RescaleOS coexistence (§7 item 2, A11)RCAI
D1–D4 (funding, ownership, pilot sponsor, store hosting)RCCA
Technical plan, implementation PRD, day-0 lockA/RCCIICI
Contracts (packages/contracts)CCA/RC (creative code)C (naming)
Gate G2 (pilot design)CCA/RCCI
Gate G1 (scraper data access)A/RIC
Gate G3 (pilot in prod)CCRCA (D3 sponsor)
Go-liveA/RRRIIIII
Workos secret scrub (S0a)CA/RC
Comms + training (M6)A/RCCCIII

Cadence

WhenWhatWhoWhere
Daily 09:30 (5 min, written)Stand-up: yesterday / today / blocked, one line each, per card keyAgon, Vince, SeadTechDesk project comment (async; no meeting)
As scheduled by the current wavePairing blocks (integration, not co-coding) — see the delivery planas scheduledcall
At each gate reviewGate reviews (S1 wave gates; G2, G1, G3 in their slices) — 30 min, decision recorded as an ADR in the same wavegate owner + Agon (+ sponsor for G3)call
Before the relevant gate closesIntegration checklist on stagingall threestaging
At go-liveGo-live + demo + training sessionsAgon runs; all presentcall + app
Weekly (Fri)One-paragraph status to Mathew and leadership: gates, risks, what shipsAgonemail/Telegram
AnytimeBlocker TechDesk blocked + a direct message to the upstream owneranyoneTechDesk + Telegram

Communication rules: decisions live in ADRs and TechDesk comments, never only in chat. Stakeholders outside the three get the regular status paragraph and the go-live session; nothing else is expected of them until G3.

4. Access checklist (every line ticked before the gate — the classic day-1 blocker)

AccessAgonVinceSeadNotes
GitHub org Rescale-Media, write on skynet, read on the four source reposskynet created empty by Agon (A1a)
GHCR: read:packages PAT for docker login ghcr.io on the boxAlready used for meta-ads / rescaleos
server.rescale.media SSH (deploy user)☐ (read)☐ (read)Vince/Sead: read + docker logs only
Plesk panel (vhosts, TLS)Staging + prod vhosts
Portainer (viewer)Viewer only, per PRD
ecomprofits Postgres — skynet_readonly role + connection stringSead creates it (S5a), escrow in password manager
ecomprofits repo write (one-line grant PR)Sead owns ecomprofits
Cloudflare R2: buckets static-ads, meta-ads-media + keysFrom existing envs
OpenRouter org key (+ per-user keys for M1)Fernet key carried over
ClickUp: bot token (existing, scrubbed from repo) + a sandbox list for S8 tests☐ (read)Sven confirms scope
Railway project "Rescale Tools" (workos)For the bridge endpoints deploy
Discord + Telegram bot tokens (alerts)Existing bots
Transactional email provider (M3)Reuse ecomprofits' provider
TechDesk account + MCP tokenTokens after the TechDesk rollout gate; UI until then
Coding assistants on each machineClaude Code + Codex
Password manager vault "Skynet"Every secret lands here, never in chat
Scraper Supabase project (dump for A4 + staging copy)Service key
RescaleOS Claude subscription tokensNever in staging

5. Risk register (trigger · owner · fallback)

#RiskTrigger you can observeOwnerFallback / mitigation
1Creative-code sequence forks between workos and SkynetTwo codes with the same seq for one productSeadS3 calls rescale_service.next_naming_seq in the same transaction; cross-check test vs workos output; no second generator ever
2Read layer numbers do not match ecomprofits dashboardsS5a acceptance table differs on any of 3 known adsSeadFormulas fixed in contracts (three_second=video_plays, etc.); Looker/ecomprofits value is the reference, never adjusted in Looker
3Auth bridge breaks static-ads ?token= URLsAny image/SSE 401 after V1 on stagingVinceBridge per lock §4.1; X1 tests; week-3 cookie-only migration
4G1 spike fails or overruns the gateAny inventory row FAIL at the gate reviewAgonHard stop; scraper keeps Supabase; ADR-003 records; later-slice choice
5Pilot discovery shows the launch board is the wrong first boardG2 doc names another boardSeadS8b/V9 re-target or defer; the rest of the slice exit gate still ships
6ClickUp mirror drifts / clobbers human editsReconciliation report shows field diffsSeadPer-field compare-and-write; machine vs human field lists; workos reconcile cron
7Workos credential leaks into the monorepoScan gate hitSeadS0a scrubbed tree + custom patterns; old repo stays private
8Sidecar redeploy loses networks / Plesk GUI edit breaks mountsContainer off skynet-net; mount type bindAgonA2b aliases in compose; rule: compose is the only owner; synthetic checks
9Agon overloaded (infra critical path + side-quests)Any lane-A card slips a waveAgonBridge work stays in explicit B cards only; no hidden side-quests inside S1
10D1–D4 / Bian sign-off missing at the gateNo signature at the gateAgonG3 = staging-only automatically; A11 (coexistence) waits for Bian
11Production data migration (V3/S12) corrupts or loses rowsChecksum mismatch in S12Vince + SeadDump before, checksums, restore drill X4; old host read-only 2 weeks (M5)
12Spend guard misfires (pauses production)402s on staging during E2EVinceKill switch env; admin resume (V5); thresholds per workspace
13Scope creep from "keep 100% features"A card grows past size + ½ dayEveryoneSplit rule; Appendix A checklist is the parity bar, not new features
14Staging exercises live sidecars by mistakeStaging scraper writes to the live DBAgonIsolated staging sidecars (PRD §4); crons off; read-only role only
16Bridge work (track B for Mathew) displaces S1 capacity on Lane AAny lane-A S1 card slips a wave while I1/I2 runAgonAccepted explicitly; bridge tracked as separate B cards, never hidden inside S1; PubMed R-cards are Bian-side/Vince, not Lane A
15Shared box incident (other tools) takes Skynet downAny other container saturates disk/CPUAgonSeparate compose projects; rollback drill; disk guard in migrate step