Skip to content

Sanitize legacy persisted task state and document handoff URL semantics - #51

Merged
wolfiesch merged 1 commit into
mainfrom
fix/persisted-state-sanitizer
Sep 3, 2026
Merged

Sanitize legacy persisted task state and document handoff URL semantics#51
wolfiesch merged 1 commit into
mainfrom
fix/persisted-state-sanitizer

Conversation

@wolfiesch

Copy link
Copy Markdown
Owner

No description provided.

The state parser rejected the entire persisted AgentTab state when a
legacy task record carried createdTabIds entries for tabs that had
already left task membership, bricking extension startup after upgrade.
parseState now dedupes and subset-filters createdTabIds against tabIds
while keeping the write-path subset invariant, so jsonEquivalent write
validation still fails closed.

The browser_handoff completion schema now states that kind "url"
matches the tab URL exactly, preventing the substring trap hit during
live verification.

Verified live: broker prepare against the real vault (3 candidates,
one-use token), nonblocking observation and mutation during an active
Your Turn handoff, durable handoff marker across service-worker
restart, and clean browser_finish cleanup of five task tabs.
@wolfiesch
wolfiesch merged commit d6b2cb9 into main Sep 3, 2026
8 checks passed
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.

1 participant