codeburn/tests
iamtoruk b6481c1933 fix(copilot): let a parse-version bump re-derive the durable calls it re-reads
@vidoluco's round-6 re-validation: a cache generated by 0.9.20, copied and then
migrated by this branch, dropped exactly ONE call a virgin cache serves -
mai-code-1-flash-picker, 324 input / 91,136 cache read / $0.01, two minutes
after the labelled compaction row in its session. Every other day matched.

Root cause is the durable union merge, not the reconciliation. `compactedAt` is
a capture-only field this branch adds to the shutdown-ROLLUP call, and 0.9.20
already cached that call under the same (deliberately stable) dedup key. The
union appended only UNSEEN keys, so the bump could never reach it. The migrated
cache then ran the compaction-anchored residual math with no anchor - the
pre-anchor behaviour exactly: the interval opens at -Infinity, the
PRE-compaction rows are subtracted from a rollup that never counted them, and
the residual clamps to zero and disappears.

The union now REPLACES a cached call with the freshly-derived one wherever the
key matches. Nothing is deleted: keys the re-read did not produce are exactly
the rows the source has pruned, and those still carry forward untouched with
the old parser's fields. Keys it did produce were just derived from the live
source in this very pass, so the fresh call is by construction the better one.

This is also what makes the round-5 compaction-output fix reach an existing
cache - that row's key is stable too, so append-only would have pinned it at
output 0 forever. Both directions are pinned by (c6).
2026-08-22 03:30:53 -07:00
..
fixtures fix(dsh): correct usage attribution against the real session format 2026-08-17 10:59:52 -07:00
providers Merge origin/main, and act on vidoluco's real-Copilot findings 2026-08-21 02:14:14 -07:00
security fix: fix and improve test isolation and collision with environment (#530) 2026-06-20 13:42:10 +02:00
setup test: skip the live Frankfurter fetch so FX moves can't shift assertions 2026-08-21 02:23:41 -07:00
sharing fix(sharing): answer malformed request URLs instead of crashing the server 2026-08-04 05:56:18 +03:00
act-journal.test.ts fix(guard): dedupe streaming message copies in the incremental cost fold 2026-07-03 12:32:46 +02:00
act-model-defaults.test.ts fix(optimize): isolate sidechains from behavior 2026-08-14 02:51:54 +05:30
act-report.test.ts merge: main into connector guidance branch 2026-08-18 08:17:25 -07:00
act-undo.test.ts fix(act): support directory moves for archive actions 2026-07-03 10:14:48 +02:00
antigravity-statusline.test.ts fix: fix and improve test isolation and collision with environment (#530) 2026-06-20 13:42:10 +02:00
audit-report.test.ts feat(copilot): read per-request input/cache from session-store.db 2026-08-17 17:52:01 -04:00
bash-commands.test.ts perf(classifier): linear bash separator split 2026-08-16 18:31:41 -07:00
blob-to-text.test.ts Merge main into feat/multi-provider-plans, remove dead tautology 2026-05-16 10:42:03 -07:00
budget.test.ts feat(budget): spend budgets with overview display and scriptable --check (#562) 2026-07-16 11:10:16 -07:00
cache-dir.test.ts perf(desktop): share cache state and eliminate duplicate cold hydration 2026-08-12 17:16:41 +03:00
cache-directory-switch.test.ts perf(codex): resume an appended rollout from its last task boundary 2026-08-16 19:03:12 -07:00
cache-persistence-coldstart.test.ts perf(cache): shard the session cache per provider 2026-08-16 19:03:12 -07:00
cache-refresh-lock-corrupt-body.test.ts fix(cache): recover a corrupt session-refresh lock instead of freezing ingestion 2026-07-30 13:06:25 +05:30
cache-refresh-lock-process.test.ts fix(cache): recover a corrupt session-refresh lock instead of freezing ingestion 2026-07-30 13:06:25 +05:30
cache-refresh-lock.test.ts perf(cache): shard the session cache per provider 2026-08-16 19:03:12 -07:00
classifier.test.ts fix(insights): count read-shaped shell commands as reads, not as verification (#941) 2026-08-10 06:07:27 -07:00
cli-budget.test.ts feat(budget): spend budgets with overview display and scriptable --check (#562) 2026-07-16 11:10:16 -07:00
cli-codex-tps.test.ts feat(codex): add tool-excluded active throughput metrics 2026-07-24 22:53:43 -04:00
cli-date.test.ts feat(cli): add lifetime period for CLI and dashboard (#753) 2026-07-20 05:24:33 -07:00
cli-deepseek-v4-pricing.test.ts fix: DeepSeek v4 Claude pricing through stale runtime cache (#367) 2026-05-21 00:34:53 -07:00
cli-devin-model-variants.test.ts fix(devin): report friendly GPT model names with effort tier (#585) 2026-07-01 16:01:49 +02:00
cli-durable-totals.test.ts test: fix three pre-existing suite failures (aged date, future today fixture, load starvation) 2026-08-04 11:37:40 +02:00
cli-emitters.test.ts test: file-level 30s timeout for the three spawn-heavy CLI suites 2026-08-11 00:55:07 -07:00
cli-export-date-range.test.ts feat(export): support custom date ranges 2026-05-05 23:18:48 -07:00
cli-json-daily.test.ts test: file-level 30s timeout for the three spawn-heavy CLI suites 2026-08-11 00:55:07 -07:00
cli-model-savings.test.ts feat(cli): track local-model cost savings against a paid baseline (#421) 2026-06-01 11:06:39 +03:00
cli-models-unpriced.test.ts fix(models): honest unpriced guidance, shared ID sanitizing, readable narrow warning 2026-08-18 09:58:25 -07:00
cli-plan.test.ts Merge main into feat/multi-provider-plans, remove dead tautology 2026-05-16 10:42:03 -07:00
cli-price-override.test.ts feat(pricing): add user price overrides for models (#390) (#560) 2026-06-28 19:07:29 +02:00
cli-provider-validation.test.ts fix(cli): validate --provider and make non-TTY report deterministic (#501) 2026-06-18 12:39:22 +02:00
cli-proxy-path.test.ts test(cli-proxy-path): raise timeout for spawn-based tests to fix load flake (#504) 2026-06-18 12:57:44 +02:00
cli-refresh-help.test.ts Stabilize TUI refresh, scrolling, responsive layout, and dashboard data density (#863) 2026-08-09 03:39:19 +03:00
cli-settings-json.test.ts feat(cli): price-override --list --format json 2026-07-16 03:45:36 -07:00
cli-status-menubar.test.ts test: clamp all four relative-time fixtures to the current UTC day 2026-08-04 04:11:25 +03:00
codex-cache-invalidation.test.ts perf(cache): shard the session cache per provider 2026-08-16 19:03:12 -07:00
codex-credits.test.ts feat(codex): compute Codex credit usage (#408, #495) (#510) 2026-06-18 17:03:46 +02:00
codex-rich-capture.test.ts feat(capture): parse-time capture of branch, LOC deltas, interruptions, titles, PR links 2026-07-20 05:56:38 -07:00
codex-throughput.test.ts feat(codex): add tool-excluded active throughput metrics 2026-07-24 22:53:43 -04:00
compare-stats.test.ts feat(copilot): read per-request input/cache from session-store.db 2026-08-17 17:52:01 -04:00
content-utils.test.ts fix(parser): tolerate string message content; isolate per-file parse failures (#441) (#450) 2026-06-06 04:01:12 +02:00
context-budget-home.test.ts fix(context-budget): stop double-counting home skills and CLAUDE.md 2026-08-04 06:32:58 +03:00
context-tree-api-prefix.test.ts test: absorb the teardown write race in the context-tree API suite 2026-08-04 04:00:39 +03:00
context-tui-title.test.ts dashboard: Workflow panel, footer coaching notes, title-first context list 2026-07-20 22:26:50 +02:00
cross-provider-pr-correlation.test.ts fix(pr-attribution): time-bound working-directory correlation 2026-08-10 14:13:57 -07:00
currency-rounding.test.ts fix(currency): resolve RON symbol to "lei" across all surfaces 2026-07-06 03:43:03 +03:00
daily-cache-carry-forward.test.ts fix(copilot): re-derive migrated copilot day slices, count the compaction row's output 2026-08-22 02:26:35 -07:00
daily-cache-degraded-completeness.test.ts fix(daily-cache): trust a stamped watermark so an idle tail is not re-derived every launch 2026-08-01 23:07:22 +02:00
daily-cache-tz-dedup.test.ts fix(daily-cache): surgical tz-migration de-dup for carried days (#770) 2026-08-04 04:11:30 +03:00
daily-cache-version-rederivation.test.ts Merge origin/main, and act on vidoluco's real-Copilot findings 2026-08-21 02:14:14 -07:00
daily-cache.test.ts fix(codex): validate rollouts structurally instead of by originator 2026-08-04 00:15:24 +03:00
dashboard-resize.test.ts fix(tui): coalesce resize bursts without dropping updates 2026-08-19 13:48:50 +05:30
dashboard.test.ts Merge origin/main into feat/copilot-session-store-landing 2026-08-19 12:29:33 -07:00
date-range-filter.test.ts Add multi-day calendar selection with custom popover UI (#393) 2026-05-24 09:49:59 -07:00
day-aggregator-savings.test.ts feat(cli): track local-model cost savings against a paid baseline (#421) 2026-06-01 11:06:39 +03:00
day-aggregator.test.ts feat(copilot): read per-request input/cache from session-store.db 2026-08-17 17:52:01 -04:00
defer-plans.test.ts feat(act): defer-* plan kinds for native deferral config (part 2 of #614) (#631) 2026-07-16 19:01:54 -07:00
devices-json.test.ts fix(cli): surface mDNS scan errors, robust spend-flow rollup + date label, harden tests 2026-07-10 16:20:41 -07:00
doctor.test.ts test(cache): make the round-2 review findings fail when broken 2026-08-05 05:58:17 +03:00
export.test.ts feat(copilot): read per-request input/cache from session-store.db 2026-08-17 17:52:01 -04:00
fetch-utils.test.ts fix(network): add timeouts to critical-path fetches (#445) (#448) 2026-06-06 03:25:36 +02:00
flat-slice.test.ts fix(parser): flatten already-sliced previews and memoize canonical path walks 2026-08-16 01:49:10 -07:00
format-carried-cost-note.test.ts fix(dashboard): label the day-count denominator, explain durable carry-forward 2026-07-29 23:02:05 +05:30
format-mark-estimated.test.ts fix(report): surface estimated costs distinctly (#688) 2026-07-16 10:46:21 -07:00
format-status-bar.test.ts feat(copilot): read per-request input/cache from session-store.db 2026-08-17 17:52:01 -04:00
fs-utils.test.ts Raise streaming session cap to 4GB so large Codex sessions are counted (#569) 2026-06-26 01:16:56 +02:00
granular-history.test.ts fix(dash): keep the disambiguator visible, make the bootstrap safe by construction 2026-08-18 05:49:16 +03:00
grok-parser-pipeline.test.ts test(grok): pin the unpriced-model branch instead of inheriting it from the snapshot 2026-08-18 10:26:06 -07:00
guard-hooks.test.ts feat(claude): account for /advisor escalations under the advisor model (#659) 2026-07-16 07:42:49 -07:00
guard-install.test.ts fix(guard): dedupe streaming message copies in the incremental cost fold 2026-07-03 12:32:46 +02:00
hermes-pr-links-pipeline.test.ts fix(hermes): memoize the origin lookup; cover PR links end to end 2026-08-19 11:31:40 -07:00
hydration-interrupt-convergence.test.ts perf(cache): shard the session cache per provider 2026-08-16 19:03:12 -07:00
ink-win.test.ts fix(ink-win): strip synchronized-update escapes instead of exact-matching them 2026-08-04 03:06:47 +03:00
kiro-cache-invalidation.test.ts perf(cache): shard the session cache per provider 2026-08-16 19:03:12 -07:00
kiro-projectpath.test.ts perf(cache): shard the session cache per provider 2026-08-16 19:03:12 -07:00
local-model-savings.test.ts feat(cli): track local-model cost savings against a paid baseline (#421) 2026-06-01 11:06:39 +03:00
mcp-coverage.test.ts fix(optimize): disambiguate connector namespaces against local MCP config 2026-08-18 08:39:53 -07:00
mcp-deferral.test.ts feat(act): defer-* plan kinds for native deferral config (part 2 of #614) (#631) 2026-07-16 19:01:54 -07:00
mcp-redact.test.ts feat(dashboard): add granular session and model timelines (#673) 2026-07-16 03:04:54 -07:00
mcp-server.test.ts feat(mcp): get_usage + get_savings tools with annotations, schemas, coalescing 2026-06-02 02:16:10 -07:00
mcp-tables.test.ts feat(mcp): markdown table renderers for usage and savings 2026-06-02 02:13:51 -07:00
menubar-carried-headline.test.ts feat(insights): workflow intelligence (corrections, time-to-first-edit, file churn, coverage) + dash wire-up (#756) 2026-07-20 05:47:46 -07:00
menubar-installer-windows.test.ts menubar: install and launch the Windows tray app from codeburn menubar 2026-08-18 06:55:09 -07:00
menubar-installer.test.ts fix(menubar): retry mid-stream download drops and harden the retry budget 2026-08-04 00:09:04 +02:00
menubar-json.test.ts kimicode: discover desktop-runtime sessions and fix menubar visibility 2026-07-23 21:31:25 +02:00
menubar-report-parity.test.ts fix: hydration completeness markers, cold-only splash, honest switching, prefetch 2026-07-16 14:05:11 -07:00
menubar-savings.test.ts kimicode: discover desktop-runtime sessions and fix menubar visibility 2026-07-23 21:31:25 +02:00
minimax.test.ts chore(pricing): refresh LiteLLM snapshot; MiniMax-M3 standard tier 2026-07-02 06:17:01 +02:00
model-breakdown.test.ts models: resolve Fireworks-hosted models to friendly display names (#787) 2026-07-20 14:22:12 -07:00
model-efficiency.test.ts feat(report): add per-model efficiency metrics 2026-05-05 23:36:59 -07:00
models-hoist.test.ts Merge main into feat/multi-provider-plans, remove dead tautology 2026-05-16 10:42:03 -07:00
models-report.test.ts Merge origin/main into feat/copilot-session-store-landing 2026-08-19 12:29:33 -07:00
models.test.ts Merge remote-tracking branch 'origin/main' into pr1039-rebase 2026-08-19 12:07:02 -07:00
optimize-apply.test.ts merge: main into connector guidance branch 2026-08-18 08:17:25 -07:00
optimize-fs.test.ts parser: keep promptSource on lines over 32 KB 2026-08-18 12:00:29 -07:00
optimize-sidechains.test.ts fix(optimize): isolate sidechains from behavior 2026-08-14 02:51:54 +05:30
optimize-zero-edit-savings.test.ts optimize: bound zero-edit low-worth savings estimate to a recovery fraction (#640) (#691) 2026-07-16 11:09:44 -07:00
optimize.test.ts Merge remote-tracking branch 'origin/main' into pr1015-rebase 2026-08-18 10:09:05 -07:00
otel-cache-aggregation.test.ts fix: fix and improve test isolation and collision with environment (#530) 2026-06-20 13:42:10 +02:00
overview.test.ts feat(budget): spend budgets with overview display and scriptable --check (#562) 2026-07-16 11:10:16 -07:00
parse-workers.test.ts perf(parse-workers): gate on pending bytes, size the per-worker budget per parse 2026-08-17 02:53:19 -07:00
parser-advisor-usage.test.ts feat(claude): account for /advisor escalations under the advisor model (#659) 2026-07-16 07:42:49 -07:00
parser-antigravity-timestamp.test.ts perf(cache): shard the session cache per provider 2026-08-16 19:03:12 -07:00
parser-cache-refresh-timeout.test.ts perf(cache): shard the session cache per provider 2026-08-16 19:03:12 -07:00
parser-classify-after-slice.test.ts perf(parser): classify only the turns that survive the date slice 2026-08-17 00:09:38 -07:00
parser-claude-cwd.test.ts Show real Claude project leaf names; stop stray-.git over-grouping (#540) 2026-06-21 22:42:19 +02:00
parser-compact-entry.test.ts sessions: attribute PR spend per turn instead of per session (#790) 2026-07-20 20:44:29 -07:00
parser-estimated-cost.test.ts fix(report): surface estimated costs distinctly (#688) 2026-07-16 10:46:21 -07:00
parser-filter.test.ts test: cover filterProjectsByName include/exclude semantics 2026-04-16 15:49:57 -07:00
parser-gemini-cache.test.ts perf(cache): shard the session cache per provider 2026-08-16 19:03:12 -07:00
parser-hydration-lock.test.ts fix(cache): make the shard layout safe against a second live writer 2026-08-16 19:23:39 -07:00
parser-incremental-append.test.ts perf(cache): shard the session cache per provider 2026-08-16 19:03:12 -07:00
parser-large-json-scanner-parity.test.ts parser: dedupe the twin string/Buffer large-JSONL scanners (#698) 2026-07-16 12:23:06 -07:00
parser-large-json-scanner.test.ts parser: keep promptSource on lines over 32 KB 2026-08-18 12:00:29 -07:00
parser-large-session.test.ts fix(optimize): isolate sidechains from behavior 2026-08-14 02:51:54 +05:30
parser-local-savings.test.ts fix: fix and improve test isolation and collision with environment (#530) 2026-06-20 13:42:10 +02:00
parser-mcp-inventory.test.ts feat(optimize): MCP tool coverage detector with cache-aware costing 2026-05-05 04:13:04 +03:00
parser-number-helpers.test.ts feat: add devin provider (#444) 2026-06-09 21:58:31 +02:00
parser-proxy-codex-only.test.ts fix: fix and improve test isolation and collision with environment (#530) 2026-06-20 13:42:10 +02:00
parser-proxy-merge.test.ts fix: fix and improve test isolation and collision with environment (#530) 2026-06-20 13:42:10 +02:00
parser-proxy-pricing.test.ts test: fix the five environment-sensitive failures the first ubuntu run exposed 2026-08-04 03:38:18 +03:00
parser-rich-capture.test.ts sessions: fold subagent runs into PR attribution (#791) 2026-07-20 20:47:23 -07:00
parser-single-pass-scanner.test.ts perf(parser): single-pass field extraction in the large-line JSONL scanner 2026-07-18 17:23:34 -07:00
parser-skip-line.test.ts Merge main into feat/multi-provider-plans, remove dead tautology 2026-05-16 10:42:03 -07:00
parser-subagent-collection.test.ts feat(report): Claude-scoped agent-type breakdown 2026-06-10 11:45:28 +02:00
parser-subagent-range.test.ts fix(optimize): exclude sidechains from session heuristics (#974) 2026-08-12 20:59:12 +05:30
parser.test.ts fix(copilot): let a parse-version bump re-derive the durable calls it re-reads 2026-08-22 03:30:53 -07:00
plan-budget-copy.test.ts fix(plans): say monthly budget, not calendar month, and fit 80 columns 2026-08-19 11:30:07 -07:00
plan-usage.test.ts feat(copilot): read per-request input/cache from session-store.db 2026-08-17 17:52:01 -04:00
plans.test.ts fix: fix and improve test isolation and collision with environment (#530) 2026-06-20 13:42:10 +02:00
pricing-fallback-data.test.ts feat(pricing): automatic gap-fill from models.dev and OpenRouter (#457) 2026-06-09 21:17:23 +02:00
project-filter-durable-totals.test.ts fix(menubar): apply --project/--exclude to the provider list on carried days 2026-08-04 02:09:03 +03:00
provider-env-declarations.test.ts Merge origin/main into feat/copilot-session-store-landing 2026-08-19 12:29:33 -07:00
provider-probe-roots-tier2.test.ts feat(doctor): probeRoots for six fixed-location providers (#899 Tier 2, batch 1) (#938) 2026-08-09 03:38:35 +03:00
provider-probe-roots.test.ts feat(doctor): probeRoots for 12 more providers (#899 Tier 1) 2026-08-04 03:28:59 +03:00
provider-registry.test.ts feat: add DeepSeek Harness (dsh) provider 2026-08-16 16:10:08 +08:00
provider-turn-grouping.test.ts feat(providers): add cline-cli provider for Cline CLI sessions 2026-08-04 02:45:16 +03:00
quota.test.ts prerelease: quota NaN guard, 10-year daily retention, test date bomb (#764) 2026-07-20 07:37:56 -07:00
scan-progress.test.ts fix(parser): keep scan-progress out of the interactive dashboard and compare TUIs 2026-07-10 00:50:35 +02:00
serve-stdio.test.ts test(serve): pin the output memo to returning the stored string 2026-08-17 00:09:38 -07:00
session-cache-rich-capture.test.ts perf(cache): shard the session cache per provider 2026-08-16 19:03:12 -07:00
session-cache-shards.test.ts Merge remote-tracking branch 'origin/main' into fix/scoped-save-republish 2026-08-18 12:48:02 -07:00
session-cache-v5-adoption.test.ts sessions: fold subagent runs into PR attribution (#791) 2026-07-20 20:47:23 -07:00
session-cache.test.ts feat(copilot): read per-request input/cache from session-store.db 2026-08-17 17:52:01 -04:00
sessions-by-branch.test.ts payload: spend by pull request and by branch; desktop Pull requests tab (#788) 2026-07-20 14:36:53 -07:00
sessions-by-pr.test.ts sessions: correlate cross-provider work with pull requests (#792) 2026-07-21 11:50:11 +02:00
sessions-report.test.ts feat(copilot): read per-request input/cache from session-store.db 2026-08-17 17:52:01 -04:00
sessions-subagent-fold.test.ts sessions: fold subagent runs into PR attribution (#791) 2026-07-20 20:47:23 -07:00
spend-flow.test.ts test: file-level 30s timeout for the three spawn-heavy CLI suites 2026-08-11 00:55:07 -07:00
sqlite-readonly-parent.test.ts fix(sqlite): only reach for an immutable URI where node:sqlite honours one 2026-08-18 10:38:01 -07:00
sync-attribution-cli.test.ts fix(sync): address attribution review — cwd-fallback egress, Windows paths, PR-link validation 2026-08-02 12:29:18 +00:00
sync-attribution.test.ts fix(sync): close credential-leak paths; session retraction; span/key/CLI hardening 2026-08-02 12:56:59 +00:00
sync-e2e.test.ts fix(sync): address PR review — https enforcement, keychain test isolation, golden ID pins 2026-07-13 16:45:39 +00:00
sync-headless-e2e.test.ts fix(sync): address PR review — https enforcement, keychain test isolation, golden ID pins 2026-07-13 16:45:39 +00:00
sync-infra-e2e.test.ts test(sync): unit, mock-IdP e2e, and developer-only integration tests 2026-07-12 16:05:34 +00:00
sync-ledger-otlp.test.ts fix(desktop): close cache and lifecycle review gaps 2026-08-12 20:31:17 +03:00
sync-push.test.ts fix(sync,parser): review B — symmetric shape freeze, honest settle, stable residual keys 2026-08-19 13:25:15 -07:00
sync.test.ts chore(sync): HTML-escape callback page inputs 2026-07-26 07:05:44 -07:00
token-estimate.test.ts Extract shared token estimation helper, migrate all CHARS_PER_TOKEN sites (#644) (#677) 2026-07-16 11:58:22 -07:00
usage-aggregator-savings.test.ts feat(copilot): read per-request input/cache from session-store.db 2026-08-17 17:52:01 -04:00
usage-aggregator.test.ts feat(dashboard): add granular session and model timelines (#673) 2026-07-16 03:04:54 -07:00
web-dashboard.test.ts fix(dash): keep the disambiguator visible, make the bootstrap safe by construction 2026-08-18 05:49:16 +03:00
wheel-scroll.test.ts feat(tui): mouse-wheel scrolling for the dashboard viewport via SGR mouse reporting 2026-08-10 04:41:34 -07:00
workflow-insights.test.ts fix(optimize): isolate sidechains from behavior 2026-08-14 02:51:54 +05:30
workflow-panel.test.ts fix(tui): floor pricing coverage so 100% means genuinely complete 2026-08-10 04:46:39 -07:00
yield-overlap-attribution.test.ts yield: single-owner commit attribution, ambiguous bucket, heuristic caveat (#692) 2026-07-16 13:09:26 -07:00
yield-repo-grouping.test.ts fix(yield): case-insensitive canonical repo grouping via realpathSync.native 2026-07-19 03:12:03 +03:00
yield.test.ts yield: single-owner commit attribution, ambiguous bucket, heuristic caveat (#692) 2026-07-16 13:09:26 -07:00