codeburn/tests
iamtoruk 2262a82f51 fix(pr-attribution): time-bound working-directory correlation
The cwd evidence rule attributed ANY session sharing a checkout with a
PR-linked session, with no time bound - so a repo whose only captured PR
link was pasted once became a black hole: 129 of 131 sessions and a
month of unrelated work (~$7.4K direct, $11.2K displayed) attributed to
one PR, observed live on the desktop Pull requests tab.

Cwd anchors now carry the evidence sessions' own activity window (union
across evidence for the same PR set), and only sessions overlapping that
window plus a 6h pad inherit the PR. The rule's charter is 'a tool
session launched around PR work in this checkout', which is inherently a
same-working-stretch claim; the design's own philosophy (timestamps
narrow, never create) now applies to this rule too.

On the real corpus the row corrected to $450.87 / 21 sessions across the
PR's actual two-day working stretch. Regression pins both directions:
nearby same-cwd session inherits, weeks-later one never does; multiple
evidence sessions widen the window.
2026-08-10 14:13:57 -07:00
..
fixtures fix(sync): address attribution review — cwd-fallback egress, Windows paths, PR-link validation 2026-08-02 12:29:18 +00:00
providers Merge main; declare openclaude in the env-declaration guard file map 2026-08-10 02:49:25 -07:00
security fix: fix and improve test isolation and collision with environment (#530) 2026-06-20 13:42:10 +02:00
setup feat(providers): add cline-cli provider for Cline CLI sessions 2026-08-04 02:45:16 +03: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 feat: implement act apply-model and report baseline tripwire (#607) (#616) 2026-07-16 11:10:08 -07:00
act-report.test.ts fix(act): dedup defer baselines against MCP rows, report pending honestly 2026-08-04 02:22:47 +03: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: add codeburn audit token-source view (#578) 2026-07-01 13:02:29 +02:00
bash-commands.test.ts fix(insights): count read-shaped shell commands as reads, not as verification (#941) 2026-08-10 06:07:27 -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-persistence-coldstart.test.ts feat(app): refresh cadence, instant switching, cache coherence, telemetry v1 2026-07-16 11:47:05 -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 test: fix three pre-existing suite failures (aged date, future today fixture, load starvation) 2026-08-04 11:37:40 +02: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 fix(compare): honor --model-a/--model-b in the TUI and resolve display names 2026-07-29 22:58:05 +05:30
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 feat(cli): add lifetime period for CLI and dashboard (#753) 2026-07-20 05:24:33 -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-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 feat(app): refresh cadence, instant switching, cache coherence, telemetry v1 2026-07-16 11:47:05 -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 fix(compare): honor --model-a/--model-b in the TUI and resolve display names 2026-07-29 22:58:05 +05:30
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(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-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.test.ts fix(codex): validate rollouts structurally instead of by originator 2026-08-04 00:15:24 +03:00
dashboard.test.ts Stabilize TUI refresh, scrolling, responsive layout, and dashboard data density (#863) 2026-08-09 03:39:19 +03: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 fix(parser): make day-spanning turn slices conservation-correct 2026-07-31 00:37:20 +08: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(export): subagentType and model on per-record exports; --by-agent follow-ups (#712) 2026-07-16 16:35:33 -07:00
fetch-utils.test.ts fix(network): add timeouts to critical-path fetches (#445) (#448) 2026-06-06 03:25:36 +02: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
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 feat(dashboard): add granular session and model timelines (#673) 2026-07-16 03:04:54 -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
hydration-interrupt-convergence.test.ts fix: hydration completeness markers, cold-only splash, honest switching, prefetch 2026-07-16 14:05:11 -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 feat(app): refresh cadence, instant switching, cache coherence, telemetry v1 2026-07-16 11:47:05 -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 Add MCP project profile advisor (#356) 2026-05-24 01:57:59 -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.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 feat(export): subagentType and model on per-record exports; --by-agent follow-ups (#712) 2026-07-16 16:35:33 -07:00
models.test.ts fix(serve): close the resident-process staleness and growth holes 2026-08-10 10:03:33 -07:00
optimize-apply.test.ts fix(act): refuse to apply a plan whose target changed since it was built 2026-07-03 11:20:59 +02:00
optimize-fs.test.ts fix: fix and improve test isolation and collision with environment (#530) 2026-06-20 13:42:10 +02:00
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 fix(insights): count read-shaped shell commands as reads, not as verification (#941) 2026-08-10 06:07:27 -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
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 feat(app): refresh cadence, instant switching, cache coherence, telemetry v1 2026-07-16 11:47:05 -07:00
parser-cache-refresh-timeout.test.ts fix(daily-cache): never finalize daily history off a degraded parse 2026-07-29 17:37:44 -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 feat(app): refresh cadence, instant switching, cache coherence, telemetry v1 2026-07-16 11:47:05 -07:00
parser-hydration-lock.test.ts fix: audit batch — prefetch one-shot, turn-anchored day bucketing, warm-path collapse 2026-07-16 15:37:03 -07:00
parser-incremental-append.test.ts test: fix the five environment-sensitive failures the first ubuntu run exposed 2026-08-04 03:38:18 +03: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 Merge main into feat/multi-provider-plans, remove dead tautology 2026-05-16 10:42:03 -07:00
parser-large-session.test.ts fix: fix and improve test isolation and collision with environment (#530) 2026-06-20 13:42:10 +02:00
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 sessions: fold subagent runs into PR attribution (#791) 2026-07-20 20:47:23 -07:00
parser.test.ts perf(serve): event-driven parse reuse — a no-change fetch costs nothing 2026-08-10 14:04:01 -07:00
plan-usage.test.ts fix: fix and improve test isolation and collision with environment (#530) 2026-06-20 13:42:10 +02: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 main; declare openclaude in the env-declaration guard file map 2026-08-10 02:49:25 -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(openclaude): OpenClaude CLI provider (#213) 2026-08-04 04:05:25 +03: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 perf: resident serve process for the desktop app — panel fetches in milliseconds 2026-08-10 09:43:44 -07:00
session-cache-rich-capture.test.ts sessions: fold subagent runs into PR attribution (#791) 2026-07-20 20:47:23 -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 perf: resident serve process for the desktop app — panel fetches in milliseconds 2026-08-10 09:43:44 -07: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(cli): add interactive sessions browser (#793) 2026-07-21 13:03:47 +02: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 fix(cli): surface mDNS scan errors, robust spend-flow rollup + date label, harden tests 2026-07-10 16:20:41 -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(sync): address PR review — https enforcement, keychain test isolation, golden ID pins 2026-07-13 16:45:39 +00:00
sync-push.test.ts fix(sync): address PR review — https enforcement, keychain test isolation, golden ID pins 2026-07-13 16:45:39 +00: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.test.ts feat(dashboard): add granular session and model timelines (#673) 2026-07-16 03:04:54 -07:00
web-dashboard.test.ts feat(dashboard): add granular session and model timelines (#673) 2026-07-16 03:04:54 -07: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(insights): stop counting prose 'wrong answer' as a user correction 2026-08-10 04:45:52 -07:00
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