docs(tess): sync M4 tracking to merged reality (M4 in-progress / gate-pending) #741

Merged
jason.woltje merged 62 commits from docs/tess-ledger-sync-m1 into main 2026-07-13 15:00:16 +00:00
Showing only changes of commit 5fb738506e - Show all commits

View File

@@ -33,7 +33,7 @@
| TESS-M3-V | pass | Discord+CLI same-session E2E, denial/approval tests, and operator-flow review | #709 | mos-sonnet | apps/gateway/src/__tests__/integration, plugins/discord, packages/mosaic/src | review/tess-m3 | TESS-M3-001,TESS-M3-002,TESS-M3-003 | 20K | Gate M4. FIRST RUN = FAIL (Mos-owned independent Sonnet checkpoint against merged main 84d884b9, 2026-07-13): integration UNWIRED — Discord/CLI not cross-surface functional against durable sessions; attach/denial/audit parity incomplete. Remediation = TESS-M3-003 (coder0). SECOND RUN = **PASS** (Mos-owned combined re-review+re-gate at head 451f7e04, [W-jarvis:reviewer-sonnet] Gitea comment 17009, 2026-07-13): C1 cross-surface durable session, C2 functional attach, C4 denial/audit parity all closed; hard constraint (command-authz byte-identical, 7-field digest untouched) intact; C3/C5 no regression. Mos MERGED #732 → main 0b621660 and declared M3 milestone COMPLETE, advancing to M4. ⚠️ CAVEAT (orchestrator-verified live defect, NON-GATING per Mos): the M3-V integration test does not exercise DiscordPlugin.handleDiscordMessage, so the production Discord approve-path routing defect survived the gate — logged as TESS-M3-FUP-005 (fast-follow, surfaced to Mos). M4 (#710) UNBLOCKED (dep TESS-M3-V met). |
| TESS-M3-FUP-005 | done | Discord approve/stop production routing predicate mismatch — approve path unreachable | #709 | coder0 | plugins/discord, apps/gateway | feat/tess-m3-integration (rebased onto 0b621660) | TESS-M3-003 | 8K | **MERGED by Mos** → main squash commit **f1c6b37b** ("fix(tess): route bare Discord approvals (#733)"), 2026-07-13; post-merge main CI pipeline 1750 = SUCCESS. Verified-live Discord approve-path defect CLOSED — merged cross-surface mint path now functional end-to-end. HISTORY: **PR #733 OPEN** (base=main), head ed1d985c90e24ca3046bd570a556802927d80ed8 (rebased onto merged main 0b621660 to clear a Gitea conflict, force-with-lease; supersedes pre-rebase a02f526d whose pipeline 1747 was killed). pr-diff confirms clean 2-file scope: plugins/discord/src/index.ts + tess-cross-surface.integration.test.ts. coder0: bare /approve now routes to discord:approve; E2E invokes the REAL DiscordPlugin.handleDiscordMessage proving approve→stop against the durable conversation handle; forced typecheck/lint/format + targeted 17/17 green; command-authz zero-diff from main. CI pipeline 1748 (pull_request, refs/pull/733/head, commit ed1d985c) = **SUCCESS**. Independent non-author ROR **COMPLETE**: reviewer [W-jarvis:reviewer] VERIFIED APPROVE at exact head ed1d985c (Gitea comment 17017) — command-authz byte-identical hash a9f829e7 + 7-field digest intact, bare /approve REAL DiscordPlugin route fixed, gateway uses durable getSnapshot(conversationId), anti-masking divergent test inputs present, no Tess literal, no live creds. Head UNMOVED (ed1d985c), base main, mergeable=true. **MERGEABLE — HARD STOP for Mos merge** (2026-07-13). On merge → FUP-005 done; makes the merged Discord approve surface functional end-to-end. | ⚠️ VERIFIED-LIVE DEFECT on merged main 0b621660 (orchestrator read-only git show/grep, 2026-07-13). Gateway apps/gateway/src/chat/chat.gateway.ts:670 accepts approval ONLY as bare '/approve' (regex /^\\/approve\\s*$/i). Plugin plugins/discord/src/index.ts trims content (:339-341) then routes to discord:approve ONLY when content.startsWith('/approve ') (:385, requires a space+arg). NET: trimmed bare '/approve' fails the plugin predicate → emitted as normal message → gateway approval handler never fires (DEAD); '/approve x' passes the plugin but the gateway regex rejects it. So the production Discord approve path (AC-TESS-01 cross-surface mint) is UNREACHABLE end-to-end. M3-V PASSED because its integration test drives the gateway handler directly and bypasses DiscordPlugin.handleDiscordMessage, so the plugin predicate was never exercised (my reviewer 17007 caught it; Mos re-review 17009 validated the handler+test, not the plugin predicate). '/stop' likely same class (plugin needs startsWith('/stop ') args; confirm against gateway stop grammar). FIX: reconcile plugin routing predicate ↔ gateway accept-grammar (route bare '/approve' and snapshot-resolved '/stop <ref>') + add an E2E test through the REAL DiscordPlugin.handleDiscordMessage (no bypass) proving mint fires. coder0 HAS this fix uncommitted in its worktree (from the round-1 remediation, pre-empted by the merge) — needs a fresh branch off main 0b621660 as a follow-up PR. AWAITING Mos disposition (fast-follow now vs after M4). Standard gates: PR-open-STOP, independent non-author ROR at exact head, Mos merges. |
| TESS-M4-001 | not-started | Implement Mos coordination handoff/observe/result contract with authority-boundary tests | #710 | coder0 | packages/coord, apps/gateway | feat/tess-mos-coordination | TESS-M3-V | 25K | TESS-MOS-001. Mos-DISPATCHED 2026-07-13 to coder0 DESIGN-FIRST (contract sketch + questions to Mos before build). Goes in-progress as PR opens; PR-open-STOP → orchestrator serializes CI + routes independent non-author ROR at exact head → Mos merges. ⚠️ LANE NOTE: coder0 currently holds the uncommitted TESS-M3-FUP-005 Discord-routing fix in its worktree — flagged to Mos to sequence (FUP-005 fast-follow PR off main 0b621660 vs start M4-001 first); coder0 cannot cleanly branch M4-001 on a dirty tree. Awaiting Mos routing. |
| TESS-M4-002 | in-progress | Implement transitional Hermes runtime/capability adapter | #710 | coder3 | packages/agent, apps/gateway | feat/tess-hermes-adapter | TESS-M3-V | 40K | TESS-HRM-001; no legacy schema in core contracts. Mos-DISPATCHED 2026-07-13 to coder3 DESIGN-FIRST (contract sketch + questions to Mos before build). Goes in-progress as PR opens; PR-open-STOP → serialize CI + independent non-author ROR at exact head → Mos merges. UPDATE 2026-07-13: coder3 ACTIVE — fresh worktree/branch feat/tess-hermes-adapter off origin/main; boundary sketch at docs/tess/hermes-runtime-adapter-design.md. DESIGN QUESTION surfaced to Mos (coder3 HELD at design-only until ruling): AC-TESS-05 wants approved capability across Kanban/skills/memory/tools/cron, but AgentRuntimeProvider models only SESSION capabilities. (a) adapter-local Hermes inventory/health marks those as explicit UNSUPPORTED, real ops deferred to their Mosaic-owned plugin contracts (coder3 default, preserves hard no-legacy-core-contract rule); vs (b) an existing Mosaic-owned non-runtime capability contract this adapter must implement. Orchestrator recommends (a) to Mos as the conservative boundary-preserving path. UPDATE 2026-07-13: coder3 PROCEEDED WITH (a) and opened **PR #734** (base=main), head 47b8a145ac43688499d275a54b434a52551c1abd — ahead of the Mos (a/b) ruling (design-hold was placed; coder3's original msg said it would proceed with (a) unless directed). Hermes adapter normalized behind packages/agent boundary; core types unchanged, unsupported ops fail-closed, tests prove no legacy field leak; focused tests/typecheck/lint pass; cold-cache turbo typecheck+build 46/46 0-cached. mergeable=true. CI pipeline 1751 (pull_request, refs/pull/734/head) running — orchestrator serializing; on green-at-exact-head, independent non-author ROR routes to reviewer. ⚠️ MERGE GATED on Mos confirming option (a) is accepted (implementation == (a)); if Mos rules (b), #734 needs rework. HARD STOP for Mos merge. |
| TESS-M4-002 | in-progress | Implement transitional Hermes runtime/capability adapter | #710 | coder3 | packages/agent, apps/gateway | feat/tess-hermes-adapter | TESS-M3-V | 40K | TESS-HRM-001; no legacy schema in core contracts. Mos-DISPATCHED 2026-07-13 to coder3 DESIGN-FIRST (contract sketch + questions to Mos before build). Goes in-progress as PR opens; PR-open-STOP → serialize CI + independent non-author ROR at exact head → Mos merges. UPDATE 2026-07-13: coder3 ACTIVE — fresh worktree/branch feat/tess-hermes-adapter off origin/main; boundary sketch at docs/tess/hermes-runtime-adapter-design.md. DESIGN QUESTION surfaced to Mos (coder3 HELD at design-only until ruling): AC-TESS-05 wants approved capability across Kanban/skills/memory/tools/cron, but AgentRuntimeProvider models only SESSION capabilities. (a) adapter-local Hermes inventory/health marks those as explicit UNSUPPORTED, real ops deferred to their Mosaic-owned plugin contracts (coder3 default, preserves hard no-legacy-core-contract rule); vs (b) an existing Mosaic-owned non-runtime capability contract this adapter must implement. Orchestrator recommends (a) to Mos as the conservative boundary-preserving path. UPDATE 2026-07-13: coder3 PROCEEDED WITH (a) and opened **PR #734** (base=main), head 47b8a145ac43688499d275a54b434a52551c1abd — ahead of the Mos (a/b) ruling (design-hold was placed; coder3's original msg said it would proceed with (a) unless directed). Hermes adapter normalized behind packages/agent boundary; core types unchanged, unsupported ops fail-closed, tests prove no legacy field leak; focused tests/typecheck/lint pass; cold-cache turbo typecheck+build 46/46 0-cached. mergeable=true. CI pipeline 1751 (pull_request, refs/pull/734/head, commit 47b8a145) = **SUCCESS**; head UNMOVED, mergeable=true. Independent non-author ROR ROUTED to reviewer at exact head 47b8a145 (author coder3) — focus: no-legacy-core-contract (core types unchanged, no legacy field leak), unsupported caps explicit+fail-closed, packages/agent boundary, no live creds. Awaiting ROR verdict. ⚠️ MERGE GATED on Mos confirming option (a) is accepted (implementation == (a)); if Mos rules (b), #734 needs rework. HARD STOP for Mos merge. |
| TESS-M4-003 | not-started | Implement memory/retrieval, state/inbox, runtime bootstrap, fleet diagnostics and GitOps plugin foundations | #710 | codex | packages/memory, packages/agent, packages/mosaic | feat/tess-operator-plugins | TESS-M3-V | 40K | TESS-MEM-001, TESS-PLG-001. Mos HELD 1 beat (2026-07-13) for a well-conditioned lane; not yet dispatched. |
| TESS-M4-V | not-started | Cross-provider capability, privacy, authority and failure-path qualification | #710 | sonnet | apps/gateway/src/__tests__/integration, packages/agent | review/tess-m4 | TESS-M4-001,TESS-M4-002,TESS-M4-003 | 22K | Gate M5 |
| TESS-M5-001 | not-started | Implement Matrix/native runtime provider behind common contracts and parity suite | #711 | codex | packages/mosaic, packages/agent | feat/tess-matrix-provider | TESS-M4-V | 30K | TESS-TRN-001 |