refactor: route bundled plugin session callers through seam#89129
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 14, 2026, 3:17 PM ET / 19:17 UTC. Summary PR surface: Source +87, Tests +123, Other +30. Total +240 across 19 files. Reproducibility: not applicable. this is a refactor/migration slice rather than a current-main bug report. The relevant proof is source comparison, focused validation, CI, and live behavior evidence from the PR body. Review metrics: 1 noteworthy metric.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Mantis proof suggestion Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land this as the staged accessor-seam slice after maintainer acceptance of SDK/session-state compatibility risk, while keeping whole-store compatibility and the SQLite flip under the migration tracker. Do we have a high-confidence way to reproduce the issue? Not applicable: this is a refactor/migration slice rather than a current-main bug report. The relevant proof is source comparison, focused validation, CI, and live behavior evidence from the PR body. Is this the best way to solve the issue? Yes: routing these bounded bundled/plugin SDK callers through the permanent accessor seam is the narrowest maintainable slice. Broader whole-store compatibility and SQLite storage decisions remain in the canonical migration tracker. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 356385045f8e. Label changesLabel justifications:
Evidence reviewedPR surface: Source +87, Tests +123, Other +30. Total +240 across 19 files. View PR surface stats
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
|
f18f99c to
b39023f
Compare
2676603 to
ba74be8
Compare
890d5e3 to
b496b4b
Compare
ba74be8 to
21255b3
Compare
|
Follow-up: the plugin SDK API baseline needs regeneration on this branch ( |
1e31abd to
094f9b5
Compare
3c5b1b6 to
7fe4d46
Compare
7fe4d46 to
7975bc0
Compare
|
Merged via squash.
Thanks @jalehman! |
…#89129) Merged via squash. Prepared head SHA: 7975bc0 Co-authored-by: jalehman <[email protected]> Co-authored-by: jalehman <[email protected]> Reviewed-by: @jalehman
…#89129) Merged via squash. Prepared head SHA: 7975bc0 Co-authored-by: jalehman <[email protected]> Co-authored-by: jalehman <[email protected]> Reviewed-by: @jalehman
…#89129) Merged via squash. Prepared head SHA: 7975bc0 Co-authored-by: jalehman <[email protected]> Co-authored-by: jalehman <[email protected]> Reviewed-by: @jalehman
…#89129) Merged via squash. Prepared head SHA: 7975bc0 Co-authored-by: jalehman <[email protected]> Co-authored-by: jalehman <[email protected]> Reviewed-by: @jalehman
What
Route the bundled plugin session/transcript consumer slice onto the 3.1a session accessor seam where the behavior is already narrow and entry-scoped. Refs #88838.
Why
This keeps the Path 3 / 3.1b bundled plugin consumer slice file-backed and behavior-preserving while removing avoidable whole-store mutations before the SQLite storage flip. The remaining true whole-store/partial-entry compatibility cases stay documented as follow-up design work rather than being hidden in source code.
Changes
Real behavior proof
Testing
node scripts/run-vitest.mjs extensions/discord/src/monitor/native-command.model-picker.test.ts extensions/discord/src/monitor/thread-session-close.test.ts extensions/telegram/src/bot.create-telegram-bot.test.ts extensions/whatsapp/src/auto-reply/monitor/group-activation.test.ts extensions/whatsapp/src/auto-reply/web-auto-reply-utils.test.tsnode_modules/.bin/oxfmt --check extensions/discord/src/monitor/native-command-model-picker-apply.ts extensions/discord/src/monitor/native-command.model-picker.test.ts extensions/discord/src/monitor/thread-session-close.ts extensions/discord/src/monitor/thread-session-close.test.ts extensions/telegram/src/bot-handlers.runtime.ts extensions/telegram/src/bot.create-telegram-bot.test.ts extensions/whatsapp/src/auto-reply/web-auto-reply-utils.test.tsnode scripts/run-oxlint.mjs extensions/discord/src/monitor/native-command-model-picker-apply.ts extensions/discord/src/monitor/native-command.model-picker.test.ts extensions/discord/src/monitor/thread-session-close.ts extensions/discord/src/monitor/thread-session-close.test.ts extensions/telegram/src/bot-handlers.runtime.ts extensions/telegram/src/bot.create-telegram-bot.test.ts extensions/whatsapp/src/auto-reply/web-auto-reply-utils.test.tspnpm --dir . tsgo:extensionsgit diff --check/opt/homebrew/bin/timeout 900 /Users/phaedrus/Projects/prompts/skills/autoreview/scripts/autoreview --mode local --no-web-searchupdatedAt/sessionIdguard and regression test.Known follow-up: public SDK whole-store compatibility and WhatsApp activation-only scoped backfill remain tracked under the Path 3 whole-store design follow-up because they rely on mutable whole-store or partial-entry semantics.