Orchestrata Ultimate › Plans › briefs › 2026-10-13-review-fix-hook-except-tuples-and-mcp-brief-transport-line

Brief: review fix — the AST sync hook's except tuples are parenthesized in both copies, and the MCP gateway brief's FILES entry says WebSocket

Source: plans/briefs/2026-10-13-review-fix-hook-except-tuples-and-mcp-brief-transport-line.md at 8a2cb42ad · last changed 2026-10-13 · first committed 2026-10-13 · 36 lines.

Prose pending.

Plan text

Brief: review fix — the AST sync hook's except tuples are parenthesized in both copies, and the MCP gateway brief's FILES entry says WebSocket

Date: 2026-10-13 · DESIGN_WAIVER: ADR-0097 (Accepted: the resident AST daemon publishes the snapshot; the post-edit hooks stop re-serializing) and ADR-0099 rule 1 (Accepted: the gateway MCP transport is a WebSocket JSON-RPC client) · Origin: adversarial review by Qwen 3.8 Max of the day's work, findings 1, 2 and 4, verified by the coordinator against origin/master c3752887b · Executor: DeepSeek 4 Pro (first external builder assignment) in worktree /home/mohamed/workspace/orchestrata-ultimate-worktrees/review-fix-deepseek on branch fix/review-hook-except-tuples · Design settled below; if a fork appears, STOP and report.

GOAL: the hook parses under every CPython 3.11+ the platform might run it with, not only 3.14, and the brief no longer carries a pre-ruling transport sentence.

VERIFIED (coordinator, origin/master c3752887b):

FILES (repo-relative): Modify:

CONSTRAINTS:

DONE WHEN:

  1. The new test and the existing hook test are green under timeout 300, observed.
  2. direnv exec <worktree> uv run ruff check claude/hooks/ast_sync_hook.py plugins/orchestrata/hooks/ast_sync_hook.py tests/claude/test_ast_sync_hook_parses_everywhere.py clean.
  3. cmp claude/hooks/ast_sync_hook.py plugins/orchestrata/hooks/ast_sync_hook.py prints nothing.
  4. git status --short empty on the branch; one commit through the real pre-commit hook naming the findings it closes.

VERIFY: the pytest-live summary line; the ruff line; the empty cmp output; git log --oneline -1.

Report back with those four observed outputs and anything that stopped you.