feat(overseer): hub-owned conversational focus for anaphoric relay - #113
feat(overseer): hub-owned conversational focus for anaphoric relay#113heavygee wants to merge 14 commits into
Conversation
Persist a structured session/item subject across converse turns so write authorization and the brain share one referent. "tell it to…" binds via focus + write intent, not line-local ids. Tool-result dumps cannot retarget. Fixes #112 Co-authored-by: Cursor <cursoragent@cursor.com>
Peer handoff — ready for Meta remat / operator dogfoodPR: #113 (base What shippedHub-owned conversational focus (session and/or inbox item) shared by brain system prompt + write gate. Anaphoric "tell it to…" authorizes against focus; multi-item tool dumps cannot retarget. Gates
Meta / operator next
I did not remat / stack-switch (per handoff). |
Write auth is focus and/or allowWrites only — no utterance regex for intent or targets. Focus updates from tool resolves (and client session), not operator-text id grepping. Mid-turn resolve unlocks ping. Co-authored-by: Cursor <cursoragent@cursor.com>
Course correction applied (operator lock)Scrapped the first-pass design that layered focus on top of
PR body updated to match. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a1ed760561
ℹ️ 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".
Freeze write grants at turn start so mid-turn tool resolves cannot unlock same-turn writes. Require non-null session probes, conditional focus persist, client relatedSessionId replace, and merge/delete repoint. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 94bc2f9ded
ℹ️ 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".
… start Keep setConverseFocusIfNewer able to reject older in-flight turns after session delete, stamp focus updates with turnStartedAt (not tool-completion wall clock), and promote singleton list_active_workers like query_inbox. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 783ef8f147
ℹ️ 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".
… fail Route session deletes through Store.deleteSession so cache-bypass paths clear focus; replace the whole session/item pair on subject-changing writes; promote singleton query_open_loops; persist mid-turn focus when a later brain call fails. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3ffcde90dc
ℹ️ 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".
Refuse equal updatedAt on persist (first writer wins), bump clears/repoints above the durable version, and promote singleton list-mode query_dispositions. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 89521cf38a
ℹ️ 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".
Persist relatedSessionId focus before awaiting the brain; accept unique session-id prefixes; require all supplied write selectors to match focus; promote singleton query_events; never adopt ungranted ping itemIds. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cae4a1b642
ℹ️ 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".
When one turn successfully resolves more than one distinct session/item, keep the turn-start focus instead of persisting whichever probe finished last. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6f80eafc57
ℹ️ 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".
Unchanged tool passthroughs (multi-item query_inbox) must not pollute the per-turn subject set, or a later real retarget incorrectly restores turn-start. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d74d56734c
ℹ️ 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".
…ly ping Count subjects from apply-from-null (not passthrough); resolve relatedSessionId to a unique canonical id before write grants; keep itemId on item-only pings. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5479300771
ℹ️ 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".
…ssion ids Treat same-session or same-item resolutions as one referent; match and seed session UUIDs case-insensitively so uppercase client ids resolve. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 488612d20c
ℹ️ 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".
…osed Conflicting itemIds on one session are multi-subject; disposition ignores raw sessionId args; unresolved relatedSessionId clears turn write focus instead of inheriting durable, and never seeds nonexistent UUIDs. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@codex review Retrigger: tip |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Summary
Hub-owned conversational focus is the write binder — not regex.
Removed (debt):
RELAY_INTENT/DISPOSITION_INTENT/ line-local session+item extraction as the converse write gate. That pattern-matching approach is why "tell it to go ahead" failed and is not a capability.Shipped:
sessionId/itemId) persisted per namespace; updated from successful hub tool resolves (explain_priority, single-item inbox, session probes, ping/disposition) and optional clientrelatedSessionIdallowWrites) — natural-language follow-ups need no ids in the utteranceTest plan
bun typecheckbun run test:hub(611 pass):3006(Meta)allowFreshSpawn: falseif wake still fails after focus bindsFollow-up (not blocking)
Inactive-but-resumable relay still uses
executeSessionRelaywithallowFreshSpawn: false.Issues
Fixes #112