Repository navigation
fix(parser): keep Codex exec automated and tag roborev - #1855
Conversation
Roborev now starts many Codex workers by pointing them at a prompt file instead of an inline reviewer prompt. Those first messages miss the built-in automation prefixes, so `codex exec` sessions were stored as ordinary conversations and filled the session list. `originator=codex_exec` already identifies a non-interactive invocation. Persist it as session_kind non-interactive so the same metadata path Grok uses marks these sessions automated, including when they have more than one user turn. Existing Codex-format rows reparse at data version 112. Native spawn_agent children still use source.subagent and parent_thread_id.
roborev: Combined Review (
|
Roborev will pass --thread-source roborev on Codex exec. Persist that tag as session_kind=roborev and classify those sessions as automated. Do not treat every originator=codex_exec session as automated. That would include human one-shots.
roborev: Combined Review (
|
codex exec is non-interactive work. Restore originator=codex_exec as session_kind=non-interactive so those sessions stay automated. When thread_source is roborev, store session_kind=roborev instead so roborev reviews are identifiable as code review on top of that.
roborev: Combined Review (
|
Codex review sessions currently store `thread_source=user`, so they look like human `codex exec` one-shots. This passes `--thread-source roborev` on `codex exec`. That value is written into `session_meta.payload.thread_source`. Older Codex CLIs that reject the flag keep the previous invocation. Droid reviews also get `--tag roborev` for Factory session logs. AgentsView does not parse Droid yet. Companion AgentsView change: kenn-io/agentsview#1855 ## Evidence - **Before:** `codex-proxy exec` without the flag stored `thread_source=user`. - **After:** `codex-proxy exec --thread-source roborev` stored `thread_source=roborev`. Unit tests cover arg construction and the capability probe. ``` go test ./internal/agent -run 'TestCodex|TestDroid' ``` ## Merge danger **Door:** two-way. Revert drops the flags. **Blast radius:** Codex 0.153+ review sessions get a new `thread_source`. Do not use `--thread-source subagent`; that is Codex lineage, not a roborev tag.
Main adopted the shared Go lint policy on the same Codex exec tests. Keep the session_kind assertions that mark exec as non-interactive, and use assert.Len so the lint policy still holds. Classification is unchanged: originator=codex_exec is automated, and thread_source=roborev stays the more specific roborev kind.
roborev: Combined Review (
|
Windows CI failed this test with WSAEADDRINUSE after FindAvailablePort probed and closed the chosen port. The rewrite check does not need a second listen on that port.
roborev: Combined Review (
|
…tive (#2158) Activity's Interactive peak now matches the conversations you were having: `claude -p`, `codex exec`, and Grok workers that another agent launched count as Subagents. With 27 synthetic sessions active at once, the Interactive peak drops from 24 to 9. Known subagents keep that category even when scripted or their parent disappears. Audits preserve stored automation flags in usage-only archives. Automation requires script evidence, a roborev tag or an `[automated]` prompt match, changing #1855. Workers show as sidebar roots until #2115 links parents. Audits repair stored non-interactive workers and later imports. Readable sources reparse once; deleted Claude transcripts can prevent historical repair. | | Light | Dark | | --- | --- | --- | | Before |  |  | | After |  |  | Closes #2154 Co-authored-by: Rod Boev <[email protected]>
Every
codex execsession is automated.originator=codex_execis stored assession_kind=non-interactive.Roborev reviews are a more specific kind of that work. When
thread_source=roborev(fromcodex exec --thread-source roborev), thesession is stored as
session_kind=roborevso they are identifiable as codereview while remaining automated.
Interactive TUI and desktop sessions stay interactive. Native
spawn_agentchildren still use
source.subagentplusparent_thread_id.Companion roborev change: kenn-io/roborev#1205
Evidence
interactive.
thread_source=roborevwas ignored.originator=codex_execis automated.thread_source=roborevis automated and kind
roborev.Existing Codex-format rows reparse at data version 112.
Merge danger
Door: two-way. Revert restores prompt-only classification for exec
sessions that do not match a built-in prefix.
Blast radius: every Codex exec session becomes automated, including
one-shot
codex execthat is not roborev. Roborev-tagged sessions keepthe more specific kind.