Repository navigation
feat: reference threads across authorized client connections - #543
lastobelus wants to merge 19 commits into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
694d796 to
ab13f7b
Compare
|
@codex review |
ab13f7b to
6f60b4e
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6f60b4e0b4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. 👍 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
024232b to
8199ca4
Compare
|
Verification on rebased head
UI evidence below shows the picker and the retained draft with an unavailable source. Machine labels were replaced with a generic label for these captures; feature state and content were not changed. DO NOT MERGE. This is bounded web acceptance, not completion of the full planned client matrix. Electron-specific and native mobile QA, remaining lifecycle scenarios, full per-model evaluations, and Opus wording review remain open. The browser session was manually paired; automatic preview authentication is not verified. The eval runner stopped before model calls because its configured proxy prerequisite is absent; Claude's API-key prerequisite is also absent. No provider configuration, live environment settings, installation or restart was changed. |
a75258c to
702134d
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 702134df44
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Capture the answering client for exact references in accepted question answers. Preserve the original run authority for other reads, reject replay after binding loss, and carry scoped access into resumed and delegated runs. Keep raw references in history and expand their instructions only for provider delivery, so question summaries show readable titles. Carry-Group: incubator Carry-Fix: #543 (comment) Model-Harness: GPT-6.1 Sol via Codex
702134d to
69f0b28
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 69f0b28c63
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Bind accepted queued reference edits to the editing client without replacing the run client for other reads. Keep only a server-stamped authorization marker on the message, reuse its referenced context, and reject replay or fallback after access expires. Broker regression reproduces the original-client routing failure. Changed-file checks pass 573 tests; isolated Replay verification preserves the run/message identity and authorization marker through editing and queue release. Carry-Group: incubator Carry-Fix: #543 (comment) Model-Harness: GPT-6.1 Sol via Codex
Use the latest accepted reference grant among messages and question answers in the captured run. Steering captures its sender for those references; promoting edited queued work preserves the editor authorization and records when it joins the target run. Broker and persisted-runtime regressions cover direct steering, mixed question/message grants and queued promotion. Current-base changed checks pass 583 tests in 45 files and all affected-package checks. Carry-Group: incubator Carry-Fix: #543 (comment) Model-Harness: GPT-6.1 Sol via Codex
|
@codex review |
592ece2 to
9d24087
Compare
Capture the answering client for exact references in accepted question answers. Preserve the original run authority for other reads, reject replay after binding loss, and carry scoped access into resumed and delegated runs. Keep raw references in history and expand their instructions only for provider delivery, so question summaries show readable titles. Carry-Group: incubator Carry-Fix: #543 (comment) Model-Harness: GPT-6.1 Sol via Codex
Bind accepted queued reference edits to the editing client without replacing the run client for other reads. Keep only a server-stamped authorization marker on the message, reuse its referenced context, and reject replay or fallback after access expires. Broker regression reproduces the original-client routing failure. Changed-file checks pass 573 tests; isolated Replay verification preserves the run/message identity and authorization marker through editing and queue release. Carry-Group: incubator Carry-Fix: #543 (comment) Model-Harness: GPT-6.1 Sol via Codex
Use the latest accepted reference grant among messages and question answers in the captured run. Steering captures its sender for those references; promoting edited queued work preserves the editor authorization and records when it joins the target run. Broker and persisted-runtime regressions cover direct steering, mixed question/message grants and queued promotion. Current-base changed checks pass 583 tests in 45 files and all affected-package checks. Carry-Group: incubator Carry-Fix: #543 (comment) Model-Harness: GPT-6.1 Sol via Codex
9f962de to
bba684f
Compare
|
@codex review |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 497ef5697c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Normal message submissions now use a thread-scoped indexed existence query across runs, runtime answers and user messages. Preserve missing-thread failure and the first client binding while avoiding full user-history decoding. Broker, projection and MCP checks pass 107 tests; migration and query-plan checks pass 35 tests. Changed-file validation passes all 35 tasks. Carry-Group: incubator Carry-Fix: #543 (comment) Model-Harness: GPT-6.1 Sol and GPT-6.1 Terra via Codex
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 76c68bf124
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. 🎉 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
d923ea7 to
b31e26f
Compare
Thread references now use read-authorized client connections across projects and environments, including archived and completed subagent history. Explicit client reads preserve their authority through pagination while machine-directed operations keep peer routing. Drafts retain references when access is unavailable. Carry-Group: incubator Carry-Observation: The picker, persisted reference lifecycle, broker authority split and provider projection form one inseparable feature. Model-Harness: GPT-6.1 Sol via Codex
Both clients now build a selected reference from the candidate identity and label, so archived and older threads need no cached shell. Candidate search applies the shared matcher across bounded metadata batches before limiting results, preserving cross-field and separated title tokens. Carry-Group: incubator Model-Harness: GPT-6.1 Sol via Codex
Lightweight mention candidates now preserve normalized PR numbers, titles and references when replacing cached shells. A broker deadline now aggregates any recorded permission refusal instead of discarding it when another client does not answer; another successful response can still win before the deadline. Carry-Group: incubator Model-Harness: GPT-6.1 Sol via Codex
Update the measured instruction and MCP tool-definition sizes after adding explicit client read routing guidance. The existing budget test now matches the actual model context. Carry-Group: incubator Model-Harness: GPT-6.1 Sol via Codex
Keep the annotation editor fixture focused on drafts and scoped save actions by mocking its unused Markdown renderer. This prevents its partial thread-state mock from leaking into the thread metadata query module. Carry-Group: incubator Model-Harness: GPT-6.1 Sol via Codex
Keep bounded best-match lists while scanning every metadata page so an exact title beyond the first 501 matches remains discoverable. Track ordinary and typo matches separately so a strong match found later disables typo fallback across the complete result set. Carry-Group: incubator Model-Harness: GPT-6.1 Sol via Codex
Explain which client the user must keep connected, direct read failures to user recovery, and distinguish incomplete ID discovery from a failed read of a selected source. Align web and mobile messages and remove repeated agent instructions. The measured provider instructions shrink by 339 bytes and tool definitions by 139 bytes. Runtime routing and reference payloads are unchanged. Carry-Group: incubator Model-Harness: GPT-6.1 Sol via Codex; copy by GPT-6 Astra Medium via Codex, reviewed by Claude Opus 5.5 via Claude Agent
Capture the answering client for exact references in accepted question answers. Preserve the original run authority for other reads, reject replay after binding loss, and carry scoped access into resumed and delegated runs. Keep raw references in history and expand their instructions only for provider delivery, so question summaries show readable titles. Carry-Group: incubator Carry-Fix: #543 (comment) Model-Harness: GPT-6.1 Sol via Codex
Bind accepted queued reference edits to the editing client without replacing the run client for other reads. Keep only a server-stamped authorization marker on the message, reuse its referenced context, and reject replay or fallback after access expires. Broker regression reproduces the original-client routing failure. Changed-file checks pass 573 tests; isolated Replay verification preserves the run/message identity and authorization marker through editing and queue release. Carry-Group: incubator Carry-Fix: #543 (comment) Model-Harness: GPT-6.1 Sol via Codex
Provide the broker-requested request, node and message arrays in the project-launch fixture. This fixes the Server 5 failure without weakening production record contracts. Carry-Group: incubator Model-Harness: GPT-6.1 Sol via Codex
Use the latest accepted reference grant among messages and question answers in the captured run. Steering captures its sender for those references; promoting edited queued work preserves the editor authorization and records when it joins the target run. Broker and persisted-runtime regressions cover direct steering, mixed question/message grants and queued promotion. Current-base changed checks pass 583 tests in 45 files and all affected-package checks. Carry-Group: incubator Carry-Fix: #543 (comment) Model-Harness: GPT-6.1 Sol via Codex
Carry the answering client's server-captured read authorization through synthetic answer dispatch and persist it for queued answers. Promotion keeps that authorization and records when it joins the active run. Regressions reproduce both the unbound synthetic steering ID and the missing queued marker before the fix. Runtime, broker and intake boundaries pass 143 tests; changed-file checks pass 592 tests and all affected-package checks. Carry-Group: incubator Model-Harness: GPT-6.1 Sol via Codex
Native subscription evaluations exposed ambiguous machine routing and inconsistent pagination fixtures. Clarify the two reference kinds, preserve source identity in mock links, and return distinct page and item replies. The fixture dispatch regressions and focused checks pass 434 tests. Carry-Group: incubator Model-Harness: GPT-6.1 Sol via Codex; wording by Astra Medium
Name the reference kinds as the agent sees them and explicitly prohibit the client read selector for machine-directed reads. Preserve local routing for the local machine. Opus confirmed the routing facts and supplied this clarification; focused checks pass 434 tests. Carry-Group: incubator Model-Harness: GPT-6.1 Sol via Codex; prose reviewed by Claude Opus 5.5
Normal message submissions now use a thread-scoped indexed existence query across runs, runtime answers and user messages. Preserve missing-thread failure and the first client binding while avoiding full user-history decoding. Broker, projection and MCP checks pass 107 tests; migration and query-plan checks pass 35 tests. Changed-file validation passes all 35 tasks. Carry-Group: incubator Carry-Fix: #543 (comment) Model-Harness: GPT-6.1 Sol and GPT-6.1 Terra via Codex
Keep authorization lookups indexed while reserving unreadable histories against new client bindings. Carry-Group: incubator
Restore queued references when source access changes during attachment or checkout preparation. Carry-Group: incubator
Carry-Group: incubator
Carry-Group: incubator
deed5ad to
d1d0f82
Compare
|
@codex review |
|
Codex Review: Didn't find any major issues. Chef's kiss. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |


Thread references were limited to the execution environment and its machine peer links, even when the client could read threads elsewhere. This adds live, read-only
@references across projects and connected environments where the client is authorized to read history. Discovery includes archived threads, older settled threads, and completed subagent threads.References explicitly capture the client's read authority and preserve the source environment and thread identity through pagination. That authority is separate from existing machine peer reads; machine-directed operations keep their peer routing. Picker selection, paste/drop, restored drafts, queued edits, Auto routing, and mobile outbox delivery preserve scoped references. When access is unavailable, the app reports it without automatically falling back to transcript exports or dropping drafts.
Validation at head
d1d0f82608005cd73863b00390147a4a1c738fb0, based on canonicalb31e26f7b2357bf2def72524d257b784d88fd1a0:61903e10-ab17-4980-896c-56fe83f4ebdd.via: "client"; both test servers have zero peer links and the observed Linked environments Labs setting is off. The source history is a schema-validated projection fixture, not evidence of delegation creation.agent-context-increase.DO NOT MERGE. Exact-head GitHub CI and Codex review must refresh after publication. Electron/native acceptance, Auto final-destination coverage, the complete live permission/session-renewal/version-skew matrix and full current-source model evaluations remain open.
Incubator retains ownership of this feature: discovery, composer lifecycle, captured-client authority, and provider projection belong together. Broader linked-environment tracking is outside this PR.
Implementation: GPT-6.1 Sol and GPT-6.1 Terra via Codex. Title, description and copy: GPT-6 Astra Medium via Codex. Copy review: Claude Opus 5.5 via Claude Agent.