Monorepo Reorg (rylobasic)
One-line description. The 5 split repos (platform, CCPJ, content, capri, systems) are now one monorepo at
~/rylobasic/, organized by deliverable instead of by tech layer.
Why
The work used to live in 5 repos split by tech layer. Infra in one. Source in another. Content, brand, and personal tooling each in their own. That split solved the wrong problem. It broke every real system into pieces and scattered them across repos with no single owner.
The setter program was the clearest example. Its code, schema, skills, and runtime sat in 5 different places. One system. Five homes. No owner. The fix is one monorepo organized by the thing you actually ship. Each system owns one folder with all its parts: code, schema, skills, runtime, docs, and project history. Context travels with the work.
Current state
The migration itself is done. ~/rylobasic/ is the only live repo. All 5 source repos are GitLab-archived and held locally read-only at ~/_archived-*-2026-05-15 for a 30-day cold-storage window. The 24h prod watch closed 2026-05-16 after two waves of leftover path landmines were found and fixed.
The active work is the post-cutover hardening campaign. The 2026-05-17 Drift-Reconciled audit verified every claim-bearing doc against the live repo/GCP and the GitLab monorepo-hardening issues drive the rest. Shipped: the full doc-drift batch (every DRIFT-REPORT row merged, ONBOARDING de-CCPJ rewrite, GitLab #7 closed), the view-apply bridge + A5 baseline + v_function_health dead-man's-switch (built and live), and the GitLab #6 canary (the named silent-no-ship handler fixed, deployed, proven live). The reliability half remains: close #2/#3 on an observed natural run, then #1/#4/#5.
- Status: in-flight (hardening campaign; migration complete)
- Last update: 2026-05-20
- Working plan: the hardening campaign was consolidated 2026-05-20 into Trustworthy Monorepo (umbrella plan). This hub stays for portfolio-level context; the day-to-day worklist lives in the umbrella.
- Closed today (2026-05-20): GitLab #1 (self-test CI gates via MR !160), #4 (eliminated by monorepo consolidation). Plus MRs !157/!158/!159/!161 ship cron de-stagger, B4 trigger widening, dead-
action_completionsremoval + canary-pattern extension to coaching/dashboard. - Blocked on: #2/#3 close is gated on a clean natural
pos-monitoring-function-healthrun. Two recent open orphans (coaching_dashboard5/19 12:00Z;mentor_block_sync5/20 17:30Z) still in window. Earliest realistic clean run: 2026-05-22 12:00Z or 5/23 12:00Z depending on whether mentor_block_sync recurs.
Next 3 actions
(See umbrella plan for the full done-when table.)
- Wrap up Fix 4 (SIGTERM-aware wrapper) —
infra/shared-libs/lib/execution_logger.pyenhancement + hermetic test. Independent of observation gate; can ship in parallel. - Observation gate closure for hardening #2 + #3 on the first natural
{failed:0}run. - Start hardening #6 fleet sweep (51 silent-no-ship overlay files remaining after today's coaching/dashboard addition).
Decisions log
- Portfolio organization framework — every project ties to the 4/26 framework.
- 8 migration decisions locked 2026-05-13 (monorepo at
~/rylobasic/,git subtreeper repo for history, invert all 7 CR services into thin wrappers, 7 separate TF state prefixes, MCPs colocate with their data-platform, handlers own env reads per ADR-0002, Dataform consolidates BQ DDL per ADR-0003). Full text in the plan and the memory file.
Open issues
The migration + post-cutover prod watch are closed:
- Wave-1 residual landmines — MR !66 (ntreis, memo-scanner, 28 stale CLAUDE.md banners, de-vacuumed the CI path gate)
- Wave-2 runtime-assembled landmines — MR !67 (auto-runner restored, watchdog phantom-dir bug, gate hardened to catch
Path.home()/"CCPJ"style assembly) - Passive: 30-day cold-storage hold on
~/_archived-*-2026-05-15(no action — just elapse)
Hardening punch list: glab issue list --label monorepo-hardening (work-items API: glab api 'projects/82206074/issues?state=opened&labels=monorepo-hardening')
- #7 — master-data CLAUDE.md drift — closed via !89
- #2 — Define "migration done" as observed behavior — switch built+live; close on the 2026-05-20 natural run
- #3 — Dead-man's-switch on critical jobs — built+live (
v_function_health+function_healthhandler +pos-monitoring-function-healthjob); closes with #2 - #6 — Fleet silent-no-ship overlays — canary PROVEN (pos-dashboards
agent_hub_refresh); 53-gap fleet + CI guard HELD by decision - #1 — Self-test every CI safety gate (canary or it fails itself) — closed 2026-05-20 via MR !160 (5 gates instrumented; canaries visible on pipeline #313; bonus real-catch proof from pipeline #308)
- #4 — bq-bulletproof Dataform mirror-sync: automate or alarm — closed 2026-05-20 won't-fix-because-eliminated (the manual-sync problem was killed by the 2026-05-15 monorepo consolidation, not by automation; canonical Dataform source IS the GitLab repo
gitlab.com/rylobasic/bq-bulletproof-dataform— no monorepo subtree exists, nothing to sync). bq-bulletproof Phase 2 also closed in the same campaign (MRs !148/!150/!151). - #5 — Converge bridge-applied SQL views into Dataform — pending
- #8 — CI runner stale auth-token: permanent rotation/automation — mitigated operationally, permanent fix owed
- #9 — werkzeug==3.0.4 CVE bump across 6 pos-* services — filed, not yet scheduled
- #10 — Migration-completeness: build targets editable only in frozen
_source/. Sweep done + reconciled. handbook/setter-workbook-site resolved by !108; the 3 user-priority orphans now MIGRATED: apex rycolston.com →domains/rycolston-com/(!110), customer-journey →domains/customer-journey-rycolston-com/(!111), setter-workbook-system →domains/handbook-rycolston-com/docs/setter-workbook-system/(!112). All merged, sites verified live (200), registry updated. Residual: lower-stakes Cat-B_source/content/authoring deliverables (Breakthrough-Session, Listing-Launch-Playbook, templates/, scripts/, projects/{Case-Study-Templates,publishing-calendar,shorts,workshops}) — FROZEN-ONLY, no deadline (permanent_source/), same plain-copy pattern when prioritized. Category C 7 systems all COMPLETE.
References
- Reorg plan: Monorepo reorg plan
- Hardening audit: 2026-05-17 drift-reconciled system map + deliverables in
Roadmap/plans/2026-05-17-audit/(DRIFT-REPORT, SYSTEM-MAP, ledgers L1–L6, issue6-map) - Post-mortem:
~/rylobasic/docs/post-mortems/2026-05-16-monorepo-cutover-residual-landmines.md(blameless; names the single systemic cause; drives #1/#2/#3) - Memory:
~/.claude/projects/-Users-rycolston/memory/project_monorepo_rylobasic.md(authoritative post-cutover record + "Post-cutover prod watch" evidence) - Code home:
~/rylobasic/— gitlab.com/rylobasic/rylobasic - Repo orientation:
~/rylobasic/CLAUDE.mdand~/rylobasic/README.md - Engineering standards:
~/rylobasic/docs/ENGINEERING-STANDARDS.md