Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
399 commits
Select commit Hold shift + click to select a range
3093887
Merge remote-tracking branch 'origin/main' into fix/scoped-save-repub…
iamtoruk Aug 18, 2026
bb1974d
Merge pull request #1035 from getagentseal/fix/scoped-save-republish
iamtoruk Aug 18, 2026
a336b6b
Merge remote-tracking branch 'origin/main' into ci/upgrade-path-verif…
iamtoruk Aug 18, 2026
ad406cf
fix(tui): coalesce resize bursts without dropping updates
avs-io Aug 19, 2026
cdaa5b7
fix(menubar): migrate Claude/Codex caches to namespaced Keychain
avs-io Aug 19, 2026
0658308
fix(hermes): price glm-5.3, label default as hermes, capture PR links
avs-io Aug 19, 2026
1d36f44
Fix Codex model attribution after session metadata
timdp Aug 19, 2026
f97d084
fix(models): price gateway-prefixed glm-5.3 ids
avs-io Aug 19, 2026
0abbbd1
fix(hermes): only attribute PRs mentioned by the user or assistant
avs-io Aug 19, 2026
66a776a
fix(hermes): treat routing prefixes and session surfaces as classes
avs-io Aug 19, 2026
10fdec6
fix(hermes): fail closed on unknown GLM, namespaces, and ACP identity
avs-io Aug 19, 2026
252ea92
fix(menubar): keep Keychain failure paths from leaving plaintext
avs-io Aug 19, 2026
9646890
fix(plans): call sticker-price bars a budget, not live quota
avs-io Aug 19, 2026
91754c5
fix(hermes): fail closed on unknown namespaces, relative cwd, fenced PRs
avs-io Aug 19, 2026
fae4db0
fix(hermes): restore z-ai pricing; require owner/repo; reject UNC
avs-io Aug 19, 2026
d3f86f5
fix(models): alias bare MiMo 2.5 ids to the LiteLLM Xiaomi rows
avs-io Aug 19, 2026
3e93741
fix(hermes): require origin identity and fail-closed fences
avs-io Aug 19, 2026
610c70e
fix(plans): update desktop FX budget-copy assertion
avs-io Aug 19, 2026
98d109d
fix(menubar): fail closed on leftover JSON and partial Disconnect
avs-io Aug 19, 2026
d5ced78
fix(models): cycle-safe short names; keep user-alias display
avs-io Aug 19, 2026
827a412
fix(models): keep getShortModelName unary for Array.map
avs-io Aug 19, 2026
75a789c
Merge upstream/main: resolve conflicts between status-snapshot fix an…
Aug 19, 2026
c9ad778
Merge pull request #1036 from getagentseal/ci/upgrade-path-verification
iamtoruk Aug 19, 2026
1ced7fe
Merge remote-tracking branch 'origin/main' into pr1037-rebase
iamtoruk Aug 19, 2026
1246c96
Merge remote-tracking branch 'origin/main' into pr1039-rebase
iamtoruk Aug 19, 2026
952a301
Merge remote-tracking branch 'origin/main' into pr1040-rebase
iamtoruk Aug 19, 2026
6f1098d
Merge remote-tracking branch 'origin/main' into pr1042-rebase
iamtoruk Aug 19, 2026
a4384d2
Merge remote-tracking branch 'origin/main' into pr1041-rebase
iamtoruk Aug 19, 2026
ef040a4
test(models): pin the shipped MiMo v2 Flash crash; name the base 2.5 row
iamtoruk Aug 19, 2026
52ceceb
cache: re-derive the daily rollup for the codex session_meta model fix
iamtoruk Aug 19, 2026
6bd86db
ci: build, test and package the macOS menubar on every mac/ change
iamtoruk Aug 19, 2026
35ad1e6
fix(status-snapshot): address PR #999 review — 5 correctness bugs + d…
Aug 19, 2026
911bd3f
fix(plans): say monthly budget, not calendar month, and fit 80 columns
iamtoruk Aug 19, 2026
e6cac54
fix(models): derive the vendor-namespace allowlist from the pricing c…
iamtoruk Aug 19, 2026
9752f02
fix(hermes): memoize the origin lookup; cover PR links end to end
iamtoruk Aug 19, 2026
6558a4f
docs(changelog): note the plan budget copy fix
iamtoruk Aug 19, 2026
bb5b71d
feat(models): name the MiMo v2 Flash row
iamtoruk Aug 19, 2026
e213e19
fix(menubar): never let a Keychain read raise UI on the refresh timer
iamtoruk Aug 19, 2026
0fd8419
fix(menubar): keep the newer credential copy and drop the sticky retr…
iamtoruk Aug 19, 2026
0f7bfb3
fix(menubar): make a failed disconnect leave a consistent state
iamtoruk Aug 19, 2026
0dff0b6
docs(menubar): state what the Keychain move actually guarantees
iamtoruk Aug 19, 2026
fb477f9
fix(optimize): scope remediation copy to --provider
avs-io Aug 19, 2026
dba9a45
test(mac): stop the concurrent-timeout test starving the pool it wait…
iamtoruk Aug 19, 2026
0290c3e
Merge pull request #1048 from getagentseal/fix/mimo-alias-landing
iamtoruk Aug 19, 2026
cab937c
Merge pull request #1038 from avs-io/fix/tui-resize-coalesce
iamtoruk Aug 19, 2026
fe94377
Merge pull request #1046 from getagentseal/ci/mac-menubar-swift-tests
iamtoruk Aug 19, 2026
96fc940
Merge pull request #1037 from avs-io/fix/menubar-keychain-credential-…
iamtoruk Aug 19, 2026
02059c9
Merge remote-tracking branch 'origin/main' into pr1039-rebase
iamtoruk Aug 19, 2026
8b79927
fix(optimize): preserve Claude copy and use provider display names
avs-io Aug 19, 2026
8d93a6b
Merge remote-tracking branch 'origin/main' into pr1040-rebase
iamtoruk Aug 19, 2026
9ae4250
changelog: resolve merge markers
iamtoruk Aug 19, 2026
fec3519
Merge remote-tracking branch 'origin/main' into pr1041-rebase
iamtoruk Aug 19, 2026
d3e2ef3
Merge upstream/main into feature/tom-b05c182a-codeburn-perf-fix
Aug 19, 2026
496b3f2
Merge pull request #1041 from avs-io/fix/plan-budget-not-live-quota
iamtoruk Aug 19, 2026
7862aab
Merge pull request #1039 from avs-io/fix/hermes-glm53-pr-links
iamtoruk Aug 19, 2026
f060a2d
Merge origin/main into feat/copilot-session-store-landing
iamtoruk Aug 19, 2026
22a8405
fix(cache): keep durable history when a bump meets an extant, pruned …
iamtoruk Aug 19, 2026
fa29414
fix(copilot): read the session store after the journals, fence it whe…
iamtoruk Aug 19, 2026
fb1bde9
fix(sync): hold a copilot session until its reconciliation can no lon…
iamtoruk Aug 19, 2026
aeaa11f
ci(upgrade-path): guard durable history across a bump on an extant so…
iamtoruk Aug 19, 2026
198bc87
docs(copilot): state the read order, the bump carry-forward, and the …
iamtoruk Aug 19, 2026
50f9d41
docs(types): retainWhilePresent now means read-order, not just age-ou…
iamtoruk Aug 19, 2026
02d8c90
fix(copilot): anchor a rollup leg's row interval at its compaction
iamtoruk Aug 19, 2026
4228c87
fix(models): treat subscription SKUs as honestly $0
avs-io Aug 19, 2026
9ebd509
fix(sync,cache,ci): review A — forward-only sync, a guard that bites,…
iamtoruk Aug 19, 2026
f9f79b0
Merge remote-tracking branch 'origin/main' into pr1040-rebase
iamtoruk Aug 19, 2026
dbeae9b
fix(sync,parser): review B — symmetric shape freeze, honest settle, s…
iamtoruk Aug 19, 2026
f412ae0
Merge remote-tracking branch 'origin/main' into feat/copilot-session-…
iamtoruk Aug 19, 2026
5130041
ci: give the quarantined lock suite its own timeout
iamtoruk Aug 19, 2026
c42de88
Merge pull request #1052 from getagentseal/ci/lock-suite-step-timeout
iamtoruk Aug 19, 2026
134e662
Merge remote-tracking branch 'origin/main' into pr1040-rebase
iamtoruk Aug 19, 2026
a48d78f
Merge pull request #1040 from timdp/codex-model-attribution-fix
iamtoruk Aug 19, 2026
28be247
fix(models): resolve and merge raw ids in models report
avs-io Aug 19, 2026
21ef465
fix(models): verbose unknown warning names both hatches
avs-io Aug 19, 2026
9e36117
fix(models): keep merged baseline empty after a conflict
avs-io Aug 19, 2026
a5ed453
fix(copilot): key shutdown rollups by timestamp, not per-file index
avs-io Aug 20, 2026
497f655
fix(codex): read session_meta string fields at payload depth 1
avs-io Aug 20, 2026
a3ea248
fix(copilot): journal-scope shutdown keys without a fingerprint bump
avs-io Aug 20, 2026
7ee4ec2
fix(models): price Codex activity ids via the official underlying model
avs-io Aug 20, 2026
f736569
fix(models): reprice cached Codex auto-review and drop unproved sibling
avs-io Aug 20, 2026
f77687a
Merge origin/main, and act on vidoluco's real-Copilot findings
iamtoruk Aug 21, 2026
4866332
test: price off the bundled snapshot so upstream reprices can't turn …
iamtoruk Aug 21, 2026
577ff0b
test: skip the live Frankfurter fetch so FX moves can't shift assertions
iamtoruk Aug 21, 2026
be86a4b
Merge pull request #1060 from getagentseal/test/hermetic-deepseek-pri…
iamtoruk Aug 21, 2026
c41b14f
Merge remote-tracking branch 'origin/main' into feat/copilot-session-…
iamtoruk Aug 21, 2026
ed02748
Merge pull request #1055 from avs-io/fix/1045-session-meta-depth
iamtoruk Aug 21, 2026
4d15b05
merge: union #1055 session_meta invalidation into auto-review pricing
avs-io Aug 21, 2026
61e76b7
fix(models): price Codex auto-review as GPT-5.5 and take daily v22
avs-io Aug 21, 2026
c12c1c6
fix(optimize): do not claim a session scan for non-Claude providers
avs-io Aug 21, 2026
3168699
snap: scope personal-files to log subdirectories
iamtoruk Aug 14, 2026
c73d8ff
snap: scope the entries main gained after the tightening
iamtoruk Aug 21, 2026
52714d6
Merge pull request #1063 from getagentseal/snap/scope-personal-files-…
iamtoruk Aug 21, 2026
65263da
fix(models): classify real subscription SKUs and let --remove opt out…
avs-io Aug 21, 2026
912281e
fix(models): merge models report rows by canonical id, not display name
avs-io Aug 21, 2026
f0c6e58
Merge pull request #1049 from avs-io/fix/optimize-provider-remediatio…
iamtoruk Aug 21, 2026
9c8727d
fix(copilot): prefer lastEventTimestamp for stampless shutdown calls
avs-io Aug 21, 2026
f55f987
test: isolate provider-home env vars so developer shells cannot leak …
avs-io Aug 21, 2026
094f9f1
test: consume runtime CLEARED/REDIRECTED arrays in the isolation guard
avs-io Aug 21, 2026
e12fb39
Merge pull request #1064 from avs-io/fix/test-isolate-provider-homes
iamtoruk Aug 21, 2026
ac96089
Merge remote-tracking branch 'upstream/main' into fix/968-subscriptio…
avs-io Aug 21, 2026
088d264
fix(web): lead session chart legends with title when unique
avs-io Aug 21, 2026
4065255
fix(web): count legend title uniqueness in code points
avs-io Aug 21, 2026
a3beafb
fix(cache): accept completed-by-other as the stale-lock loser
avs-io Aug 21, 2026
f718077
ci: gate the serial cache-lock suite after #904
avs-io Aug 21, 2026
1fa284f
fix(report): require durable period; drop unreachable dailyMap
avs-io Aug 21, 2026
7e51413
test: describe reportDailyByDate as the durable.days oracle
avs-io Aug 21, 2026
06fa57b
fix(sync): drop cleartext ai.session_id from attribution spans
avs-io Aug 21, 2026
dd25a39
docs(sync): upsert by traceId without overclaiming privacy
avs-io Aug 21, 2026
e96aa39
test: daily[] rows consume durable.days, not headlines
avs-io Aug 21, 2026
fda7e80
fix(codex): stop double-billing reasoning output, price cache writes …
iamtoruk Aug 21, 2026
91ddf58
Merge pull request #1078 from getagentseal/fix/codex-pricing-1075
iamtoruk Aug 21, 2026
7876c8e
fix(pricing): version the pricing cache and drop codex-credits' dead …
iamtoruk Aug 21, 2026
f92949c
docs(pricing): bound the codex repricing drift in verify:upgrade, fix…
iamtoruk Aug 21, 2026
cfba136
Merge pull request #1084 from getagentseal/fix/codex-pricing-polish
iamtoruk Aug 21, 2026
5ec82ea
fix(cache): version-suffix provider result caches
avs-io Aug 21, 2026
add2152
fix(cache): treat a present versioned result file as exclusive
avs-io Aug 21, 2026
f697cce
Merge pull request #1069 from avs-io/fix/chart-session-title-legend
ozymandiashh Aug 21, 2026
3ec96d3
Merge pull request #1071 from avs-io/fix/cache-lock-loser-outcome
ozymandiashh Aug 21, 2026
06b297c
Merge pull request #1072 from avs-io/fix/json-report-require-durable
ozymandiashh Aug 21, 2026
d1d2ecd
Merge pull request #1073 from avs-io/fix/sync-drop-cleartext-session-id
ozymandiashh Aug 21, 2026
67f085a
Merge pull request #1054 from avs-io/fix/1051-copilot-rollup-dedup
ozymandiashh Aug 21, 2026
aaf9a4b
Merge pull request #1085 from avs-io/fix/result-cache-version-suffix
ozymandiashh Aug 21, 2026
33d344a
merge: rebase #1056 onto main with Codex v12 / daily v24
avs-io Aug 21, 2026
bfcf63c
fix(codex): stop double-counting reasoning tokens in Tok/s throughput
iamtoruk Aug 21, 2026
98348d9
fix(models): price gpt-5.6-codex and gpt-5.6-codex-max
iamtoruk Aug 21, 2026
c7e754d
fix(codex): exclude harness startup and fix partial-dedup timing in T…
iamtoruk Aug 21, 2026
fa8c008
revert(codex): retract the BUG-2 partial-dedup timing fix
iamtoruk Aug 21, 2026
d3b971c
Merge pull request #1088 from getagentseal/fix/codex-tps-reasoning
iamtoruk Aug 21, 2026
a9b7670
Merge pull request #1090 from getagentseal/fix/gpt56-codex-pricing
iamtoruk Aug 21, 2026
090499e
merge: rebase #1056 onto main with Codex v14 / daily v25
avs-io Aug 21, 2026
1c2ac6e
fix(codex): attribute MCP + skills from the exec custom tool and item…
iamtoruk Aug 22, 2026
e4b0547
Merge pull request #1092 from getagentseal/fix/codex-mcp-skills-attri…
iamtoruk Aug 22, 2026
9e24d09
merge: rebase #1056 onto main with Codex v15 / daily v25
avs-io Aug 22, 2026
12c8cb7
fix(copilot): re-derive migrated copilot day slices, count the compac…
iamtoruk Aug 22, 2026
b6481c1
fix(copilot): let a parse-version bump re-derive the durable calls it…
iamtoruk Aug 22, 2026
0037796
Merge origin/main into fix/967-models-display-merge
iamtoruk Aug 22, 2026
a7b9041
Merge pull request #1053 from avs-io/fix/967-models-display-merge
iamtoruk Aug 22, 2026
13c1785
Merge pull request #1056 from avs-io/fix/1047-codex-activity-ids
iamtoruk Aug 22, 2026
f9c99a0
Merge origin/main into fix/968-subscription-flat-rate
iamtoruk Aug 22, 2026
99c72f7
Update stale flat-rate test expectation for codex-auto-review
iamtoruk Aug 22, 2026
68f3ed8
Merge pull request #1050 from avs-io/fix/968-subscription-flat-rate
iamtoruk Aug 22, 2026
d4b7b48
fix(app): no-output watchdog replaces fixed timeouts; graceful kills;…
iamtoruk Aug 22, 2026
d8bd428
fix(app): give the mutation-restart and destroy paths the same SIGTER…
iamtoruk Aug 22, 2026
c30ebec
Merge origin/main into feat/copilot-session-store
iamtoruk Aug 22, 2026
c5f03cd
fix: thread partial-progress saves into non-Claude provider phases
iamtoruk Aug 22, 2026
5042139
Merge pull request #946 from kelchm/feat/copilot-session-store
iamtoruk Aug 22, 2026
9d2235f
docs: correct the stale per-file save comment
iamtoruk Aug 22, 2026
3317189
fix: address adversarial review of the timeout watchdog (F1-F7)
iamtoruk Aug 22, 2026
b4a53b5
Merge pull request #1097 from getagentseal/fix/provider-phase-partial…
iamtoruk Aug 22, 2026
4eabda1
fix: bound the serve drain, reap orphans on Windows, and de-flake the…
iamtoruk Aug 22, 2026
9cfa957
Merge pull request #1096 from getagentseal/fix/app-timeout-watchdog
iamtoruk Aug 22, 2026
7b802f4
fix(desktop): say why the PR tab is empty
avs-io Aug 22, 2026
b095091
fix(desktop): thread PR-tab period through App
avs-io Aug 22, 2026
1be0875
fix(doctor): treat Buzz as a launcher, not a second Codex tree
avs-io Aug 22, 2026
0a43427
fix(desktop): name a custom range on the empty PR tab
avs-io Aug 22, 2026
f31d84a
fix(doctor): do not treat a Buzz CODEX_HOME as the primary home
avs-io Aug 22, 2026
affd40e
payload: add-only stale marker for read-only stale menubar serves (#771)
iamtoruk Aug 22, 2026
fa89015
fix(models): price claude-haiku-4.5 copilot session-store rows (#1093)
iamtoruk Aug 22, 2026
4296db7
fix(doctor): keep Codex probeRoots on the tree actually scanned
avs-io Aug 22, 2026
e19c099
fix: capture hydration flag right after the primary parse, not at return
iamtoruk Aug 22, 2026
3599b2d
Merge pull request #1101 from getagentseal/fix/copilot-haiku-pricing
iamtoruk Aug 22, 2026
ed8fa3a
Merge pull request #1100 from getagentseal/fix/menubar-freshness-marker
iamtoruk Aug 22, 2026
21382bb
copy: drop the em dash from the wider-period hint (repo copy rule)
iamtoruk Aug 22, 2026
554d32e
Merge pull request #1098 from avs-io/fix/pr-tab-empty-period
iamtoruk Aug 22, 2026
d5e485f
perf: fan out the discovery sweep instead of walking it one syscall a…
iamtoruk Aug 22, 2026
a8b14a7
perf: collapse the dashboard's repeated parses and hoist the PR-corre…
iamtoruk Aug 23, 2026
43bbb99
perf: paint the cold dashboard from the recent files, index the rest …
iamtoruk Aug 23, 2026
8f39cc5
feat: open the interactive dashboard on today, falling back to 7 days…
iamtoruk Aug 23, 2026
287791e
feat: live quota for Gemini, Copilot, and Antigravity in the desktop app
iamtoruk Aug 23, 2026
7ab076f
Merge pull request #1105 from getagentseal/perf/1104-discovery-sweep
iamtoruk Aug 23, 2026
46a7e1d
Merge pull request #1108 from getagentseal/perf/1106-single-pass
iamtoruk Aug 23, 2026
796a504
Merge pull request #1109 from getagentseal/perf/1107-progressive-cold
iamtoruk Aug 23, 2026
2a53b85
Merge pull request #1113 from getagentseal/feat/1111-default-today
iamtoruk Aug 23, 2026
c9dab7d
Merge pull request #1114 from getagentseal/feat/1112-quota-providers
iamtoruk Aug 23, 2026
17bb4bf
fix(codex): drop only overlapping nest rollouts
avs-io Aug 23, 2026
be1b212
feat: surface-wide progressive hydration via an explicit payload marker
iamtoruk Aug 23, 2026
e8ab508
fix(codex): empty a realpath-alias nest factory
avs-io Aug 23, 2026
cfdaa68
fix(report): route displayed output through billableOutputTokens
avs-io Aug 23, 2026
30ab605
docs: changelog entry for surface-wide progressive hydration
iamtoruk Aug 23, 2026
5b25641
Price and label OrcaRouter gateway model ids as the model they route to
avs-io Aug 23, 2026
d03b92f
feat: gate the partial answer on the client rendering the indicator
iamtoruk Aug 23, 2026
dcab9a4
Identify OrcaRouter route ids as the routed model, not a branded label
avs-io Aug 23, 2026
7af989c
fix: emit hydration only while incomplete so warm serve stays byte-id…
iamtoruk Aug 23, 2026
272da80
fix(menubar): no-output watchdog, lock signal cleanup, dead-pid takeo…
iamtoruk Aug 23, 2026
f816c5e
fix(report): bill remaining displayed output per call
avs-io Aug 23, 2026
8446d3f
fix(hermes): keep post-finalization session growth on the observation…
avs-io Aug 23, 2026
ece5548
fix(report): join model output on modelBreakdown keys
avs-io Aug 23, 2026
24ee9b9
fix(hermes): keep calculated-cost observation deltas estimated
avs-io Aug 23, 2026
57709c6
feat(doctor): probeRoots for five fixed-location providers (#899 Tier…
avs-io Aug 23, 2026
caba988
fix(doctor): changelog and isolate probeRoots env in #899 tests
avs-io Aug 23, 2026
0c7d92a
feat: Copilot AI Credit plan math from total_nano_aiu
avs-io Aug 23, 2026
80fbae3
fix(report): join billable output onto existing modelBreakdown keys
avs-io Aug 23, 2026
561061c
Merge pull request #1116 from avs-io/fix/1115-billable-output-totals
iamtoruk Aug 23, 2026
7e23ed8
Merge pull request #1122 from avs-io/local/899-proberoots
iamtoruk Aug 23, 2026
aa1e380
fix(models): leave orcarouter/auto unpriced and bump daily cache to v28
avs-io Aug 23, 2026
6006811
docs(hermes): record restore and recovery-horizon ledger contract
avs-io Aug 23, 2026
55155c1
fix(plan): do not double Copilot credits when both twins have nanoAiu
avs-io Aug 23, 2026
7042048
fix(codex): dedup nest rollouts by session id on the default factory
avs-io Aug 23, 2026
af073bc
merge(main): rematch #1118 after #1116/#1122 — daily cache v29
avs-io Aug 23, 2026
066e10a
merge(main): rematch #1121 after #1116/#1122
avs-io Aug 23, 2026
82b3b70
docs(hermes): record restore wipe-both ledger contract
avs-io Aug 23, 2026
e5e6e59
Merge pull request #1121 from avs-io/local/916-hermes-ledger
iamtoruk Aug 23, 2026
ee6d614
merge: rematch #1123 onto main after #1121
avs-io Aug 23, 2026
053fa1c
docs: add Omarchy plugin installation
erzz Aug 24, 2026
84c4a97
Merge pull request #1120 from getagentseal/fix/1117-menubar-livelock
iamtoruk Aug 24, 2026
424d71e
Merge remote-tracking branch 'origin/main' into feat/1110-surface-hyd…
iamtoruk Aug 24, 2026
e5f0293
Merge pull request #1119 from getagentseal/feat/1110-surface-hydration
iamtoruk Aug 24, 2026
fcbc285
fix(sync): never put a filesystem path on the wire as ai.project
iamtoruk Aug 24, 2026
619c17e
fix(sync): export billable output tokens, not raw output
iamtoruk Aug 24, 2026
33dc05b
fix(sync): trust only proven outbound project metadata
avs-io Aug 24, 2026
2c87ee3
fix(codex): walk billed+nest trees on the no-arg singleton
avs-io Aug 24, 2026
57e897c
fix(plan): close Copilot nanoAiu twins once per session
avs-io Aug 24, 2026
ada8ce2
fix(codex): read a complete session_meta first line
avs-io Aug 24, 2026
b0a4217
fix(daily-cache): never-lose guards for degraded parses and residue-o…
iamtoruk Aug 24, 2026
06c0072
Merge pull request #1129 from getagentseal/fix/1127-daily-cache-guards
iamtoruk Aug 24, 2026
9476623
Merge pull request #1126 from getagentseal/fix/sync-project-basename
iamtoruk Aug 24, 2026
fe25d52
Merge pull request #1118 from avs-io/local/1058-orcarouter
iamtoruk Aug 24, 2026
1936f69
Merge pull request #1123 from avs-io/local/943-copilot-credits
iamtoruk Aug 24, 2026
04cd6d0
Merge remote-tracking branch 'origin/main' into fix/ft002-harness-lau…
iamtoruk Aug 24, 2026
439a721
Merge pull request #1099 from avs-io/fix/ft002-harness-launcher
iamtoruk Aug 24, 2026
4176a2f
Merge pull request #1125 from erzz/docs-add-omarchy-plugin
iamtoruk Aug 24, 2026
fe89385
docs: mark the Omarchy plugin community-maintained (#1125 follow-up)
iamtoruk Aug 24, 2026
99d9ec8
fix(daily-cache): ranged parses never write days outside their range
iamtoruk Aug 24, 2026
cc721f0
fix(sync): address project privacy review
avs-io Aug 24, 2026
d098628
Merge remote-tracking branch 'origin/main' into codex/post-1126-proje…
iamtoruk Aug 24, 2026
4e7149d
test(sync): the unproven-provenance fixture now asserts ai.project om…
iamtoruk Aug 24, 2026
991ee6f
Merge pull request #1131 from getagentseal/fix/1130-range-filter
iamtoruk Aug 24, 2026
485b2c5
Merge pull request #1128 from avs-io/codex/post-1126-project-privacy
iamtoruk Aug 24, 2026
05fb99d
feat(menubar): live Gemini quota — service, Settings pane, popover Pl…
iamtoruk Aug 24, 2026
71771a4
feat(menubar): System Settings-style sidebar Settings with provider l…
iamtoruk Aug 24, 2026
8263421
feat(menubar): live GitHub Copilot quota — service, Settings pane, Pl…
iamtoruk Aug 24, 2026
831754b
feat(brand): app icon becomes the website's binary 0101 flame, backgr…
iamtoruk Aug 24, 2026
8908bce
feat(menubar): CodexBar-faithful Settings shell, binary-flame status …
iamtoruk Aug 24, 2026
e329f07
Merge remote-tracking branch 'upstream/main' into HEAD
Aug 24, 2026
0213f7e
feat(menubar): live Antigravity quota — local language-server probe, …
iamtoruk Aug 24, 2026
c595cf5
feat(menubar): animated flame-gradient wordmark matching the website
iamtoruk Aug 24, 2026
c6ba1d5
polish(menubar): brand and window refinements from live review
iamtoruk Aug 24, 2026
5783d1a
polish(menubar): solid flame silhouette for the About sidebar row
iamtoruk Aug 24, 2026
44027ad
polish(menubar): pane-named window title, single tagline, version ded…
iamtoruk Aug 24, 2026
e0a12de
Merge pull request #1133 from getagentseal/feat/menubar-quota-parity
iamtoruk Aug 24, 2026
42e39ec
test(menubar): align Gemini retired-tier expectation with the em-dash…
iamtoruk Aug 24, 2026
113ebb1
Fix pricing/version staleness and optimize-path caching in status sna…
Aug 24, 2026
195bb91
chore: release 0.9.21
iamtoruk Aug 24, 2026
bc66a8d
Merge remote-tracking branch 'upstream/main' into HEAD
Aug 24, 2026
908a2e1
feat(app): period payloads persist for the session and revalidate beh…
iamtoruk Aug 24, 2026
fee06a7
feat(app): Kimi Code live quota on the Plans page (#1136)
iamtoruk Aug 24, 2026
0f93607
copy: drop em dashes from the 0.9.21 changelog section (repo copy rule)
iamtoruk Aug 24, 2026
46f2ddd
fix: close status-snapshot race, cline-cli fingerprint gap, symlinked…
Aug 24, 2026
d8d89f7
Merge remote-tracking branch 'origin/main' into pr999
ozymandiashh Aug 24, 2026
e4f7615
fix: harden status snapshot invalidation and writes
ozymandiashh Aug 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
88 changes: 88 additions & 0 deletions .github/workflows/build-windows-installer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Build Windows installer

on:
workflow_dispatch:
inputs:
release_tag:
description: Existing desktop-v* release to verify after manual asset upload
required: false
type: string
pull_request:
paths:
- .github/workflows/build-windows-installer.yml
- app/**
- src/**
- scripts/**
- package.json
- package-lock.json
push:
tags:
- 'desktop-v*'
release:
types: [published]

permissions:
contents: read

jobs:
nsis:
if: ${{ github.event_name != 'release' && !(github.event_name == 'workflow_dispatch' && inputs.release_tag != '') }}
runs-on: windows-latest
steps:
- uses: actions/checkout@v6

- uses: actions/setup-node@v6
with:
node-version: 22.13.0
cache: npm
cache-dependency-path: |
package-lock.json
app/package-lock.json

- name: Install CLI dependencies
run: npm ci

- name: Install desktop dependencies
run: npm ci --prefix app

- name: Test installer verifier
run: npm --prefix app test -- scripts/verify-windows-installer.test.ts

- name: Build NSIS installer
run: npm --prefix app run package:win

- name: Verify installer manifest
shell: pwsh
run: |
if ($env:GITHUB_REF_TYPE -eq 'tag') {
node app/scripts/verify-windows-installer.mjs --tag $env:GITHUB_REF_NAME
} else {
node app/scripts/verify-windows-installer.mjs
}

- name: Upload installer artifact
uses: actions/upload-artifact@v6
with:
name: CodeBurn-Windows-Installer
path: |
app/release/CodeBurn-Setup-*.exe
app/release/CodeBurn-Setup-*.exe.blockmap
if-no-files-found: error
retention-days: 30

verify-release-assets:
if: ${{ (github.event_name == 'release' && startsWith(github.event.release.tag_name, 'desktop-v')) || (github.event_name == 'workflow_dispatch' && inputs.release_tag != '') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Verify live desktop release assets
env:
GH_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ github.event.release.tag_name || inputs.release_tag }}
run: |
gh api "repos/${{ github.repository }}/releases/tags/$RELEASE_TAG" \
--jq '[.assets[].name]' > "$RUNNER_TEMP/release-assets.json"
node app/scripts/verify-windows-installer.mjs \
--tag "$RELEASE_TAG" \
--release-assets "$RUNNER_TEMP/release-assets.json"
34 changes: 34 additions & 0 deletions .github/workflows/mac-menubar-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: macOS Menubar CI

# The macOS menubar (mac/) ships from release-menubar.yml, which only packages the app.
# Its Swift test suite (170+ tests covering the credential stores, Keychain cache,
# serve connection, quota parsing) gated nothing until this workflow. Runs on every
# PR touching mac/** so a red test fails the PR, the same way tests.yml does for the CLI.
on:
push:
branches: [main]
paths:
- .github/workflows/mac-menubar-ci.yml
- mac/**
pull_request:
paths:
- .github/workflows/mac-menubar-ci.yml
- mac/**

permissions:
contents: read

jobs:
test:
runs-on: macos-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v6
- name: Swift toolchain
run: swift --version
- name: Build
run: swift build --package-path mac
- name: Test
run: swift test --package-path mac
- name: Package (same script the release uses)
run: mac/Scripts/package-app.sh ci-smoke
99 changes: 99 additions & 0 deletions .github/workflows/release-menubar-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: Release Windows Menubar

# Triggers on a `windows-v*` tag push (e.g. `git tag windows-v0.9.20 && git push origin
# windows-v0.9.20`), or manually via the Actions tab. Mirrors release-menubar.yml, which
# does the same job for the macOS menubar under the `mac-v*` tags. The produced `.msi` is
# unsigned; users see a SmartScreen prompt on first run until we add signing.
on:
push:
tags:
- 'windows-v*'
workflow_dispatch:
inputs:
version:
description: 'Version label for the bundle (e.g. v0.9.20 or dev-preview)'
required: true
default: 'dev-preview'

permissions:
contents: write # Needed to create the release + upload assets.

jobs:
build:
runs-on: windows-latest
timeout-minutes: 45
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Resolve version label
id: version
shell: bash
run: |
if [[ "${GITHUB_REF}" == refs/tags/windows-v* ]]; then
echo "value=${GITHUB_REF#refs/tags/windows-}" >> "$GITHUB_OUTPUT"
else
echo "value=${{ github.event.inputs.version }}" >> "$GITHUB_OUTPUT"
fi

- uses: actions/setup-node@v6
with:
node-version: 22.13.0
cache: npm
cache-dependency-path: windows/package-lock.json

- uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-pc-windows-msvc

- uses: Swatinem/rust-cache@v2
with:
workspaces: windows/src-tauri

- name: Install dependencies
working-directory: windows
run: npm ci

- name: Build MSI bundle
working-directory: windows
run: npm run tauri build

- name: Collect artifacts
shell: bash
run: |
set -euo pipefail
mkdir -p release-artifacts
find windows/src-tauri/target/release/bundle -type f -name '*.msi' \
-exec cp -v {} release-artifacts/ \;
(cd release-artifacts && for f in *.msi; do sha256sum "$f" > "$f.sha256"; done)
ls -la release-artifacts

- name: Upload artifact (for manual runs)
if: github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v6
with:
name: CodeBurnMenubar-Windows-${{ steps.version.outputs.value }}
path: release-artifacts/*
if-no-files-found: error

- name: Create / update GitHub Release
if: startsWith(github.ref, 'refs/tags/windows-v')
uses: softprops/action-gh-release@v3
with:
tag_name: ${{ github.ref_name }}
name: Windows Menubar ${{ steps.version.outputs.value }}
body: |
Download the `.msi` below and run it. The tray app reads everything through the
CodeBurn CLI, so install that first:

```
npm install -g codeburn
```

Requires codeburn 0.9.9 or newer and the WebView2 Runtime (preinstalled on
Windows 11 and recent Windows 10 updates; installed on demand otherwise).

The bundle is unsigned, so Windows SmartScreen warns on first run: click
"More info", then "Run anyway". Signing is planned.
files: release-artifacts/*
fail_on_unmatched_files: true
23 changes: 16 additions & 7 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,18 @@ jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
# Package floor, and the newest 22.x so paths gated on later node:zlib
# features (zstd, 22.15+) get exercised.
node-version: [22.13.0, 22]

steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v4
with:
node-version: 22.13.0
node-version: ${{ matrix.node-version }}
cache: npm
- run: npm ci
- name: Typecheck
Expand All @@ -27,10 +33,13 @@ jobs:
# script since #948, so CI and a contributor's `npm test` can never drift.
- name: Test suite (parallel)
run: npm test
# Single forked worker, so lock contention comes only from the child processes the
# tests spawn deliberately. Quarantined (reports, never gates): the process
# suite still races its own takeover window even serially on slow runners -
# tracked in #904; drop continue-on-error once that race is settled.
- name: Cache-lock suite (serial, quarantined)
continue-on-error: true
# Single forked worker, so lock contention comes only from the child
# processes the tests spawn deliberately. Serial because the suite is
# parallelism-sensitive (fails under full worker pressure, passes
# serially). After #904 the loser of a stale-lock contest may be
# timed-out or completed-by-other; this step gates CI.
# Step-level timeout so a stalled lock suite fails this job instead of
# eating the 15-minute budget and cancelling a green parallel suite.
- name: Cache-lock suite (serial)
timeout-minutes: 5
run: npm run test:locks
53 changes: 53 additions & 0 deletions .github/workflows/upgrade-path.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Upgrade path

# Every existing user upgrading from the last published CLI (0.9.20) crosses the
# session-cache v7 -> v9 re-layout and the daily-cache v17 -> v19 re-derivation on
# their first run. Unit tests cover the migration in isolation on one platform; this
# job proves it against a cache that the REAL 0.9.20 binary wrote, on all three
# platforms, at both the package floor and the newest 22.x.
on:
pull_request:
paths:
- 'src/**'
- 'scripts/upgrade-path/**'
- '.github/workflows/upgrade-path.yml'
workflow_dispatch:

jobs:
upgrade-path:
runs-on: ${{ matrix.os }}
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
# Package floor, and the newest 22.x. The floor matters here: node:zlib
# gained zstd in 22.15, so dsh degrades below it (the corpus writes the
# uncompressed dsh variant so both legs still count the same numbers).
node-version: [22.13.0, 22]

steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
- run: npm ci
# dist/cli.js + dist/parse-worker.js. The dash bundle is not exercised by
# any command this job runs, so the full `npm run build` is not paid for.
- run: npm run build:cli

- name: Upgrade path from codeburn@0.9.20
run: npm run verify:upgrade
env:
# Under runner.temp so the artifact step below can find it. The space
# is deliberate: a real Windows HOME almost always has one.
UPGRADE_PATH_WORK: ${{ runner.temp }}/codeburn upgrade path

- name: Upload payloads on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: upgrade-path-${{ matrix.os }}-node${{ matrix.node-version }}
path: ${{ runner.temp }}/codeburn upgrade path/payloads
if-no-files-found: ignore
Loading
Loading