Verdict: REQUEST CHANGES for PR #748 at exact head f6d6d0bb62b5b187862b0a8481d9a9e7077ff233.
Evidence checked:
Live PR head matches requested SHA f6d6d0bb62b5b187862b0a8481d9a9e7077ff233.
Woodpecker PR pipeline 1787 is terminal green for that commit.
runtimeActionDigest() is byte-identical to origin/main and still hashes exactly the 7 fields: providerId, sessionId, actorId, tenantId, channelId, correlationId, agentName.
Coord/durable-session symbols, files, DI tokens, and the sourceLabel ?? 'tess' default were neutralized in the reviewed diff.
Blocking issue:
apps/gateway/src/coord/interaction-coordination.controller.ts:25 still exposes the coordination boundary only at @Controller('api/coord/mos'). That keeps the reference-deployment orchestrator alias in the request path. For the NAME-AS-CONFIG invariant, request-path identifiers need a neutral/config/data route as well; preserving /api/coord/mos as a compatibility alias is fine, but it should not be the sole canonical path for new operators.
Suggested fix: add a neutral coordination route (for example api/coord/interaction / api/coord/orchestration / equivalent project-chosen neutral path) with tests/docs proving it reaches the same handoff/observe/result service, while optionally retaining /api/coord/mos for backward compatibility.
ROR-748-REQUEST-CHANGES-f6d6d0bb
Verdict: REQUEST CHANGES for PR #748 at exact head `f6d6d0bb62b5b187862b0a8481d9a9e7077ff233`.
Evidence checked:
- Live PR head matches requested SHA `f6d6d0bb62b5b187862b0a8481d9a9e7077ff233`.
- Woodpecker PR pipeline `1787` is terminal green for that commit.
- `runtimeActionDigest()` is byte-identical to `origin/main` and still hashes exactly the 7 fields: `providerId`, `sessionId`, `actorId`, `tenantId`, `channelId`, `correlationId`, `agentName`.
- Coord/durable-session symbols, files, DI tokens, and the `sourceLabel ?? 'tess'` default were neutralized in the reviewed diff.
Blocking issue:
- `apps/gateway/src/coord/interaction-coordination.controller.ts:25` still exposes the coordination boundary only at `@Controller('api/coord/mos')`. That keeps the reference-deployment orchestrator alias in the request path. For the NAME-AS-CONFIG invariant, request-path identifiers need a neutral/config/data route as well; preserving `/api/coord/mos` as a compatibility alias is fine, but it should not be the sole canonical path for new operators.
Suggested fix: add a neutral coordination route (for example `api/coord/interaction` / `api/coord/orchestration` / equivalent project-chosen neutral path) with tests/docs proving it reaches the same handoff/observe/result service, while optionally retaining `/api/coord/mos` for backward compatibility.
Verdict: REQUEST CHANGES for PR #748 at exact live head 17932c3fb1358a651908553be6c4ea3ed72b1531.
Evidence checked:
Live PR head verified via git ls-remote origin refs/pull/748/head; fetched head matches 17932c3fb1358a651908553be6c4ea3ed72b1531.
Base/merge-base is current origin/main8dd4e9d541419075b4a8313ccd2c34058b826307; PR view reports no conflicts.
Woodpecker PR CI 1791 is SUCCESS for commit 17932c3fb135.
Prior blocker is partially resolved in production code: InteractionCoordinationController now has @Controller(['api/coord/interaction', 'api/coord/mos']), with /api/coord/interaction documented as canonical and /api/coord/mos retained as compatibility alias.
Same controller methods (handoff, observe, result) call the same InteractionCoordinationService; no separate/stubbed implementation was introduced.
runtimeActionDigest / command authorization file is untouched; git blob hash remains a9f829e7ecec721c6c585fe0da56fb5d6a6441e9 at base and head.
Tracking trio untouched: no diff to docs/tess/MISSION-MANIFEST.md, docs/tess/TASKS.md, or docs/tess/VERIFICATION-MATRIX.md.
Changed source scope remains gateway/packages plus docs note/scratchpad; no live credentials found in the diff; no Tess/tess literal remains in changed non-test source.
Blocking issue:
The requested route-parity test is not present. The new controller test only checks Nest PATH_METADATA and that the prototype has handler functions. It does not exercise HTTP routing for either prefix, and it does not prove POST /api/coord/interaction/handoff, GET /api/coord/interaction/:handoffId/observe, GET /api/coord/interaction/:handoffId/result, and their /api/coord/mos aliases actually route through the same guarded controller/service path. This can pass even if method decorators or runtime route registration are broken.
Required fix: add a focused Nest/Fastify or equivalent route-level parity test that invokes both prefixes for handoff/observe/result and asserts they reach the same controller/service behavior (guard may be test-overridden, but the route/controller path itself should be real). Keep /api/coord/interaction canonical and /api/coord/mos as compatibility alias.
No merge/deploy performed by reviewer.
ROR-748-REQUEST-CHANGES-17932c3f
Verdict: REQUEST CHANGES for PR #748 at exact live head `17932c3fb1358a651908553be6c4ea3ed72b1531`.
Evidence checked:
- Live PR head verified via `git ls-remote origin refs/pull/748/head`; fetched head matches `17932c3fb1358a651908553be6c4ea3ed72b1531`.
- Base/merge-base is current `origin/main` `8dd4e9d541419075b4a8313ccd2c34058b826307`; PR view reports no conflicts.
- Woodpecker PR CI `1791` is SUCCESS for commit `17932c3fb135`.
- Prior blocker is partially resolved in production code: `InteractionCoordinationController` now has `@Controller(['api/coord/interaction', 'api/coord/mos'])`, with `/api/coord/interaction` documented as canonical and `/api/coord/mos` retained as compatibility alias.
- Same controller methods (`handoff`, `observe`, `result`) call the same `InteractionCoordinationService`; no separate/stubbed implementation was introduced.
- `runtimeActionDigest` / command authorization file is untouched; git blob hash remains `a9f829e7ecec721c6c585fe0da56fb5d6a6441e9` at base and head.
- Tracking trio untouched: no diff to `docs/tess/MISSION-MANIFEST.md`, `docs/tess/TASKS.md`, or `docs/tess/VERIFICATION-MATRIX.md`.
- Changed source scope remains gateway/packages plus docs note/scratchpad; no live credentials found in the diff; no `Tess`/`tess` literal remains in changed non-test source.
Blocking issue:
- The requested route-parity test is not present. The new controller test only checks Nest `PATH_METADATA` and that the prototype has handler functions. It does **not** exercise HTTP routing for either prefix, and it does not prove `POST /api/coord/interaction/handoff`, `GET /api/coord/interaction/:handoffId/observe`, `GET /api/coord/interaction/:handoffId/result`, and their `/api/coord/mos` aliases actually route through the same guarded controller/service path. This can pass even if method decorators or runtime route registration are broken.
Required fix: add a focused Nest/Fastify or equivalent route-level parity test that invokes both prefixes for handoff/observe/result and asserts they reach the same controller/service behavior (guard may be test-overridden, but the route/controller path itself should be real). Keep `/api/coord/interaction` canonical and `/api/coord/mos` as compatibility alias.
No merge/deploy performed by reviewer.
Verdict: VERIFIED APPROVE for PR #748 at exact live head 1906cf66637af09b2c1e86c6cae627a4ee02215e.
Evidence checked:
Live PR head verified via git ls-remote origin refs/pull/748/head; fetched head matches 1906cf66637af09b2c1e86c6cae627a4ee02215e.
Base/merge-base is current origin/main8dd4e9d541419075b4a8313ccd2c34058b826307; PR view reports no conflicts.
Woodpecker PR CI 1792 is SUCCESS for commit 1906cf66637a.
Round-2 blocker is closed by a real route-level e2e: apps/gateway/src/coord/interaction-coordination.routing.e2e.test.ts boots a Nest/Fastify app with the real InteractionCoordinationController, real AuthGuard, and a shared injected InteractionCoordinationService mock; it sends HTTP requests through both /api/coord/interaction and /api/coord/mos for POST /handoff, GET /:handoffId/observe, and GET /:handoffId/result, then asserts the shared service methods were called twice each. It also proves unauthenticated /api/coord/interaction/handoff returns 401.
Neutral canonical route remains in production code: @Controller(['api/coord/interaction', 'api/coord/mos']); /api/coord/interaction is documented as canonical and /api/coord/mos as backward-compatible alias in docs/tess/MOS-COORDINATION.md.
runtimeActionDigest / command authorization is untouched; git blob hash remains a9f829e7ecec721c6c585fe0da56fb5d6a6441e9 at base and head, with the same 7 fields (providerId, sessionId, actorId, tenantId, channelId, correlationId, agentName).
Tracking trio untouched: no diff to docs/tess/MISSION-MANIFEST.md, docs/tess/TASKS.md, or docs/tess/VERIFICATION-MATRIX.md.
Source scope remains gateway/packages plus docs note/scratchpad; no live credentials found; no Tess/tess literal remains in changed non-test source.
No merge/deploy performed by reviewer.
ROR-748-VERIFIED-APPROVE-1906cf66
Verdict: VERIFIED APPROVE for PR #748 at exact live head `1906cf66637af09b2c1e86c6cae627a4ee02215e`.
Evidence checked:
- Live PR head verified via `git ls-remote origin refs/pull/748/head`; fetched head matches `1906cf66637af09b2c1e86c6cae627a4ee02215e`.
- Base/merge-base is current `origin/main` `8dd4e9d541419075b4a8313ccd2c34058b826307`; PR view reports no conflicts.
- Woodpecker PR CI `1792` is SUCCESS for commit `1906cf66637a`.
- Round-2 blocker is closed by a real route-level e2e: `apps/gateway/src/coord/interaction-coordination.routing.e2e.test.ts` boots a Nest/Fastify app with the real `InteractionCoordinationController`, real `AuthGuard`, and a shared injected `InteractionCoordinationService` mock; it sends HTTP requests through both `/api/coord/interaction` and `/api/coord/mos` for `POST /handoff`, `GET /:handoffId/observe`, and `GET /:handoffId/result`, then asserts the shared service methods were called twice each. It also proves unauthenticated `/api/coord/interaction/handoff` returns 401.
- Neutral canonical route remains in production code: `@Controller(['api/coord/interaction', 'api/coord/mos'])`; `/api/coord/interaction` is documented as canonical and `/api/coord/mos` as backward-compatible alias in `docs/tess/MOS-COORDINATION.md`.
- `runtimeActionDigest` / command authorization is untouched; git blob hash remains `a9f829e7ecec721c6c585fe0da56fb5d6a6441e9` at base and head, with the same 7 fields (`providerId`, `sessionId`, `actorId`, `tenantId`, `channelId`, `correlationId`, `agentName`).
- Tracking trio untouched: no diff to `docs/tess/MISSION-MANIFEST.md`, `docs/tess/TASKS.md`, or `docs/tess/VERIFICATION-MATRIX.md`.
- Source scope remains gateway/packages plus docs note/scratchpad; no live credentials found; no `Tess`/`tess` literal remains in changed non-test source.
No merge/deploy performed by reviewer.
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.
Closes #747
Summary
Verification
ROR-748-REQUEST-CHANGES-f6d6d0bb
Verdict: REQUEST CHANGES for PR #748 at exact head
f6d6d0bb62b5b187862b0a8481d9a9e7077ff233.Evidence checked:
f6d6d0bb62b5b187862b0a8481d9a9e7077ff233.1787is terminal green for that commit.runtimeActionDigest()is byte-identical toorigin/mainand still hashes exactly the 7 fields:providerId,sessionId,actorId,tenantId,channelId,correlationId,agentName.sourceLabel ?? 'tess'default were neutralized in the reviewed diff.Blocking issue:
apps/gateway/src/coord/interaction-coordination.controller.ts:25still exposes the coordination boundary only at@Controller('api/coord/mos'). That keeps the reference-deployment orchestrator alias in the request path. For the NAME-AS-CONFIG invariant, request-path identifiers need a neutral/config/data route as well; preserving/api/coord/mosas a compatibility alias is fine, but it should not be the sole canonical path for new operators.Suggested fix: add a neutral coordination route (for example
api/coord/interaction/api/coord/orchestration/ equivalent project-chosen neutral path) with tests/docs proving it reaches the same handoff/observe/result service, while optionally retaining/api/coord/mosfor backward compatibility.f6d6d0bb62to17932c3fb1ROR-748-REQUEST-CHANGES-17932c3f
Verdict: REQUEST CHANGES for PR #748 at exact live head
17932c3fb1358a651908553be6c4ea3ed72b1531.Evidence checked:
git ls-remote origin refs/pull/748/head; fetched head matches17932c3fb1358a651908553be6c4ea3ed72b1531.origin/main8dd4e9d541419075b4a8313ccd2c34058b826307; PR view reports no conflicts.1791is SUCCESS for commit17932c3fb135.InteractionCoordinationControllernow has@Controller(['api/coord/interaction', 'api/coord/mos']), with/api/coord/interactiondocumented as canonical and/api/coord/mosretained as compatibility alias.handoff,observe,result) call the sameInteractionCoordinationService; no separate/stubbed implementation was introduced.runtimeActionDigest/ command authorization file is untouched; git blob hash remainsa9f829e7ecec721c6c585fe0da56fb5d6a6441e9at base and head.docs/tess/MISSION-MANIFEST.md,docs/tess/TASKS.md, ordocs/tess/VERIFICATION-MATRIX.md.Tess/tessliteral remains in changed non-test source.Blocking issue:
PATH_METADATAand that the prototype has handler functions. It does not exercise HTTP routing for either prefix, and it does not provePOST /api/coord/interaction/handoff,GET /api/coord/interaction/:handoffId/observe,GET /api/coord/interaction/:handoffId/result, and their/api/coord/mosaliases actually route through the same guarded controller/service path. This can pass even if method decorators or runtime route registration are broken.Required fix: add a focused Nest/Fastify or equivalent route-level parity test that invokes both prefixes for handoff/observe/result and asserts they reach the same controller/service behavior (guard may be test-overridden, but the route/controller path itself should be real). Keep
/api/coord/interactioncanonical and/api/coord/mosas compatibility alias.No merge/deploy performed by reviewer.
ROR-748-VERIFIED-APPROVE-1906cf66
Verdict: VERIFIED APPROVE for PR #748 at exact live head
1906cf66637af09b2c1e86c6cae627a4ee02215e.Evidence checked:
git ls-remote origin refs/pull/748/head; fetched head matches1906cf66637af09b2c1e86c6cae627a4ee02215e.origin/main8dd4e9d541419075b4a8313ccd2c34058b826307; PR view reports no conflicts.1792is SUCCESS for commit1906cf66637a.apps/gateway/src/coord/interaction-coordination.routing.e2e.test.tsboots a Nest/Fastify app with the realInteractionCoordinationController, realAuthGuard, and a shared injectedInteractionCoordinationServicemock; it sends HTTP requests through both/api/coord/interactionand/api/coord/mosforPOST /handoff,GET /:handoffId/observe, andGET /:handoffId/result, then asserts the shared service methods were called twice each. It also proves unauthenticated/api/coord/interaction/handoffreturns 401.@Controller(['api/coord/interaction', 'api/coord/mos']);/api/coord/interactionis documented as canonical and/api/coord/mosas backward-compatible alias indocs/tess/MOS-COORDINATION.md.runtimeActionDigest/ command authorization is untouched; git blob hash remainsa9f829e7ecec721c6c585fe0da56fb5d6a6441e9at base and head, with the same 7 fields (providerId,sessionId,actorId,tenantId,channelId,correlationId,agentName).docs/tess/MISSION-MANIFEST.md,docs/tess/TASKS.md, ordocs/tess/VERIFICATION-MATRIX.md.Tess/tessliteral remains in changed non-test source.No merge/deploy performed by reviewer.