Conversation
|
Final closeout candidate pushed: |
teknium1
left a comment
There was a problem hiding this comment.
Thanks for the focused project-routing and durable-session work. The current-main premise remains valid: tools/project_tools.py:105 and :126 still mutate the profile-global active pointer, while Desktop submit still routes only by runtime id (apps/desktop/src/app/session/hooks/use-prompt-actions/submit.ts:599-609).
Problems
- The contract must not remain v5. Current main already reserves v5 for large remote attachments (
tui_gateway/server.py:4644-4648,apps/desktop/src/store/updates.ts:93-97, commit254aeda122). A v5 remote would pass the client gate but lack this branch's durable-binding validation. - The same runtime-only mutation remains on Desktop redirect:
index.ts:708sends onlysession_id, andtui_gateway/methods_session.py:2963-2972validates only the runtime lookup. This PR does not change that path. - Current main split RPC handlers out of
server.py(tui_gateway/server.py:13293-13304), so the server-side portion needs to be transplanted intomethods_prompt.py/methods_session.py.
Suggested changes
- Allocate the next contract version and cover v5 skew.
- Bind and validate
session.redirect, or document and test a deliberate exclusion. - Rework the handler changes against the current module split.
This is an automated hermes-sweeper review.
| # v3: adds approvals.mode config RPCs and session.info reconciliation. | ||
| # v4: session.create fast=false is an explicit per-session normal-tier override. | ||
| DESKTOP_BACKEND_CONTRACT = 4 | ||
| # v5: every Desktop prompt.submit is bound to its durable stored session. |
There was a problem hiding this comment.
Current main already uses contract v5 for the merged large-attachment WebSocket capability (254aeda122; current tui_gateway/server.py:4644-4648). Please allocate a new contract version for durable-session binding; otherwise a current v5 remote passes the Desktop gate but does not implement this validation.
Summary
Incident
Prevents recurrence of #54527, including the confirmed cross-project contamination where Snabbgross prompts were persisted in a Mission Control conversation.
Verification
scripts/run_tests.sh tests/tools/test_project_tools.py tests/test_tui_gateway_server.py -q— 405 passednpm run typecheck— passedgit diff --check— passed