fix(agents): prefer explicit sessions_send keys#92047
Conversation
131d0c2 to
ab6cbeb
Compare
Honor caller-provided sessionKey values when stale label metadata is also present, and keep denied session-id sends from echoing the resolved canonical session key. Supersedes #74009 and fixes #64699. Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
ab6cbeb to
272776b
Compare
|
Codex review: needs changes before merge. Reviewed June 10, 2026, 7:22 PM ET / 23:22 UTC. Summary PR surface: Source -6, Tests +104, Docs +1. Total +99 across 10 files. Reproducibility: yes. Current main has a deterministic early rejection for any Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Remove the changelog line and retain the focused explicit-key precedence, denial non-disclosure behavior, regression tests, and generated prompt snapshots. Do we have a high-confidence way to reproduce the issue? Yes. Current main has a deterministic early rejection for any Is this the best way to solve the issue? Yes, after removing the changelog edit. Giving the explicit key deterministic precedence is narrower and more maintainable than adding parallel tools or complex schema alternatives, and the tests cover the associated disclosure-sensitive denial paths. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: reasoning high; reviewed against 1b23e738305c. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source -6, Tests +104, Docs +1. Total +99 across 10 files. View PR surface stats
Acceptance criteria:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
Honor caller-provided sessionKey values when stale label metadata is also present, and keep denied session-id sends from echoing the resolved canonical session key. Supersedes openclaw#74009 and fixes openclaw#64699. Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
Summary
sessionKeytargets win when stalelabelmetadata is also presentFixes #64699.
Refs #41199.
Supersedes #74009.
Validation
node scripts/run-vitest.mjs src/agents/tools/sessions.test.tsgit diff --check./node_modules/.bin/oxfmt --check --threads=1 CHANGELOG.md src/agents/tool-description-presets.ts src/agents/tools/sessions-send-tool.ts src/agents/tools/sessions.test.tscheck:changedscript guards/lint/runtime/import lanes passed where runnable in this sparse Codex worktreenode scripts/check-changed.mjs --dry-runselectedcore, coreTests, docs;tsgo:coreandtsgo:core:testwere sparse-skipped by the repo guard becauseui/configis not present in this worktree.agents/skills/autoreview/scripts/autoreview --mode local