Skip to content

fix: preserve caller tabs during handle refresh - #239

Merged
ecochran76 merged 2 commits into
mainfrom
fix/p207-current-custody
Oct 11, 2026
Merged

ecochran76 merged 2 commits into
mainfrom
fix/p207-current-custody

Conversation

@ecochran76

@ecochran76 ecochran76 commented Oct 11, 2026 •

Copy link
Copy Markdown

Refreshing a closed task tab could adopt another caller's blank target, and duplicate cleanup could close compatible peer tabs. This repair requires canonical matching caller custody before reuse or cleanup, persists replacement handles, and reports explicit cleanup-attempt evidence.

Closes #175. Supersedes the refresh implementation in #184 while preserving its branch. P207 records the bounded source outcome and separate Standards/Spec review. PR #191 remains separate.

Validation: the installed baseline reproduced peer adoption; the source candidate passed a disposable two-subject shared-browser workflow covering replacement persistence, canonical compatible reuse, caller-owned duplicate cleanup and peer preservation, followed by zero test-process residue. Seven existing Rust test bodies passed against unchanged production helper bodies and current Service Model types. Format, strict workspace Clippy, service-client contracts, API/MCP parity, docs build, documentation links and active planning audit passed.

Limits: the full CLI focused unit binary compilation hit its 4 GiB cgroup cap before tests ran; that lane is not passed. The policy-wiring checker fails an unchanged baseline assertion for a direct policy 0047 link. CI is disabled. The candidate was smoke-only; production was not upgraded. Failed resource and fixture attempts remain recorded in the plan and runbook.

@ecochran76
ecochran76 marked this pull request as ready for review October 11, 2026 00:50
@ecochran76
ecochran76 merged commit 2d266b6 into main Oct 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Defect] tab_handle_refresh can return an unattributed blank target without cleanup proof

1 participant