diff --git a/CHANGELOG.md b/CHANGELOG.md index 1fc3d67..1f67d72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to this project are documented here. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project follows [Semantic Versioning](https://semver.org/). -## [Unreleased] +## [0.2.38] - 2026-09-26 ### Added diff --git a/Resources/Info.plist b/Resources/Info.plist index a6f92f0..055cd50 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.2.37 + 0.2.38 CFBundleVersion - 42 + 43 LSMinimumSystemVersion 13.0 LSUIElement diff --git a/docs/KB.md b/docs/KB.md index d12a4f0..c9216d8 100644 --- a/docs/KB.md +++ b/docs/KB.md @@ -1,11 +1,11 @@ # Project knowledge -Last verified: 2026-09-25 +Last verified: 2026-09-26 ## Repository state - Default branch: `main`. -- Reviewed source revision: `9448145`. +- Reviewed source revision: `d99eded`. - This index is public-safe repository documentation. It does not prove current local provider state, runtime behavior, release availability, or external service state. ## Product and source facts @@ -15,7 +15,7 @@ Last verified: 2026-09-25 - Provider data sources are implemented under `Sources/MeterUsage/Services/`. `docs/PRIVACY.md` describes the boundary for local files, provider CLIs, documented network endpoints, and data reduction before display. - Antigravity quota and usage share a bounded Docker/Podman runtime resolver. It prefers a healthy runtime and can start only an already-existing `podman-machine-default` after an inspect check; it never creates a machine or pulls an image. Concurrent recovery calls are serialized; failed starts have a 60-second cooldown. Internet or authentication failures are not repaired by restarting a healthy runtime. - Demo mode uses synthetic data. `README.md` and `docs/DEMO.md` describe it as the path for screenshots and local UI inspection without provider accounts. -- `CHANGELOG.md` records version 0.2.37 as the latest repository release entry, with the incident.io outage-vocabulary fix and the identity-tinted provider marks dated 2026-09-25, following the 0.2.36 provider tray glyph fix. This is repository release-note state, not proof of a published release. +- `CHANGELOG.md` records version 0.2.38 as the latest repository release entry, with multi-account meters for Codex and Claude (ADR 0005–0006) dated 2026-09-26, following the 0.2.37 incident.io outage-vocabulary fix and identity-tinted provider marks. This is repository release-note state, not proof of a published release. - `CONTRIBUTING.md` requires focused changes, synthetic fixtures, and `swift build`, `swift test`, and `Scripts/make-app.sh` before a code pull request. - The side notch panel is anchored by the strip's top-right corner and uses whole-point frames, so switching providers never moves the strip. `docs/SIDE-NOTCH.md` describes the states, geometry invariants, and required evidence. ADR 0004 records the decision. - Pace claims are gated on burn recency (`BurnRecency` in `Sources/MeterUsage/Models/UsageModels.swift`): a quota window's shape can hold a pace deficit long after the burst that caused it, so "burning fast" requires the provider to have burned within a 30-minute quiet period. Surfaces consume `QuotaPace.effective(lastBurn:now:)`, which demotes a burn-quiet deficit to on-pace. A headline window at 80%+ without a current burn renders as "near its limit", not "burning fast". Providers without a local session store have no burn evidence: they keep the 80%/95% threshold alerts but never raise pace alerts.