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.
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 next2026-08-29 21:17:07 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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: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.workspacesnow exists as the backfill target; the hierarchy audit/outbox envelope is the shipped pattern reference for the workspace-scopedtask_events/task_outbox; trunk isnext, pinned atabb0c936. Plus the seat-roster succession note for SHARED-CONTRACT §6 ownership.mission_taskswrite path ispackages/brain/src/mission-tasks.tscreate/update via the missions controller (statuswritable 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.
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:
e72388b2(2026-07-13), origin/main7102ccb9(2026-08-13), lane headabb0c936== origin/next. Both ancestry claims hold (map pin and origin/main are ancestors of the lane head).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.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
6630bf9dand was still running at review time — terminal green remains the merge gate's.Verdict: APPROVED at
6630bf9d9b. An amend or rebase voids this approval.