This commit is contained in:
@@ -32,9 +32,9 @@
|
||||
| TESS-M3-003 | done | Cross-surface durable session integration + functional attach + denial/audit parity | #709 | coder0 | apps/gateway, plugins/discord, packages/mosaic, packages/agent | feat/tess-m3-integration | TESS-M3-001,TESS-M3-002 | 30K | Mos-DISPATCHED to coder0 (base=main, 2026-07-13) after M3-V gate = FAIL (integration unwired). Scope: C1 wire DurableSessionCoordinator.create into session-start + Discord resolves via durable snapshot + cross-surface E2E (AC-TESS-01); C2 expose streamSession over HTTP+CLI for functional attach + success test; C4 CLI denial spec + Discord mint-side durable audit + FOLD TESS-M1-FUP-001 (execute() authz-error classification) + RuntimeApprovalDeniedError→403 filter. PR-open-STOP, independent non-author ROR then Mos merges. M3-V RE-GATES after this lands. C1 design question raised by coder0 (origin/main has NO runtime-provider session-start/create op — only AgentService/Pi chat createSession, an LLM conversation, not a RuntimeProvider session carrying providerId/runtimeSessionId) — RESOLVED by Mos synthesis ruling (2026-07-13): conversationId is the durable handle; DurableSessionCoordinator.create happens at RUNTIME ENROLLMENT once providerId/runtimeSessionId are known; BOTH surfaces (Discord + CLI) snapshot it. coder0 PROCEEDING: C2/C4 in parallel now + implementing the C1 enrollment boundary per the ruling. PR-open-STOP; orchestrator serializes CI + routes independent non-author ROR at exact head; Mos merges. UPDATE 2026-07-13: **PR #732 OPEN** (base=main), head 451f7e04ec6c45adb12007dd7131da6a2b199962. coder0 stopped at PR creation, holding (no force-push). Local forced validation green (typecheck/lint/format:check/test: gateway 590 pass/11 skip, mosaic 640 pass), Codex code+security clean, command-authorization.service.ts byte-identical to origin/main. CI pipeline 1745 running — orchestrator serializing; on green-at-exact-head, independent non-author ROR routes to reviewer; HARD STOP for Mos merge. UPDATE 2026-07-13 (CI-GREEN): pipeline 1745 (event=pull_request, refs/pull/732/head, exact head 451f7e04) = SUCCESS; PR mergeable=true, head unmoved. Independent non-author ROR ROUTED to reviewer at exact head 451f7e04 (author coder0). Awaiting ROR verdict; HARD STOP for Mos merge; M3-V re-gates on merge. UPDATE 2026-07-13 (ROR round 1 = REQUEST CHANGES @ 451f7e04, Gitea comment 17007, CI 1745 green): ONE real blocker — Discord approve path UNREACHABLE in production. ChatGateway.handleDiscordApproval accepts only bare '/approve' (^/approve\\s*$), but plugins/discord/src/index.ts routes to discord:approve only on startsWith('/approve ') — so bare /approve → normal message (dead), '/approve x' → gateway-rejected; AC-TESS-01 mint/cross-surface flow can't fire; tests bypass DiscordPlugin.handleDiscordMessage so they mask it (same integration-unwired class M3-V flagged). Positives HELD: command-authz byte-identical (hash a9f829e7), 7-field digest intact, actor=resolved admin (not DISCORD_SERVICE_USER_ID), durable/stream/denial/audit coverage present, no live creds. Root-cause routed to coder0: reconcile plugin-routing predicate ↔ gateway accept-grammar + add end-to-end test through real handleDiscordMessage (no bypass). Fix push MOVES head → invalidates ROR, re-serialize CI + re-ROR at new exact head. UPDATE 2026-07-13 (RESOLUTION — MERGED by Mos): before coder0's fix was pushed, Mos ran a combined M3-V re-review at the SAME head 451f7e04 ([W-jarvis:reviewer-sonnet], Gitea comment 17009 = VERIFIED APPROVE + M3-V GATE PASS) and MERGED #732 → main squash commit **0b621660** ("feat(tess): wire durable interaction surfaces"). Mos milestone signal: M3-001/002/003 done, M3-V PASS, M3 COMPLETE, advancing to M4. ⚠️ ORCHESTRATOR RECONCILIATION: the two independent ROR reads at 451f7e04 CONFLICT on one concrete mechanism — my reviewer (17007) flagged the Discord approve path unreachable; Mos's re-review (17009) validated the gateway handler + integration test but that test bypasses DiscordPlugin.handleDiscordMessage. Orchestrator VERIFIED against merged main 0b621660 (read-only git show/grep): the plugin-routing defect is STILL LIVE — see TESS-M3-FUP-005. Surfaced to Mos as a fast-follow; coder0's uncommitted fix held pending Mos disposition. |
|
||||
| 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 | in-progress | 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. UPDATE 2026-07-13: coder0 wrote docs/tess/MOS-COORDINATION.md; design checkpoint surfaced to Mos with the transport-adapter question (existing fleet/tmux Mos-authority channel vs dedicated native queue/HTTP). coder0 PROCEEDED (ahead of the Mos transport ruling) choosing a **native in-process adapter** and opened **PR #735** (base=main), head 7936e15d3ae137c91c88efdab4bb09b863a2195d. Impl: transport-NEUTRAL handoff/observe/result contract (MosCoordinationPort); deterministic native in-process InMemoryMosCoordinationPort; gateway derives actor/tenant/requester from trusted context/config; fail-closed for unconfigured-requester, self-delegation, target-drift, cross-tenant observe/result; NO public orchestrator verbs; **NO fleet/tmux transport, NO Mos-side consumer**; command-authorization byte-identical hash a9f829e7; no live creds; no hardcoded Tess identity. Local forced cold-cache typecheck/lint/format/test green (42 tasks); Codex security no findings. CI pipeline 1752 (pull_request, refs/pull/735/head, commit 7936e15d) = **SUCCESS**; head UNMOVED, mergeable=true. Independent non-author ROR **COMPLETE**: reviewer [W-jarvis:reviewer] VERIFIED APPROVE at exact head 7936e15d (Gitea comment 17032) — verified MosCoordinationPort=handoff/observe/result only, gateway-derived authority, fail-closed denial coverage, native in-process port (no tmux/Mos consumer), command-authz byte-identical a9f829e7, no live creds, no Tess literal. ⚠️ HEAD MOVED 2026-07-13 (ROR 17032 INVALIDATED): coder0 pushed one post-ROR commit → new head **5022911f84dd7ac30f40df31a53f6cd31a51728f** (commit "docs(tess): record M4 verification", parent 7936e15d). Orchestrator-verified sole delta = a single scratchpad doc docs/scratchpads/tess-m4-001-mos-coordination.md, ZERO code/test diff. New CI pipeline 1754 (pull_request, refs/pull/735/head, commit 5022911f) = **SUCCESS**; mergeable=true, head now 5022911f. Comment 17032 @ 7936e15d no longer at exact head → re-serialize + re-ROR REQUIRED. Fast delta RE-ROR **COMPLETE**: reviewer [W-jarvis:reviewer] VERIFIED APPROVE at exact head 5022911f (Gitea comment 17036) — confirmed 5022911f is direct child of prior-reviewed 7936e15d, sole two-dot delta = the 3-line scratchpad doc, no code/test diff, command-authz byte-identical a9f829e7, CI 1754 success. Head UNMOVED (5022911f), mergeable=true. **MERGEABLE at 5022911f — HARD STOP for Mos merge** (2026-07-13). MERGE = Mos ACCEPTING the native-in-process transport choice (contract stays transport-neutral; a fleet/tmux or native-queue/HTTP consumer can be added later without contract churn); if Mos wants a different FIRST adapter, hold merge + route rework to coder0. |
|
||||
| TESS-M4-001 | done | 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 | **MERGED by Mos** → main squash **76325ca3** ("feat(tess): add Mos coordination boundary (#735)"), 2026-07-13 — merge = native-in-process transport ACCEPTED (contract transport-neutral). TESS-MOS-001. Mos-DISPATCHED 2026-07-13 to coder0 DESIGN-FIRST. UPDATE 2026-07-13: coder0 wrote docs/tess/MOS-COORDINATION.md; design checkpoint surfaced to Mos with the transport-adapter question (existing fleet/tmux Mos-authority channel vs dedicated native queue/HTTP). coder0 PROCEEDED (ahead of the Mos transport ruling) choosing a **native in-process adapter** and opened **PR #735** (base=main), head 7936e15d3ae137c91c88efdab4bb09b863a2195d. Impl: transport-NEUTRAL handoff/observe/result contract (MosCoordinationPort); deterministic native in-process InMemoryMosCoordinationPort; gateway derives actor/tenant/requester from trusted context/config; fail-closed for unconfigured-requester, self-delegation, target-drift, cross-tenant observe/result; NO public orchestrator verbs; **NO fleet/tmux transport, NO Mos-side consumer**; command-authorization byte-identical hash a9f829e7; no live creds; no hardcoded Tess identity. Local forced cold-cache typecheck/lint/format/test green (42 tasks); Codex security no findings. CI pipeline 1752 (pull_request, refs/pull/735/head, commit 7936e15d) = **SUCCESS**; head UNMOVED, mergeable=true. Independent non-author ROR **COMPLETE**: reviewer [W-jarvis:reviewer] VERIFIED APPROVE at exact head 7936e15d (Gitea comment 17032) — verified MosCoordinationPort=handoff/observe/result only, gateway-derived authority, fail-closed denial coverage, native in-process port (no tmux/Mos consumer), command-authz byte-identical a9f829e7, no live creds, no Tess literal. ⚠️ HEAD MOVED 2026-07-13 (ROR 17032 INVALIDATED): coder0 pushed one post-ROR commit → new head **5022911f84dd7ac30f40df31a53f6cd31a51728f** (commit "docs(tess): record M4 verification", parent 7936e15d). Orchestrator-verified sole delta = a single scratchpad doc docs/scratchpads/tess-m4-001-mos-coordination.md, ZERO code/test diff. New CI pipeline 1754 (pull_request, refs/pull/735/head, commit 5022911f) = **SUCCESS**; mergeable=true, head now 5022911f. Comment 17032 @ 7936e15d no longer at exact head → re-serialize + re-ROR REQUIRED. Fast delta RE-ROR **COMPLETE**: reviewer [W-jarvis:reviewer] VERIFIED APPROVE at exact head 5022911f (Gitea comment 17036) — confirmed 5022911f is direct child of prior-reviewed 7936e15d, sole two-dot delta = the 3-line scratchpad doc, no code/test diff, command-authz byte-identical a9f829e7, CI 1754 success. Head UNMOVED (5022911f), mergeable=true. **MERGEABLE at 5022911f — HARD STOP for Mos merge** (2026-07-13). MERGE = Mos ACCEPTING the native-in-process transport choice (contract stays transport-neutral; a fleet/tmux or native-queue/HTTP consumer can be added later without contract churn); if Mos wants a different FIRST adapter, hold merge + route rework to coder0. |
|
||||
| TESS-M4-002 | done | Implement transitional Hermes runtime/capability adapter | #710 | coder3 | packages/agent, apps/gateway | feat/tess-hermes-adapter | TESS-M3-V | 40K | **MERGED by Mos** → main squash **9e5b9188** ("feat(agent): add transitional Hermes runtime adapter (#734)"), 2026-07-13 — Mos merge = **option (a) ACCEPTED**; post-merge main CI 1753. 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 **COMPLETE**: reviewer [W-jarvis:reviewer] VERIFIED APPROVE at exact head 47b8a145 (Gitea comment 17027) — verified core AgentRuntimeProvider/runtime types UNCHANGED, adapter normalizes Hermes legacy shapes behind packages/agent boundary, unsupported runtime ops FAIL CLOSED via capability_unsupported BEFORE transport side effects (Kanban/skills/memory/tools/cron deferred under option (a)), no live creds, no hardcoded Tess agent identifier. Head UNMOVED, mergeable=true. **MERGEABLE — HARD STOP for Mos merge** (2026-07-13). ⚠️ 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-003 | in-progress | Implement memory/retrieval, state/inbox, runtime bootstrap, fleet diagnostics and GitOps plugin foundations | #710 | coder0 | 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. UPDATE 2026-07-13: coder0 TOOK OVER M4-003 (preserved coder4 WIP first, then rebased on latest main) and opened **PR #736** (base=main), head a1d63ca8ed07610828e9c51a213fffe9123b3de4. ⚠️ AUTHORIZATION FLAG to Mos: M4-003 was on Mos 1-beat HOLD; confirm this takeover/dispatch was Mos-authorized before merge. Scope delivered: LEAF @mosaicstack/memory operator retrieval plugin — config-injected adapter/namespace, runtime-validated server-derived tenant/owner/session scope, redaction-before-persist, provenance, bounded startup prioritization, wildcard adapter contract, namespace/different-instance tests. NO gateway/catalog/durable-inbox or command-authorization changes. Forced cold-cache typecheck/lint/format/test green (42 tasks); Woodpecker 1756 green; Codex code+security clean. CI pipeline 1756 (pull_request, refs/pull/736/head, commit a1d63ca8) = **SUCCESS**; mergeable=true. Independent non-author ROR ROUTED to reviewer at exact head a1d63ca8 (author coder0) — focus: leaf-only (no gateway/catalog/inbox/command-authz), scope runtime-validated server-derived, redaction-before-persist, boundary tests real. Awaiting ROR verdict; HARD STOP for Mos merge. NOTE: M4-003 scope here is the memory-plugin slice; state/inbox/runtime-bootstrap/fleet-diagnostics/GitOps foundations may be follow-on slices — confirm with Mos whether #736 fully closes M4-003 or is slice 1. |
|
||||
| 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 |
|
||||
| TESS-M5-002 | not-started | Complete migration inventory, cutover, rollback, retention and deprecation evidence | #711 | sonnet | docs/tess | feat/tess-migration-docs | TESS-M4-V | 18K | TESS-MIG-001 |
|
||||
|
||||
Reference in New Issue
Block a user