fix(graph): scope tunnel reads and deletes to config - #2264
Conversation
e42e3e7 to
0b05f54
Compare
igorls
left a comment
There was a problem hiding this comment.
This tunnel isolation fix is important, but it leaves the adjacent hallway MCP handlers with the same cross-palace mutation bug.
On current develop, list_hallways and delete_hallway already accept an optional config, but tool_list_hallways calls list_hallways(wing) and tool_delete_hallway calls delete_hallway(hallway_id) without forwarding the server _config. I reproduced this with MCP _config selecting palace A and the ambient MempalaceConfig() selecting palace B: both sidecars contained the same hallway ID; tool_delete_hallway returned deleted: true, left A unchanged, and deleted B.
Please extend this contribution to pass config=_config through both hallway handlers and add the same two-palace read/delete regression coverage used for tunnels. The branch also needs rebasing; the current merge conflict is in CHANGELOG.md.
0b05f54 to
f16a7df
Compare
|
The requested changes are now on exact head The PR body now contains the exact updated evidence. Disclosure: this follow-up and verification were prepared with OpenAI Codex assistance and reviewed before publication. |
What does this PR do?
tunnels.json_configthrough tunnel and adjacent hallway handlersThe root cause was an incomplete config-propagation path:
create_tunnel(..., config=selected)already wrote to the selected sidecar, but matching readers either ignored or could not accept that config. The hallway MCP handlers had the same adjacent gap. With ambient palace B active and MCP palace A selected, reads could return B's same-ID record and deletion could mutate B while leaving A untouched.Calls that omit
configretain the existing default-palace behavior. This completes the tunnel read/delete side of the palace-isolation work merged in #2018.Closes #2263
Reproduction and verification
Exact current
developbasea9f345cc63254eb4dea7abad36963b85c9f8453a:Exact head
f16a7dfc04f55bf764fcdd1b8bda7cd3cbdd3f1e:git diff --checkpassedAI assistance
OpenAI Codex was used to rebase the existing contribution onto current
develop, implement the maintainer-requested adjacent hallway fix, run the exact-base RED / exact-head GREEN checks, and execute the test and lint commands recorded above. Igor reviewed the published scope and evidence.Checklist