Ship tableau-mcp v6.0.2 GroupItem hydration fix and hand back to EA wi…

Decision

Ship tableau-mcp v6.0.2 GroupItem hydration fix and hand back to EA without dev-side live mutation smoke. Release gate satisfied by source-diff-in-container + /health green + 5/5 AST regression + 12-surface cascade + commit 2e3a4ee + handoff dev-builderea-agent created. EA owns live retry per lane discipline.

Rationale

Fix is mechanical (hydrate group via server.groups.get_by_id before TSC call at 4 sites; once-per-batch in the 2 batch wrappers). TSC source confirms the contract (group_item.id accessed). AST regex regression catches the exact bug shape; mock-based test would assert the same property at higher maintenance cost. Live mutation from dev would race EA’s idempotent retry, producing 409 noise in their batch report. Sibling tools (add/remove_group_to_group_set) verified safe (raw REST, not TSC SDK). Codex gate findings: cascade-drift WARNING applied (skills/SKILL.md + pairing-contract.md updated atomically), pipefail CRITICAL applied (compose recreate exit captured via PIPESTATUS), Dockerfile uv.lock* CRITICAL rejected on empirical grounds (build succeeded, image 6.0.2 healthy). Reactive cross-repo scan caught 2 sync-mirror defects post-stop-hook — fixed atomically. detect_biases flagged anchoring + framing on the qualitative justifications, mitigated by listing counter-evidence in handoff + decision rationale.

Alternatives Rejected

Outcome

Pending