Multica Session Records — UUID Migration¶
Condensed record of nine archived Multica task sessions (CTC-1 through CTC-9). The full session transcripts, chat logs and raw attachments were deleted after this summary was written; this page is the surviving record of what that work was.
The question this section answers: What did the parallel Multica agent sessions actually do, and what is left open? · 1 document
Scope Of The Archived Sessions¶
| Session | Subject |
|---|---|
| CTC-1 | Prepare the current Hub source for operational use — full check and remediation |
| CTC-2 | Investigate the CTC workspace state, Git state and authority routing |
| CTC-4 | Parent tracking issue for per-table UUID test and review closure |
| CTC-5 | UUID test lane A |
| CTC-6 | UUID test lane B |
| CTC-7 | UUID test lane C |
| CTC-8 | UUID test lane D |
| CTC-9 | NS1-009 T009 — current UUID relation and behaviour verification |
All of these belong to one body of work: the NS1-009 row and relation UUID migration.
What The Work Was¶
Row UUID constraints. General tables already carried a row UUID column. What was missing was
mostly NOT NULL and single-column UNIQUE. The user directed that schema completion be prioritised
over logic changes, so nullable-then-unique was not accepted as the end state.
- Applied across Hub 61 and Production 63 tables.
- Existing UUID values and numeric compatibility keys were preserved, not rewritten.
- Rows whose real parent does not exist — 20,402 Delivery rows — were kept
NULLrather than being given an invented parent.
Relation UUID columns. A first pass judged completion by row UUIDs alone and was withdrawn. Every
*_ID candidate in the live databases was then reclassified by what the column actually relates to.
- Confirmed
TENANT_IDgaps: Hub 80, Production 81, plus one Hub Control TowerDEPLOYMENT_UUID. - Columns that merely end in
_IDbut hold external identifiers or code values were excluded. - File metadata columns and indexes were applied additively in the same scope.
- Existing relation values were not changed.
Per-table verification. Roughly 106 tables were tracked through test and review, split into four parallel worker lanes so no two lanes owned the same table.
| Lane | Tables |
|---|---|
| A | T001, T005, T009 … T105 (stride 4) |
| B | T002, T006, T010 … T106 (stride 4) |
| C | T003, T007, T011 … T103 (stride 4) |
| D | T004, T008, T012 … T104 (stride 4) |
Lane discipline was explicit: one worker run and one reviewer run per lane, results appended to the existing comment rather than opening a new run or a new issue per table, and work stopped once every remaining item had a concrete blocker.
One worked example. NS1-009 T009 covered AR billing global accessorial rates, spanning the Legacy
owner app/systems/BMS/ar-billing/global_accessorial_rate_helper.php and the New-System store
new-system/packages/db-mysql/src/billing/global-accessorial-rates-store.ts. It was reassigned twice
because of a staged-file conflict and three concurrent lanes, then parked in backlog until a lane slot
freed.
Decisions Of Record¶
| Date | Decision |
|---|---|
| 2026-09-28 | Schema completion takes priority over logic; row UUID NOT NULL and UNIQUE are required, not optional follow-up |
| 2026-09-28 | Preserve existing UUID values and numeric compatibility keys |
| 2026-09-28 | Exclude the 16 _bak_ns1009A_* Hub snapshot tables — they are retained backups, not application tables |
| 2026-09-28 | Treat row UUID and relation UUID as separate units of work with separate verification |
| 2026-09-28 | Classify every *_ID by relation meaning; a numeric identifier is not a parent reference |
| 2026-09-28 | Hub becomes the source-of-truth for operational preparation, replacing the local source |
| 2026-09-29 | Remove NS_*-only table dependencies from the Legacy runtime |
What Was Not Completed¶
Preparation for operational use is not deployment. None of the following was achieved, and none of it should be inferred from the sessions above.
- No Production New-System build, install, restart or reload was performed.
- No Git promotion or release was executed.
- Foundation delivery scale checks failed because the shared working tree exceeded the limit.
- Port 3000 was still serving a previous release, and the local database had no isolated verification schema, so browser and write acceptance against current source was never run.
- Backfill of new relation columns on existing rows, and writer/reader, test and deployment compatibility for those columns, were left for separate verification.
- The NS1-016 migration's removal of the file-object tables was explicitly out of scope.
Source Of Record¶
Task execution records and worksheets live in the repository under new-system/docs/tasks/, not here.
This page records what the archived sessions did and what they left open; it does not replace the
repository Task record.
Related¶
- Architecture — the identity and UUID standards these changes were made under
- UUID Identity Transition Standard