feat: add the universal working set - #112
Merged
Merged
Conversation
## Context Let users keep useful workspace material beside the composer instead of copying it between windows or losing source boundaries. ## Changes - capture reviewed file, transcript, review, terminal-selection, and browser-page material through shared actions - keep every item session-scoped, bounded, redacted, inspectable, and removable before prompt submission - add source-aware prompt packets, safety documentation, provenance updates, and end-to-end coverage ## Impact T4 can now assemble one ordinary OMP prompt from explicit workspace sources without adding a second runtime authority or a new protocol field.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
## Context The working-set browser button called a metadata-only snapshot route, so real pages could not be staged. The live accessibility route also needed a tighter visible-content boundary. ## Changes - route page capture through the owner-scoped accessibility snapshot - exclude hidden DOM, form controls, and values from staged context - use per-surface refresh identity and propagate metadata redaction flags - cover the page producer, desktop dispatch, source admission, and inactive-session guard ## Impact Browser context now works in the desktop runtime without exposing hidden or entered form content. Tabs at the same URL remain distinct, with no new protocol authority.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this changes
T4 can now collect reviewed material from files, transcript messages, review diffs, selected terminal text, and browser accessibility snapshots in one working set beside the composer.
Every source uses the shared action registry and the existing composer settlement path. Items stay scoped to one session, remain in renderer memory, can be inspected or removed before sending, and are compiled into one ordinary OMP prompt. Existing redaction and byte limits apply across all sources; browser capture excludes form values and strips URL credentials, queries, and fragments.
ADR 018 records the source-specific authority and safety boundaries. The T3-derived provenance checksums were refreshed for the adapted transcript and terminal files.
How you verified it
pnpm --filter @t4-code/web test— 1,192 tests passedpnpm exec playwright test e2e/remote-app.spec.ts— 19 tests passed, including the working-set flow and soak casespnpm build:web— production build passedpnpm lint— passedpnpm check:release— passedpnpm check:provenance— 5 manifests checked, 0 failuresnode --test scripts/check-adr-numbering.test.mjs— passedpnpm exec vp run --filter '@t4-code/*' --filter '!@t4-code/root' --filter '!@t4-code/flutter' typecheck— all 13 non-Flutter packages passedThe combined Flutter-inclusive type check cannot start in this Codex environment because the Flutter executable is not installed. No Flutter files changed.
Checklist
pnpm checkpasses (Flutter executable unavailable locally; every non-Flutter check above passes)pnpm testpasses (Flutter executable unavailable locally; full web and desktop/browser suites pass)pnpm check:provenancepasses