feat(overseer): non-Cursor session-summary contract + debug relative dates - #88
feat(overseer): non-Cursor session-summary contract + debug relative dates#88heavygee wants to merge 11 commits into
Conversation
Claude/Codex/Grok/OpenCode now get the same AGENT_NOTIFY_SUMMARY instruction via systemPrompt / developer_instructions / one-shot first-turn injects (not user-turn prepend). Opt-out: HAPI_SESSION_SUMMARY_CONTRACT=0. Also fix debug events/inbox timestamps to use standard relative "x ago" with absolute datetime tooltips, and document opt-in better-fallback options (raw OpenAI-compatible API vs oneshot agent) for a later piece. Co-authored-by: Cursor <cursoragent@cursor.com>
Correct better-fallback design: no input-char caps when LLM path runs (full turn content for accuracy); rarity gate (<5% miss) is the cost control. Link fork issue #89 for remaining kimi/pi/generic-ACP emission coverage. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Tracking: remaining flavor coverage (kimi / pi / generic ACP) is fork issue #89 — needed for next overseer phase full-fleet primary emission. Design doc: Soup ask (meta): please place |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: deafc1daf7
ℹ️ 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".
Soup rematerialize L14 conflicted because this tip dropped upstream skill-lookup on grok/opencode while adding session-summary wrap. Preserve both so next rebuild merges clean without ad-hoc union. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Soup tip hygiene: pushed |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 62a556f87e
ℹ️ 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".
Co-authored-by: Cursor <cursoragent@cursor.com>
|
Better LLM fallback tracking: #90 (peer |
Leave AGENT_NOTIFY_SUMMARY visible via Settings → About when verifying emission (default still strips). Defer hub-synthesized Session Log fallback until thinking clears so ACP mid-turn text flushes stop flooding the log. 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: d8848ff315
ℹ️ 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".
Session Log should not invent progress crumbs from ACP mid-turn text flushes. Keep AGENT_NOTIFY_SUMMARY (and rare session-end completed); leave tool timelines to session-flow experiments. Co-authored-by: Cursor <cursoragent@cursor.com>
CI failed on missing skillLookupInstruction. Generic flavor prompts no longer emit <project>/<agent-id> placeholders; hub ignores those tokens. Local Claude/ Codex CLIs and Grok/OpenCode user prepends stay human-facing (tiann#1095/tiann#1096). 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: 53a6dae301
ℹ️ 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".
deriveSessionProject splits on backslash so Windows paths don't poison project filters. Nested CodexAgent / tool-child text now honors the show-contract toggle. Grok/OpenCode keep the one-line skill-lookup prepend (only channel; notify contract stays off). Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
💡 Codex Review
hapi/web/src/components/settings/EventsDebugControls.tsx
Lines 43 to 47 in c1eb0d7
On upgraded hubs with many historical stale rows among the latest 80 events, fetchSystemEvents({ limit: 80 }) applies the database limit before this client-side filter. Non-stale events beyond that page are therefore omitted, and the debug feed can misleadingly report few or no events even though relevant rows exist. Exclude stale rows in the server query or continue pagination until the requested number of visible rows is collected.
ℹ️ 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".
useExternalMessageConverter WeakMap-keys wrappers, so flipping the About debug toggle must allocate new wrappers. Plan no longer claims Piece 2 synth or Grok/OpenCode first-turn notify coverage. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Re the review-body P2 on EventsDebugControls (filter stale before limit): not changing this. Hub no longer writes |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 341e6d8eea
ℹ️ 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".
Models copy "none" or the example "<=12 words" into action; hub treated any nonempty done-action as operator work. Prompt now says omit action when nothing remains, and deriveAttentionCandidate drops those sentinels. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ad1ee1c80c
ℹ️ 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".
blocked/needs_* still need attention, but "none" / "<=12 words" must not land as inbox next-step text. Subscribe once in TraceChildList instead of per-row window listeners. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@codex review |
|
Codex Review: Didn't find any major issues. Bravo. 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". |
Summary
Stacked on #87. Closes the remaining emission gap for Claude / Codex / Grok / OpenCode (Cursor already covered by the
.mdcoverlay in #86).sessionSummaryInstructionappended via each flavor's systemPrompt / developer_instructions / one-shot first-turn inject (Grok/OpenCode remote already useinstructionsSent- not every user turn).HAPI_SESSION_SUMMARY_CONTRACT=0(default on for HAPI-managed sessions).formatRelativeTime, absolute datetime intitletooltip (matches Session Log).Fork-only. No user-turn prepend (tiann#1095/tiann#1096).
Test plan
bun typecheckcleansessionSummaryInstruction.test.ts+ related codex/grok tests greenhapi-restart-hub+ soup layer after feat(overseer): emit AGENT_NOTIFY_SUMMARY from Cursor (Half B, piece 1) #86/feat(overseer): deterministic per-turn fallback when no summary line (Half B, piece 2) #87Made with Cursor
Related