Research references and validation entry points
This file retains design sources/applicable versions. Workspace D:/workspace/projs/github/owent/llm-usage. Base references checked 2026-09-24, extended formats2026-09-29, scheduling/native references 2026-10-03; individual rows record later updates. Prototype reviewed statically without running collect.py or verifying runtime behavior. Prefer official bodies/fixed maintainer source/local prototype; search summaries locate references only. Rolling docs do not identify installed versions; source fields alone do not verify complete runtime paths. Current product implementation and native acceptance follows the adapter matrix. Windows 11 x64 first release, three-platform CI. Local real-data extraction authorized; IDEs with unverified local formats remain F1. Local sources only; enterprise APIs/account reports explain exclusions. Hermes means Nous Research’s product.
Static prototype review
previous-draft: entry/storage/registry/seven collectors/ dashboard/index.html inspected; no business dependency declarations/test requirements found.
| Location | Observed behavior | New design |
|---|---|---|
| collect.py | Loads seven collectors, materializes full lists before import, exports day/week/month/today-hour | Bounded batches/backend UI refresh; retain dimensions without making Python the desktop runtime |
| dashboard/index.html | Refresh fetches data.json only; errors/mismatches display SAMPLE | Real collection; retain old results/status on failure without substituting demos |
| store.py/dashboard | input+cache_read total excludes cache_write | Normalize three exclusive inputs per adapter; distinguish unknown/zero denominator |
| store.py | Globally unique request_id/INSERT OR IGNORE; daily no provider | Stable identity namespaces/corrections/provider; rows do not all imply calls |
| collectors/init.py | iter_new_lines state_set precedes parse; truncation by size only | Atomic cursor/context/events/aggregates; detect same-size replacement/rename/generations |
| collect.py/Store | Separate event/aggregate commits; shared connection can later commit failed-source state | Per-source atomic replay; never persist failed-batch cursor |
| kilo_code.py/copilot.py | Sequential copies of running DB/WAL/SHM | Read-only short transactions/consistent backup; consecutive file copies are not consistent snapshots |
| copilot.py | Outside-window condition only pass, traverses all rows; request_id includes DB path/changing values | Separate source identity/revision; deduplicate DB copies; old cursor does not establish effective incrementality |
| codex.py | Regex arbitrary model-bearing nonusage lines; backfills first model if earlier context absent; missing response IDs collide | Structured model context only; unknown ownership stays unknown; verified fallback IDs |
| kimi_code.py/kimi_work.py | New wire candidates but versions from comments; Work fixed machine D-drive path | Official paths still need schema samples; no machine paths as defaults |
| zcode.py | Missing requestId/traceId becomes zcode:None | Handle absent stable IDs without merging every record |
| oh_my_pi.py | assistant usage plus title-generator success logs | Check overlap; compaction/branch/independent usage coverage |
| store.py | Fixed 366days/machine timezone/date cutoff | Configurable explicit included days/fixed timezone; coordinated cleanup/replay/sealed totals |
These describe static paths/failure conditions, rather than reproduced production errors; the prototype is not directly repaired. SHA-256 identifies original research inputs, before later comment-language migration:
| File | SHA-256 |
|---|---|
| previous-draft/store.py | 81a6bb9e3a7f7943b40438ed642823ab3969f073e68164ce7eb26133cdc7d6d4 |
| previous-draft/collect.py | aa8a406329afd21b4e49ba230fe150ffeeaf173247409d9f70992a8e256cf945 |
| previous-draft/collectors/init.py | c4412b8fef0b7220e93c82901414e3833a681c57ed11480311f15d81cb2c0daa |
Technology-selection references
| ID | Verified reference | Facts and limits used |
|---|---|---|
| T01 | Tauri WebView, Windows installer | OS WebViews differ; Windows runtime distribution affects size. Official examples do not measure this app’s package. |
| T02 | SQLite WAL, Online backup | WAL concurrency/read-only conditions/checkpoints/consistent backups; verify WAL-reset fixes by SQLite version. |
| T03 | Electron process model | Chromium process/main-renderer boundaries; do not cite unmeasured memory differences. |
| T04 | DuckDB concurrency | Many small transactions are not DuckDB’s primary goal; this app needs incremental writes/corrections first. |
| T05 | ECharts import | On-demand chart/component/renderer imports; this project’s trimming effect was unmeasured at research time. |
| T06 | Tauri GitHub CI, Prerequisites | Build separately per OS; Linux WebKitGTK/system dependencies and macOS/Windows toolchains differ. Do not copy automatic-publication examples blindly. |
| T07 | GitHub runners | Versioned runner/architecture candidates windows-2022/ubuntu-22.04/macos-15; M0 rechecks availability. Runner builds do not verify target desktops. |
| T08 | Microsoft WSLg | Linux GUI requires WSL2; WSLg is not a complete Linux desktop. Prior environments/builds are recorded; each newer revision needs separate acceptance. |
| T09 | Task Scheduler, Task identity, Missed start times | Bodies rechecked 2026-10-03. COM uses current interactive user/LUA/minute repetition/no wake. Ordinary-user registration/deletion tested; actual OS launch checked separately. |
| T10 | Tauri WebDriver | Current documentation includes embedded cross-platform services; direct tauri-driver retains Windows/Linux/macOS distinctions. Test plugins must not enter releases. |
| T11 | WebView2 debugging, Playwright WebView2 | Docs/source rechecked 2026-10-03. Environment flags provide CDP; external tests connect to real IPC without app-added debug listeners. |
| T12 | libuv Windows spawn | required_vars read2026-10-03 and tested with Node 24.21.0: omitted child USERPROFILE is copied from parent; isolation helpers must prevent that path. |
| T13 | Tauri CLI 2.12.0, Asset code | Docs/locked local source cross-checked 2026-10-03. CLI includes custom-protocol; existing asset caches are reused. A built package does not prove embedded assets decompress/render. |
| T14 | RegGetValueW, Delete value | Docs/windows0.62.2 signatures checked 2026-10-03: value type/length/Unicode, distinguish absent values/access errors; native reads require no reg.exe. |
Official Agent documentation and source index
Shared initial metadata: verified_at=2026-09-24; method official page/fixed source/read-only; installed_version not probed; owner project maintainer; status research, not runtime acceptance. Later dated rows state their own scope. Recheck at implementation stage/upgrades/schema changes/ numerical mismatches; no automatic tool upgrades. Original Cursor A45 remains; later VS discovery uses distinct A49, correcting the former duplicate identifier.
| ID | Official reference / fixed source | Findings and limits |
|---|---|---|
| A01 | Claude directories, Monitoring | Session/sub-Agent transcript paths/token classes/query_source; native Zhipu main-loop calls checked for2.1.197, sample; other interfaces separate. |
| A02 | Codex monitoring | Optional OTel/request-response completion/prompt privacy; prototype token_usage_record lacks cross-version guarantees. |
| A03 | Legacy Cline metrics, Legacy storage, 4.1.22 SDK writer, codec | 2026-10-06 official VSIX/real VS Code GUI-API/three native SDK records: input includes cache, default zero unknown, metrics merge runs/retries as observations; origin.version can change, SDK latest_fallback. Legacy UI documentation-only; CLI/migration/other paths separate; results. |
| A04 | CodeBuddy monitoring, Official directories, aiusage v1.5.8 | Third-party-source integration of CLI ~/.codebuddy/projects JSONL. message.usage.input_tokens includes cache read; prefer rawUsage buckets. Optional OTLP-HTTP protobuf overlaps native files without established deduplication; IDE statsSnapshot fields/local samples unverified. |
| A05 | Copilot CLI reference Copilot CLI OTel checked 2026-09-29: COPILOT_OTEL_FILE_EXPORTER_PATH JSON-lines, default OTLP http/json, nested chat/invoke_agent spans/double-count warning; native assistant_usage_events checked. | OTLP JSON/protobuf/file JSONL/chat spans. Checked native assistant_usage_events; do not promise a stable private SQLite schema. |
| A06 | VS Code monitoring microsoft/vscode extensions/copilot agent_monitoring.md bdc5ebe,2026-09-29: github.copilot.chat.otel., exporterNDJSON rather than OTLP, startTime[seconds,nanoseconds], chat gen_ai.usage.. | chat/invoke_agent represent different levels; optional cache/reasoning/TTFT; only documented Agents covered. |
| A07 | JetBrains API v2, Session explorer | Verifies remote enterprise analytics only, excluded by local-source policy. Local schema remains unverified/F1. |
| A08 | DSH npm rc.2, Legacy token-meter documentation | 2026-10-06 installed locked modules/real v4 JSONL-zstd: settlement/retry/seed/pi-ai input reversal/computed totals/title gap. Old doc1 does not verify rc.2; fields/package hashes in three-source acceptance. |
| A09 | OpenClaw store, token use, npm provenance, Declared-commit schema, CLI-reported commit | 2026-10-06 npm 2026.9.8 provenance declares aa6008ad; CLI reports fc23bc8. Installed normalization lacks declared-commit contextUsage additions: use installed/native rules. Public declarations/hashes checked, signatures not independently verified. Schema 24 TEXT-zstd hot transcripts implemented/native CLI-resume-API positive buckets agree. schema_meta cannot identify historical row versions; cold archives/other protocols-interfaces need real acceptance. |
| A10 | Gemini sessions, telemetry | Local sessions retain tokens; official requests/token categories/latency metrics; concrete mapping requires further checks. |
| A11 | Kilo core schema, Usage-index migration | Checked source tree/core paths; prototype old message table is inapplicable. Full usage-index SQL not audited. |
| A12 | Kimi sessions, Legacy source types | Official new paths read; fixed Python types do not establish prototype camelCase usage.record. Fields remain unverified. |
| A13 | Prototype kimi_work.py | Local clue only, without official newer stable storage rules/real samples. |
| A14 | MiMo 0.1.15, Release getUsage, Independent paths | 2026-10-06 official ELF/real SQLite-WAL, eight part-API calls; SDK default zeros/positive-total reversal, per-session versions/MIMOCODE_HOME/DB. Shared forks/highest DB version do not verify historical rows. |
| A15 | oh-my-pi session | Session paths/entry model/persistence/branches; auxiliary logs require versioned samples. |
| A16 | pi Usage, session manager | Reasoning is an output subset; standalone usage/compaction/branch summaries carry usage. |
| A17 | OpenCode SQL, 1.18.34 processor, Title generation | step-finish parts count observed main-loop calls; session totals reconcile only.2026-10-05 official CLI/local-model input/cache-read/repeat checks pass; title API absent from parts/totals. Container results and later per-record upgrade distinguish historical/current checks. |
| A18 | Qwen recording, telemetry | usageMetadata/model/session paths; cumulative Goal observations cannot be summed directly; disable prompt logging. |
| A19 | Zoo 3.86.0, Release message enumeration, Earlier aggregation reference | 2026-10-06 official VSIX/real extension API/native-UI callbacks/model API: cache-inclusive tokensIn, default-zero unknown, full ask/say enumeration. CLI/condense/deletion separate. |
| A20 | TRAE session API, Enterprise individual usage | Remote enterprise interfaces/reports excluded; do not infer local formats, which remain F1. |
| A21 | ZCode usage, Prototype zcode.py | Official docs distinguish local sessions/remote Coding Plan; model-io schema was initially a prototype clue. Later versioned checks remain in adapter/validation records. |
| A22 | WorkBuddy usage, AgentHUD provider requirements, tokmesh-core parser | Official pages describe points/plans only. Third-party source verifies .workbuddy/projects JSONL; later local eight-file/420-event comparison passed. Trace/session overlap/version scope remain unverified. |
| A23 | Zed telemetry | Hosted accounting differs from local telemetry; server-side token accounting does not establish complete local fields. |
| A24 | Hermes site, Storage documentation, usage, schema, 0.21.5 release, Fixed normalization source | Official 0.21.5 image/real CLI/public resume: uncached 849/cache read 812/output 4. A24/release normalization agree; default zero unknown, reasoning output subset. Whole-DB schema cannot identify row client versions; compatible fallback remains. Gateway/auxiliary/backfill/mixed models/per-call logs not accepted; Hermes record. |
| A25 | tokscale Fixed main 1d9a9395418efc6952944b794097935d7d6fa1e8. | Third-party open-source Rust local-session parsers. Read-only clients/scanner/sessions supply path/field clues; no execution. They do not replace official per-product checks/local test samples; estimation/price-comparison logic excluded. |
| A26 | Goose Migrated block/goose=>aaif-goose/goose; official a701bb1 checked 2026-09-29; native CLI 1.53.0 checked 2026-10-06. | usage_ledger per request since migration 15. Real call320/2/322, cache read 0/write/cost NULL; never add session totals or substitute prefilled cumulative zeros for unknowns. Other versions/GUI separate; M8 samples. |
| A27 | Crush Fixed main 1f3827bcd2d20f38076b2d46123683271e6ed9ba,2026-09-29. | projects.json {projects:[{path,data_dir,last_accessed}]} via CRUSH_GLOBAL_DATA/XDG/LOCALAPPDATA; per-project <data_dir>/crush.db. sessions.prompt/completion snapshot latest-step context, reset after compaction, not usage. Cumulative cost rolls children into parents: root parent_session_id IS NULL only. No message token columns. |
| A28 | Amp site Closed-source CLI; tokscale 1d9a939 sessions/amp.rs,2026-09-29. | ~/.local/share/amp/threads/T-*.json: messages[].usage model/inputTokens/outputTokens/cacheRead/cacheCreation/credits and usageLedger.events timestamp/model/credits/tokens. Compare both to avoid double-counting. |
| A29 | Official Roo 3.54.0 release, Fixed commit, Archive announcement 2026-10-06 VSIX hash/real extension-host-API; earlier structure b867ec9. | globalStorage/tasks/ui_messages.json: four Task buckets initialize zero; OpenAI omits nested cache details; missing price cost defaults zero, all unknown. Cancellation three API calls/two native records separate from one-call request-limit comparison. Public API needs no acceptance-injected key; old-summary/package checks. Does not verify CLI/other versions/forks. |
| A30 | Aider Fixed main 5dc9490bb35f9729ef2c95d00a19ccd30c26339c,2026-09-29; native 0.86.2,2026-10-06. | Opt-in local –analytics-log. Real ask message_send 95/3/98, locally estimated cost/cache-reasoning unknown. No default historical backfill; other cases separate; M8. |
| A31 | Continue Official 5522c6f44ca0ac3528b37b44818fbfa39b5af470,2026-09-29; native CLI 1.5.47,2026-10-06. | Isolated CONTINUE_GLOBAL_DIR sessions usage accumulates by session; real input/output 1,471/2. Prefilled cache zero does not establish API-reported zero. Unknown calls/model/interval start do not invent day attribution; hub account data excluded; M8. |
| A32 | Droid Factory.ai CLI. | ~/.factory/sessions/{uuid}.settings.json cumulative tokenUsage input/output/cacheRead/cacheCreation/thinking plus same-name JSONL transcripts; no cost. Cumulative allocation is interval estimation only. |
| A33 | Amazon Q Developer CLI Official 15cc8f3,2026-09-29. | Third-party timestamped JSON history path ~/.aws/amazonq/history/. Open source permits inspection; history usage fields unverified, SSO relogin may lose history. |
| A34 | News report Grok Build,xAI closed-source CLI; news supports product/version. | ~/.grok/sessions/<workspace>/<session>/{updates.jsonl,signals.json,summary.json,events.jsonl} and ~/.grok/logs/unified.jsonl. Explicit five-bucket usage usable; cumulative totalTokens increments/compaction-difference compensation are inference and excluded. |
| A35 | Google Antigravity | ~/.gemini/antigravity[-cli]/conversations/<uuid>.db gen_metadata protobuf turn usage: fixed-plus-new input/cacheRead/output/thinking/responseId. Reverse-engineered layout; timestamp changed1.1.18. IDE usage via language server needs separate checks. |
| A36 | Junie custom models, Official release 3419.29 Actual 26.9.22,distribution hash/bytecode/seven calls checked 2026-10-06; earlier tokscale 1d9a939. | JUNIE_HOME/sessions or .junie modelUsage.inputTokens is uncached input; default missing-field zeros unknown. Positive cost client Estimated; zero cost/duration unknown. Missing API/provider/product version cannot derive complete input-total usage; written calls count despite failed tasks. Old-summary/cursor/transaction/package results; IDE remainsF1. |
| A37 | Kiro AWS;tokscale reference1d9a939 sessions/kiro.rs,2026-09-29. | Three formats: CLI ~/.kiro/sessions/cli/*.json(+jsonl), kiro-cli ~/.local/share/kiro-cli/data.sqlite3 conversations_v2, IDE globalStorage kiro.kiroagent .chat/execution/promptLogs. Auto agent often0; inferred usage excluded. Metering credits remain separate. |
| A38 | Zed thread storage Official bd74733/local read-only schema,2026-09-29. | Historical bd74733 paths ~/.local/share/zed, ~/Library/Application Support/Zed, %LOCALAPPDATA%/Zed; threads/threads.db data JSON-zstd with request_token_usage input/output/cache_read/cache_creation and cumulative. Then checked hosted-only/imported exclusion; later Zed 1.22.0/DbThread 0.3.0 specified external provider is separately verified, native results. Do not treat old hosted-only scope as current universal behavior. |
| A39 | Codebuff Former Manicode; official caec5fc,2026-09-29. | ~/.config/manicode*/projects/*/chats/<chatId>/chat-messages.json, CODEBUFF_DATA_DIR override; usage fields require samples. |
| A40 | Command Code, Repository Repository lacks product source; npm [email protected] dist/cli.mjs read line-by-line,2026-09-29. | ~/.commandcode/projects/<slug>/*.jsonl v3 tree session/message/model_change; assistant inputTokens/outputTokens/cacheRead/cacheWrite/costUsd. Exclude rewind orphan branches; deduplicate fork copies by ID/time. |
| A41 | jcode Official 1jehuang/jcode 4f6bf8e,2026-09-29; native 0.91.0,2026-10-06. | Snapshots/journal token_usage input/output/optional cache, no independent reasoning/cost. Real custom endpoint460/2 matches API-CLI-snapshot; unknown components remain unknown. Environment snapshot versions do not identify every message; M8. |
| A42 | gajae-code Official 7e54f9c,2026-09-29; native 0.18.7,2026-10-06. | Real sessionv5 API-CLI-native 412/2/414. Fixed source distinguishes configuration chains from usage, OpenAI-completions zero fallback/message initialization timestamps. Cache/uncached unknown; time request start. Other API/version scope separate; M8. |
| A43 | Fixed Xum commit, Official CLI, provider Official npm 0.30.0/integrity/fixed commit/two calls checked 2026-10-06; former coder/mux. | sessionUsageService v1 cumulative byModel; displayUsage uncached input/output excluding reasoning/default zeros. Native XUM_ROOT/MUX_ROOT/RUN_SESSION_ROOT retention paths. Default custom streaming provider omits usage requests; retain real five-zero and usage-only gateway comparisons separately. Parser/complete-old-summary/package results. |
| A44 | Warp | Only local account/workspace usage caches requestsUsed/spendCents/syncedAt found, without token details; quota data excluded from token statistics. |
| A45 | Cursor CLI documentation, CursorDump transcript analysis | CLI ~/.cursor/projects/<slug>/agent-transcripts/<uuid>/*.jsonl has conversations without per-call token/model fields. Per-call usage only remote dashboard get-filtered-usage-events, excluded; IDE state.vscdb unverified. |
| A46 | iFlow CLI Alibaba iFlow,closed-source; official 4642808/discontinued2026-04-17,checked 2026-09-29. | Official ~/.iflow settings.json/tmp/<project_hash>; /chat save JSON. OTel api_response five buckets resemble Gemini; actual chats paths/usageMetadata need local samples. Service discontinued2026-04-17; no implementation. |
| A47 | Qoder Alibaba/former Tongyi Lingma,brand change 2026-05; docs.qoder.com/npm @qoder-ai/qodercli1.1.64 unpacked2026-09-29. | CLI device flow ~/.qoder/; Electron IDE %APPDATA%/com.qoder.app.stable*. CLI session/usage fields unverified; local checks required. |
| A48 | AtomCode Official e4215f733eeba4cede553e28f9b559e6b3dc34ef/45e05cb14775f070f3867539e1f21c9849b3484b;npm 5.2.1,2026-10-06. | Real .meta v1/CLI-API one turn input 6,176/output 2. Model turn_stats accumulates separately from round_count; never add last total_tokens. Default zero unknown; exclude completely matched UIv1/rewindv2 only. Binary buildID unknown; sampled version cannot identify other sessions; M8. |
| A49 | Visual Studio discovery API, vswhere, SKU inheritance, Copilot installation Official bodies/local Setup-PE/official VS 2022 VSIX checked 2026-10-07. | No Community/year directory guessing. VS 18 writer uses Path.GetTempPath; check TMP/TEMP. Inspected 17.14.1713.63837 has no such JSONL exporter; other versions retain limits. Catalog integrity/per-package/two-version results. |
Fixed commits rechecked via public GitHub commits API; files read from raw.githubusercontent.com, no upstream code execution. Rolling pages were not matched to local releases; integrations need version inventories/samples. CodeBuddy browser fetch 502 was followed by read-only PowerShell official HTML-body checks, also used for WorkBuddy/ZCode; failed pages supplied no facts. Hermes fixed commit came from commits API with targeted storage/schema/usage reads. Later agent/usage_pricing.py fetch 429 stopped that read; outer PowerShell exit 0 did not count as file retrieval. Field names did not establish cache containment; M3 version samples checked it later.
M8 format references checked 2026-09-29
Per-product format research follows extended coverage. A25–A48 identify original references; full field descriptions live in adapter headers/M8 results.
- Official fixed source: archived Roo b867ec9, Goose a701bb1,Crush 1f3827b,jcode 4f6bf8e,gajae 7e54f9c, Continue 5522c6f,AtomCode e4215f7,Zed bd74733,Aider 5dc9490,Amazon Q15cc8f3,Codebuff caec5fc,iFlow 4642808.
- Official distributions: Command Code npm 1.69.0 dist/cli.mjs without repository product source; Qoder1.1.64 obfuscated bundle verifies paths only.
- Closed-source third-party parser references: tokscale 1d9a939 Amp/Grok/Junie/Kiro/Droid/Xum/ Antigravity read line-by-line.
- Key findings: Goose usage_ledger absent from tokscale; Crush context snapshots not usage; no verified local per-call token records for Amazon Q/Codebuff, excluded; iFlow discontinued 2026-04-17. Roo/legacy Cline UI tokensIn definitions differ; each uses its own fixed source, with later native checks recorded separately.
Research limits
Remote billing/organization APIs excluded; real local formats need per-version checks without inventing absent samples. JetBrains AI Assistant/TRAE and other unverified IDEs remain F1; Zed/Junie CLI belong to M8. Packages/performance/platform/native results stay separate from targets.
Extended source types and verification scope
A25–A48 identify extensions; matrix/M8 execution maintain capabilities/stages.
- Read-only third-party tokscale, fixed main 1d9a9395418efc6952944b794097935d7d6fa1e8, clients.rs/scanner.rs/sessions gives paths/fields/ lifecycle clues. Estimation/price comparison/aggregation rules are not adopted.
- Product identities checked individually against official sites/repos/multiple reports: block/goose=>aaif-goose/goose,coder/mux=>coder/xum,Qoder brand change 2026-05,Grok Build xAI CLI reported in news; Command Code/jcode/gajae/Codebuff/AtomCode have official sites/releases.
- Amp/Grok Build/Junie CLI/Kiro/Droid/Xum/iFlow/Qoder/Antigravity protobuf references include third-party/reverse-engineered formats. Matrix records product-version capability/native acceptance; synthetic regressions do not verify actual local output.
- Exclude Cursor remote get-filtered-usage-events/TRAE tokscale remote usage API/Warp account requests-spend caches from token statistics under local-source policy.
- Added Zed A38 supplements telemetry A23 with threads.db local usage; Junie CLI supplements JetBrains A07 with local events.jsonl. Both registered in M8; JetBrains AI Assistant IDE/TRAE remain F1. Later Zed external-provider acceptance is limited to the separately verified format.
- F1 unverified IDE families, no probes/implementation: Cursor IDE,Windsurf IDE-CLI,JD JoyCode, Zhipu CodeGeeX,Baidu Comate,Huawei InsCode/CodeArts Snap. Keep product identity/unverified local-format status instead of unsupported claims.
These references authorize no signed-in backends/billing APIs/organization access. Current requirements govern implementation/validation.
Current validation entry points
Design/plans maintain current requirements; actual commands/versions/environments/results/ remaining gaps are in current acceptance. Specific formats: validation directory; Git retains older process history. Document checks cannot replace product/real-source/native-platform acceptance.