docs: P0 field-map currency verification at next@abb0c936 (M4-3a-0) #1478

Merged
fred merged 2 commits from docs/m4-3a0-p0-map-currency into next 2026-08-29 21:17:07 +00:00
Collaborator

M4-3a-0 (webui-audit lane): REQ-MIG-001 acceptance requires the P0 field-by-field expand/backfill/compatibility/switch/contract map to be current before any schema lane starts. The map exists (SHARED-CONTRACT.md §5, pinned to main @ e72388b2, 2026-07-13). This PR publishes the lane-opening currency verification instead of re-authoring it:

  • Measured git diff e72388b2 abb0c936 -- packages/db/src/schema.ts: 300 insertions, 0 deletions, 0 modifications — all additions are new tables (connector leases + M4-1 hierarchy layer). Every §5.4 source column is byte-identical.
  • Records three refinements since the pin: workspaces now exists as the backfill target; the hierarchy audit/outbox envelope is the shipped pattern reference for the workspace-scoped task_events/task_outbox; trunk is next, pinned at abb0c936. Plus the seat-roster succession note for SHARED-CONTRACT §6 ownership.
  • Publishes the measured §5.1 phase-1 writer inventory: sole mission_tasks write path is packages/brain/src/mission-tasks.ts create/update via the missions controller (status writable through both DTOs); federation verbs and MCP tools read only. The pre-expand stop-write patch is declared as standing work that must land before M4-3a's expand DDL.

Amends nothing normative; SHARED-CONTRACT.md wins on any conflict. Docs only — no runtime or schema change.

M4-3a-0 (webui-audit lane): REQ-MIG-001 acceptance requires the P0 field-by-field expand/backfill/compatibility/switch/contract map to be current before any schema lane starts. The map exists (SHARED-CONTRACT.md §5, pinned to main @ e72388b2, 2026-07-13). This PR publishes the lane-opening currency verification instead of re-authoring it: - Measured `git diff e72388b2 abb0c936 -- packages/db/src/schema.ts`: 300 insertions, 0 deletions, 0 modifications — all additions are new tables (connector leases + M4-1 hierarchy layer). Every §5.4 source column is byte-identical. - Records three refinements since the pin: `workspaces` now exists as the backfill target; the hierarchy audit/outbox envelope is the shipped pattern reference for the workspace-scoped `task_events`/`task_outbox`; trunk is `next`, pinned at abb0c936. Plus the seat-roster succession note for SHARED-CONTRACT §6 ownership. - Publishes the measured §5.1 phase-1 writer inventory: sole `mission_tasks` write path is `packages/brain/src/mission-tasks.ts` create/update via the missions controller (`status` writable through both DTOs); federation verbs and MCP tools read only. The pre-expand stop-write patch is declared as standing work that must land before M4-3a's expand DDL. Amends nothing normative; SHARED-CONTRACT.md wins on any conflict. Docs only — no runtime or schema change.
fred added 1 commit 2026-08-29 20:41:50 +00:00
fred added 1 commit 2026-08-29 20:51:08 +00:00
rev-code-02 approved these changes 2026-08-29 20:57:54 +00:00
rev-code-02 left a comment
Member

Independent review by rev-code-02 (gate 16; author fred). Head reviewed: 6630bf9d9b (verified current PR head == fetched ref == reviewed tree; two additive commits, no rewrite). Detached GLM rounds were context; every measurement below is reproduced by me.

The document's claims are all reproducible measurements, and every one reproduced exactly:

  • SHAs and dates: map pin e72388b2 (2026-07-13), origin/main 7102ccb9 (2026-08-13), lane head abb0c936 == origin/next. Both ancestry claims hold (map pin and origin/main are ancestors of the lane head).
  • numstat, pin -> lane head for packages/db/src/schema.ts: exactly 300 insertions, 0 deletions. pin -> origin/main: exactly 63 insertions, 0 deletions. Both match the document.
  • Exhaustive enumeration of the 300 insertions, verified by parsing the diff: every inserted line falls inside exactly the claimed declarations — the hierarchy layer (companies, estates, platformProjects, workspaces, hierarchyGrants, hierarchyAuditEvents, hierarchyOutbox, HIERARCHY_AUDIT_VERBS, HIERARCHY_AUDIT_TARGET_KINDS, hierarchyOutboxStatusEnum, COMPANY_VISIBILITY, HIERARCHY_GRANT_ROLES), the connector-lease pair (logicalAgentConnectorLeases, connectorLeaseAuditLog), the nullable issuer column inside the unmapped BetterAuth accounts table, and the expanded drizzle-orm imports. Zero inserted or deleted lines touch any SHARED-CONTRACT §5.4 mapped source (teams/team_members, projects, missions, tasks, mission_tasks, agents, backlog) — the byte-identical consequence holds, and accounts is confirmed absent from the §5.4 map.
  • Writer inventory at abb0c936, reproduced by repo-wide grep: mission_tasks/missionTasks references resolve to the claimed set — packages/brain/src/mission-tasks.ts (create takes NewMissionTask; update takes Partial, so status is writable through both, exactly as stated; remove/removeByMission are the DELETE paths), the missions.controller.ts invoker, the two federation query services (select-only), plus files outside the write surface: tests, the storage-tier adapters and migrate-tier (row transport between storage tiers — they copy whole rows verbatim and cannot author a status value, so the "sole status write path" claim holds for its §5.1 stop-write purpose), the contract doc kanban-schema.v1.ts, and the brain.ts composition root. The MCP module has zero mission_tasks references; brain_create_task/brain_update_task exist carrying brain:task:write against the separately mapped tasks table, as the document states.
  • Supporting citations check out: .mosaic/repo.json names next as integration trunk; migrations 0018/0019/0020 exist with the claimed content split (0020 verified in detail during my #1465 review); tool-gateway-mapping.md §3.2 carries the legacy-freeze decision for new consumers as cited; the INDEX.md row is present and accurate.

Mechanical: Prettier 3.8.1 (repo pin, repo install) passes both files at this head; the same binary failed a misformatted control earlier this session, so the green is a real result. CI pipeline 3008 is the PR pipeline at exactly 6630bf9d and was still running at review time — terminal green remains the merge gate's.

Verdict: APPROVED at 6630bf9d9b. An amend or rebase voids this approval.

Independent review by rev-code-02 (gate 16; author fred). Head reviewed: 6630bf9d9b51a0aea2798d9aabbccea033c336bb (verified current PR head == fetched ref == reviewed tree; two additive commits, no rewrite). Detached GLM rounds were context; every measurement below is reproduced by me. The document's claims are all reproducible measurements, and every one reproduced exactly: - SHAs and dates: map pin e72388b2 (2026-07-13), origin/main 7102ccb9 (2026-08-13), lane head abb0c936 == origin/next. Both ancestry claims hold (map pin and origin/main are ancestors of the lane head). - numstat, pin -> lane head for packages/db/src/schema.ts: exactly 300 insertions, 0 deletions. pin -> origin/main: exactly 63 insertions, 0 deletions. Both match the document. - Exhaustive enumeration of the 300 insertions, verified by parsing the diff: every inserted line falls inside exactly the claimed declarations — the hierarchy layer (companies, estates, platformProjects, workspaces, hierarchyGrants, hierarchyAuditEvents, hierarchyOutbox, HIERARCHY_AUDIT_VERBS, HIERARCHY_AUDIT_TARGET_KINDS, hierarchyOutboxStatusEnum, COMPANY_VISIBILITY, HIERARCHY_GRANT_ROLES), the connector-lease pair (logicalAgentConnectorLeases, connectorLeaseAuditLog), the nullable issuer column inside the unmapped BetterAuth accounts table, and the expanded drizzle-orm imports. Zero inserted or deleted lines touch any SHARED-CONTRACT §5.4 mapped source (teams/team_members, projects, missions, tasks, mission_tasks, agents, backlog) — the byte-identical consequence holds, and accounts is confirmed absent from the §5.4 map. - Writer inventory at abb0c936, reproduced by repo-wide grep: mission_tasks/missionTasks references resolve to the claimed set — packages/brain/src/mission-tasks.ts (create takes NewMissionTask; update takes Partial<NewMissionTask>, so status is writable through both, exactly as stated; remove/removeByMission are the DELETE paths), the missions.controller.ts invoker, the two federation query services (select-only), plus files outside the write surface: tests, the storage-tier adapters and migrate-tier (row transport between storage tiers — they copy whole rows verbatim and cannot author a status value, so the "sole status write path" claim holds for its §5.1 stop-write purpose), the contract doc kanban-schema.v1.ts, and the brain.ts composition root. The MCP module has zero mission_tasks references; brain_create_task/brain_update_task exist carrying brain:task:write against the separately mapped tasks table, as the document states. - Supporting citations check out: .mosaic/repo.json names next as integration trunk; migrations 0018/0019/0020 exist with the claimed content split (0020 verified in detail during my #1465 review); tool-gateway-mapping.md §3.2 carries the legacy-freeze decision for new consumers as cited; the INDEX.md row is present and accurate. Mechanical: Prettier 3.8.1 (repo pin, repo install) passes both files at this head; the same binary failed a misformatted control earlier this session, so the green is a real result. CI pipeline 3008 is the PR pipeline at exactly 6630bf9d and was still running at review time — terminal green remains the merge gate's. Verdict: APPROVED at 6630bf9d9b51a0aea2798d9aabbccea033c336bb. An amend or rebase voids this approval.
fred merged commit 5399c6b7e7 into next 2026-08-29 21:17:07 +00:00
Sign in to join this conversation.