title: UCCA — RTOpacks Legacy Cleanup Recon — what's left, tiered by risk doc_id: UCCA-RTOPACKS-CLEANUP-RECON-01 type: recon — read-only inventory of RTOpacks legacy content on the UCCA side, tiered for a cleanup brief. Decides nothing; recommends handling per tier. layer: ground (true-today; verify paths/sizes live before acting) canonical: false authored: 2026-07-03 (UCCA session; RTOpacks-cleared the sweep — 4 months post-untangle) relates_to: ADR-0002 (worlds/ severance = the proof event) · ADR-0003 (account boundary) · UCCA-INPUT-PATH-BUILD-BRIEF-01 §Step-5 · MIGRATE-02 (2026-04-08 DB migration) discipline: read-only recon. Tier 1 already executed (safe dead weight). Tiers 2–4 are handling recommendations for a brief — nothing in them is done. Full Cycle: every item notes its ripple.
UCCA — RTOpacks Legacy Cleanup Recon¶
Context. RTOpacks has cleared UCCA to sweep RTOpacks legacy content from the UCCA side (4 months post-untangle; the radar-recovery exchange is closed). This recon inventories what's left and tiers it by risk so the cleanup brief keeps the trivial deletes separate from the dangerous edges — the generator, the client's live DNS, and live worker redeploys.
Tier 1 — safe dead weight — ✅ DONE (2026-07-03)¶
Executed this session; zero ripple, nothing referenced them:
- .migration-exports/ (21 GB, 79 files) — finished MIGRATE-02 export chunks (abs/nrt/scope/radar/
workspace-db SQL). Deleted.
- .wrangler/state/…/radar-screenshots (46 MB) — local wrangler dev R2 stub (470 April-2 captures;
RTOpacks confirmed recovered their side). Deleted (blobs + the 73a0b63… metadata sqlite).
Tier 2 — DO NOT blind-sweep — load-bearing + sequenced¶
engine/ucca-engine/worlds/(~115 M:worlds/rtopacks+worlds/usa_for_later), plustga_data/,tga_pdfs/.- Why not a cleanup: this is ADR-0002's neutrality violation and its proof event, and the
live generator imports from it —
generator/generate_complete_course.py:46: from worlds.rtopacks.config.cultural_flavours import get_cultural_flavour. A naivermbreaks generation. - Handling: stays on its rails — UCCA-INPUT-PATH-BUILD-BRIEF-01 Step 5 (re-source the
contextualisation mechanism into the engine → content goes payload-side → then sever
worlds/as its own reviewed diff). The cleanup brief should exclude this and defer to the build brief.
Tier 3 — a DECISION, not a sweep — client's live infra¶
Correction (2026-07-03, yellow-tape — Item 0 of the cleanup brief). This section read UCCA's Terraform
rtopacks.com.audeclarations as the client's live site. They are fossils. Live state confirms it:rtopacks.com.auis absent from the UCCA account's zones (onlyucca.*present), and Tim ruled (confirmed with RTOpacks) that RTOpacks self-manages its own domain. So Tier 3 downgrades from "could drop a live site" to Terraform state hygiene — the.tfrecords declare a zone UCCA no longer runs. Handled by the follow-on TERRAFORM-RECONCILE brief (state list →state rm, neverdestroy→ remove.tf), which waits for the proof-job deploy. Nothing ininfra/ucca-infra/was touched. (Terraform state itself was not reachable this session — the follow-on must list it with backend creds.)
infra/ucca-infra/dns_rtopacks.tf+ RTOpacks refs inzones.tf,storage.tf,security.tf,dns_security.tf,imports.tf,outputs.tf,variables.tf.- Why not a cleanup: these declare the live
rtopacks.com.auzone/DNS/storage in UCCA's Terraform.terraform destroyon them could take down the client's live site. - Handling: a Tim decision — does UCCA keep operating
rtopacks.com.auDNS/infra (platform service), or hand it to the RTOpacks side? Ripple: whichever way, the Terraform state + the Infrastructure-State snapshot must be updated (Full Cycle). Not deletable without that ruling.
Tier 4 — config cleanups — per-item judgment + live redeploys¶
- Stale DB bindings (bind DBs that migrated to the RTOpacks account on 2026-04-08 → likely broken):
surfaces/ucca-surfaces/apps/ops-v2/wrangler.jsonc—rtopacks-dbsurfaces/ucca-surfaces/workers/{stats-cache, qual-enrichment, backup, cricos-sync}—rtopacks-db/rto-nrt-db/abs-db- Ripple: removing a binding = edit wrangler + redeploy the live worker. Audit each: is the worker still doing UCCA work (repoint/remove binding) or is it dead post-untangle (retire)?
- Proxy workers:
surfaces/ucca-surfaces/workers/{rtopacks-proxy, rtopacks-docs-proxy}— confirm live/used (doc-access relays?) before retiring. - ops-v2 RTOpacks world code:
apps/ops-v2/lib/worlds/rtopacks,app/api/worlds/rtopacks,app/w/catalog/**/rtopacks*— may be by design (L2 ops manages worlds, four-layer plane). A keep-or-cut call, not an obvious delete. - Docs (170
.mdreferencing rtopacks): not cleanup — this is the stagedCANON-CULL-SPEC-2026-07-01banner-sweep's domain (correct framing/naming, don't delete cross-references).
For the brief (what it should cover)¶
Scope the execution brief to Tier 4 (config audit → repoint/retire → redeploy), with Tier 3 as
a decision to be taken first, and explicitly out of scope: Tier 2 (owned by the build brief) and
Tier 1 (done). Every Tier-4 item: verify current state → decide keep/repoint/retire → apply →
redeploy → update Infrastructure-State snapshot + any doc. No blanket rm; the dangerous edges are
fenced off above.