@@ -75,9 +75,9 @@ Grok section and remove the explicit registry exception in the coverage test.
7575 ` attachment.type=queued_command ` are written mid-stream, in file order
7676 between consecutive ` assistant ` records that share one ` message.id ` , so a
7777 queued command can fall inside a streaming run that straddles an incremental
78- sync boundary. Reverified 2026-07-23 against the transcript shape reported in
79- [ #1238 ] ( https://github.com/kenn-io/agentsview/issues/1238 ) : Claude Code for
80- VS Code writes standalone ` user ` records wrapped in ` ide_opened_file ` or
78+ sync boundary. Reverified 2026-07-23 against the transcript shape reported
79+ in [ #1238 ] ( https://github.com/kenn-io/agentsview/issues/1238 ) : Claude Code
80+ for VS Code writes standalone ` user ` records wrapped in ` ide_opened_file ` or
8181 ` ide_selection ` tags for editor context rather than operator prompts.
8282
8383## OpenClaude (` openclaude ` )
@@ -228,11 +228,11 @@ Grok section and remove the explicit registry exception in the coverage test.
228228 from those tokens rather than consuming a persisted USD total.
229229- ** Working directory:** SQLite sessions store a per-session ` directory ` and a
230230 ` project_id ` . The synthetic ` global ` project uses ` worktree=/ ` . Agentsview
231- prefers a concrete ` session.directory ` over ` project.worktree ` when resolving
232- cwd/project (verified against live ` opencode.db ` rows under ` project_id=global `
233- on 2026-07-23; see #1236 ).
234- - ** Invalid tool calls:** Model calls to unknown or malformed tools are
235- recorded as a synthetic ` invalid ` tool part whose ` execute ` succeeds
231+ prefers a concrete ` session.directory ` over ` project.worktree ` when
232+ resolving cwd/project (verified against live ` opencode.db ` rows under
233+ ` project_id=global ` on 2026-07-23; see #1236 ).
234+ - ** Invalid tool calls:** Model calls to unknown or malformed tools are recorded
235+ as a synthetic ` invalid ` tool part whose ` execute ` succeeds
236236 (` packages/opencode/src/tool/invalid.ts ` , registered in
237237 ` packages/opencode/src/tool/registry.ts ` at the pinned commit), so
238238 ` state.status ` is ` completed ` with the error text in the output. Agentsview
@@ -247,10 +247,10 @@ Grok section and remove the explicit registry exception in the coverage test.
247247 failure signal. The tool's own output text carries no ` exit status N `
248248 marker, and the shell is ` COMSPEC ` /` cmd.exe ` on Windows, so text-pattern
249249 matching alone misses these failures on every platform. Agentsview treats a
250- non-zero ` state.metadata.exit ` on a ` bash ` tool part as a failure and attaches
251- an errored result event. Only ` bash ` parts record ` exit ` ; other tools omit the
252- key. Verified 2026-07-24 against a live ` opencode.db ` where all 24 bash
253- parts with ` exit ` in ` {1, 127, 128} ` had output text without an
250+ non-zero ` state.metadata.exit ` on a ` bash ` tool part as a failure and
251+ attaches an errored result event. Only ` bash ` parts record ` exit ` ; other
252+ tools omit the key. Verified 2026-07-24 against a live ` opencode.db ` where
253+ all 24 bash parts with ` exit ` in ` {1, 127, 128} ` had output text without an
254254 ` exit status ` marker, and the 81 successful parts recorded ` exit=0 ` . Known
255255 gaps: a command that legitimately exits non-zero (` grep ` with no match)
256256 counts as a failure, matching the existing ` exit status N ` heuristic, and a
@@ -294,8 +294,8 @@ Grok section and remove the explicit registry exception in the coverage test.
294294 OpenCode-based rebuild (public beta 2026-03-10, GA 2026-04-02); new sessions
295295 stopped appearing around 2026-03-21.
296296- ** Usage and cost:** ` ui_messages.json ` carries per-request ` api_req_started `
297- metadata with input, output, cache-read, and cache-write tokens, explicit USD
298- cost, and ` usageMissing ` flag. ` task_metadata.json ` does not carry the
297+ metadata with input, output, cache-read, and cache-write tokens, explicit
298+ USD cost, and ` usageMissing ` flag. ` task_metadata.json ` does not carry the
299299 RooCode-style ID/token/cost wiring; token and cost totals are derived from
300300 the transcript itself.
301301- ** Agentsview:** ` internal/parser/kilo_legacy.go ` and
@@ -1124,20 +1124,20 @@ Grok section and remove the explicit registry exception in the coverage test.
11241124- ** Upstream:** The public
11251125 [ pool release repository] ( https://github.com/poolsideai/pool ) (README,
11261126 changelog, and third-party notices only; no source code) and the
1127- [ Poolside Agent CLI documentation] ( https://docs.poolside.ai/cli/pool )
1128- were checked 2026-07-23. Upstream confirms sessions are saved
1129- automatically and that per-session trajectory files exist (` pool config `
1130- prints the trajectory directory; ` pool history trajectories ` browses
1131- them), but publishes neither the on-disk paths nor the NDJSON event
1132- schema. The event format was characterized from real trajectory files.
1127+ [ Poolside Agent CLI documentation] ( https://docs.poolside.ai/cli/pool ) were
1128+ checked 2026-07-23. Upstream confirms sessions are saved automatically and
1129+ that per-session trajectory files exist (` pool config ` prints the trajectory
1130+ directory; ` pool history trajectories ` browses them), but publishes neither
1131+ the on-disk paths nor the NDJSON event schema. The event format was
1132+ characterized from real trajectory files.
11331133- ** Usage and cost:** Per-inference token counts (` input_tokens ` ,
1134- ` output_tokens ` , ` cache_read_input_tokens ` , ` cache_write_input_tokens ` )
1135- are persisted in ` tool_call.inference.end ` events. The model is recorded
1136- in ` tool_call.inference.start ` and paired by ` step_id ` . No authoritative
1137- USD cost is persisted; Agentsview computes cost from its pricing catalog.
1134+ ` output_tokens ` , ` cache_read_input_tokens ` , ` cache_write_input_tokens ` ) are
1135+ persisted in ` tool_call.inference.end ` events. The model is recorded in
1136+ ` tool_call.inference.start ` and paired by ` step_id ` . No authoritative USD
1137+ cost is persisted; Agentsview computes cost from its pricing catalog.
11381138- ** Agentsview:** ` internal/parser/poolside.go ` and
1139- ` internal/parser/poolside_provider.go ` ; single-file provider with
1140- NDJSON line-by-line parsing.
1139+ ` internal/parser/poolside_provider.go ` ; single-file provider with NDJSON
1140+ line-by-line parsing.
11411141
11421142## Reasonix (` reasonix ` )
11431143
@@ -1155,3 +1155,53 @@ Grok section and remove the explicit registry exception in the coverage test.
11551155- ** Agentsview:** ` internal/parser/reasonix.go ` and
11561156 ` internal/parser/reasonix_provider.go ` ; discovery spans multiple roots and
11571157 uses metadata sidecars for identity.
1158+
1159+ ## Omnigent (` omnigent ` )
1160+
1161+ - ** Format:** A shared SQLite ` chat.db ` containing conversations and ordered
1162+ conversation items, with session metadata and usage stored alongside each
1163+ conversation.
1164+ - ** Evidence:** ` source ` .
1165+ - ** Upstream:** The first-party
1166+ [ database documentation] ( https://omnigent.ai/docs/deploy/database )
1167+ identifies SQLite ` chat.db ` as the local persistence store and was checked
1168+ 2026-07-27. Clone ` https://github.com/omnigent-ai/omnigent.git ` at
1169+ ` 61fd72350ea4c4aba776fbc01c40774079d352e8 ` . The pinned
1170+ [ conversation schema] ( https://github.com/omnigent-ai/omnigent/blob/61fd72350ea4c4aba776fbc01c40774079d352e8/omnigent/db/db_models.py ) ,
1171+ and
1172+ [ store decoding] ( https://github.com/omnigent-ai/omnigent/blob/61fd72350ea4c4aba776fbc01c40774079d352e8/omnigent/stores/conversation_store/sqlalchemy_store.py )
1173+ describe persistence. The current schema indexes conversation changes by
1174+ ` (workspace_id, archived, updated_at, id) ` rather than a bare ` updated_at `
1175+ index. ` session_usage ` lives on ` omnigent_conversation_metadata ` , and both
1176+ ` set_session_usage ` and ` increment_session_usage ` update that metadata row
1177+ without changing ` conversations.updated_at ` . The metadata table has runner
1178+ and project lookup indexes but no modification timestamp or change index.
1179+ Consequently, the immediate filesystem-event sync can defer a metadata-only
1180+ edit. The next scheduled reconciliation pass, an explicit resync, or an
1181+ archive audit reparses the whole changed container and is not limited to a
1182+ bounded candidate set, so it picks up the edit regardless of how long ago it
1183+ was made. The pinned
1184+ [ message entity] ( https://github.com/omnigent-ai/omnigent/blob/61fd72350ea4c4aba776fbc01c40774079d352e8/omnigent/entities/conversation.py )
1185+ and
1186+ [ deterministic benchmark seeder] ( https://github.com/omnigent-ai/omnigent/blob/61fd72350ea4c4aba776fbc01c40774079d352e8/dev/benchmarks/omnigent/seed.py )
1187+ were inspected. The seeder runs the Alembic lineage to head before
1188+ inserting model-backed rows. Agentsview supports two schema generations
1189+ observed at that lineage head: the split text-ID generation (session
1190+ metadata in ` omnigent_conversation_metadata ` , model overrides in a separate
1191+ ` agent_configuration ` table) and the current split binary-UUID generation
1192+ (16-byte ` BLOB ` ids, ` session_overrides ` JSON on ` conversations ` ). The
1193+ earlier single-table generation, where session metadata columns (including
1194+ ` kind ` ) lived directly on ` conversations ` with no separate metadata table,
1195+ predates that split and is detected-unsupported: Agentsview fails closed
1196+ with a nonfatal ` ErrOmnigentUnsupportedSchema ` , skips the container, and
1197+ preserves any archive rows already synced from it.
1198+ - ** Regeneration:** From that checkout, run
1199+ ` uv run dev/benchmarks/omnigent/seed.py --database-uri sqlite:////absolute/temp/path/chat.db --sessions 3 --items-per-session 4 --projects 1 --filed-fraction 1 ` ,
1200+ then set ` OMNIGENT_SOURCE_DB ` to the generated file for the opt-in parser
1201+ test. Never use a live Omnigent data directory.
1202+ - ** Usage and cost:** Session usage can contain input and output tokens,
1203+ per-model breakdowns, and an optional authoritative USD total. An absent
1204+ cost remains unset so Agentsview can use catalog pricing.
1205+ - ** Agentsview:** ` internal/parser/omnigent.go ` and
1206+ ` internal/parser/omnigent_provider.go ` ; fixtures under
1207+ ` internal/parser/testdata/omnigent/ ` provide observed event-shape evidence.
0 commit comments