You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Separate the current broad dirty tree into reviewable workstreams so fixes stop masking or reintroducing each other.
Finish Line
Every dirty change is classified as keep, revert, shelve, or split into a focused branch/PR; no signed dogfood package is built from a broad multi-workstream tree unless explicitly marked as scratch.
Current Status
State: Active
Next action: Split the AGENTS.md runtime guardrail into its own doc-only PR, then branch remaining fixes by purpose.
Blocked by: Need explicit decision before reverting/shelving broad dirty code changes.
Last verified: 2026-05-12
Dirty tree groups:
Runtime/process guardrail docs: AGENTS.md. This is coherent and should be kept as a small doc-only PR.
Snapshot merge and stale account preservation/dedupe: SnapshotStore.swift, SnapshotStoreTests.swift; current behavior preserves failed refreshes but also preserves stale logical account IDs.
Current stop condition:
Do not package or install another dogfood/TestFlight build from this broad dirty tree. Any next code change should happen on a focused branch or after explicitly shelving unrelated changes.
Scope
In: Classification of current dirty files and branch split proposal.
Out: Implementing the fixes during triage.
Acceptance Criteria
Dirty files are grouped by purpose.
Unrelated changes are not packaged together as a candidate build.
Each follow-up branch has one finish line and validation gate.
Relationships
Sub-issue of #64. Should precede product/provider fixes.
Validation
Use ## fix/widget-refresh-regression
M AGENTS.md
M Config/ContextPanel.entitlements
M Config/ContextPanelAppStore.entitlements
M Config/ContextPanelRefreshAgent.entitlements
M Config/ContextPanelRefreshAgentAppStore.entitlements
M ContextPanel.xcodeproj/project.pbxproj
M Package.swift
M Sources/ClaudeLimitProbe/main.swift
D Sources/ClaudeWebUsageProbe/ClaudeWebUsageProbeApp.swift
M Sources/ContextPanelCore/AccountConfigurationStore.swift
M Sources/ContextPanelCore/BurnRateEstimator.swift
M Sources/ContextPanelCore/ClaudeLocalStatus.swift
M Sources/ContextPanelCore/ClaudeStatuslineSetup.swift
D Sources/ContextPanelCore/ClaudeWebUsage.swift
M Sources/ContextPanelCore/ContextPanelLocations.swift
M Sources/ContextPanelCore/FastModeForecast.swift
M Sources/ContextPanelCore/ProviderConnector.swift
M Sources/ContextPanelCore/SnapshotRefreshService.swift
M Sources/ContextPanelCore/SnapshotStore.swift
M Sources/ContextPanelPreview/ContextPanelPreviewApp.swift
M Sources/ContextPanelWidget/ContextPanelWidget.swift
M Tests/ContextPanelCoreTests/AccountConfigurationStoreTests.swift
M Tests/ContextPanelCoreTests/ClaudeLocalStatusTests.swift
D Tests/ContextPanelCoreTests/ClaudeWebUsageTests.swift
M Tests/ContextPanelCoreTests/FastModeForecastTests.swift
M Tests/ContextPanelCoreTests/ProviderConnectorTests.swift
M Tests/ContextPanelCoreTests/SnapshotStoreTests.swift
M docs/README.md
M docs/provider-usage-access.md
M docs/release.md
M scripts/claude-ccusage-cache.sh
M scripts/claude-statusline-cache.sh
M scripts/package-native-macos-app.sh
M scripts/upload-testflight-macos-app.sh
M scripts/validate-claude-statusline-pipeline.sh
?? .claude/
?? Sources/ContextPanelCore/SecureFileBookmark.swift
?? Tests/ContextPanelCoreTests/ReleaseEntitlementsTests.swift
?? docs/todo.md, AGENTS.md | 55 +-
Config/ContextPanel.entitlements | 20 +-
Config/ContextPanelAppStore.entitlements | 6 +
Config/ContextPanelRefreshAgent.entitlements | 20 +-
.../ContextPanelRefreshAgentAppStore.entitlements | 6 +
ContextPanel.xcodeproj/project.pbxproj | 8 +-
Package.swift | 8 -
Sources/ClaudeLimitProbe/main.swift | 33 +-
.../ClaudeWebUsageProbeApp.swift | 583 ---------------------
.../AccountConfigurationStore.swift | 77 ++-
Sources/ContextPanelCore/BurnRateEstimator.swift | 229 ++++++--
Sources/ContextPanelCore/ClaudeLocalStatus.swift | 167 +++---
.../ContextPanelCore/ClaudeStatuslineSetup.swift | 8 +-
Sources/ContextPanelCore/ClaudeWebUsage.swift | 140 -----
.../ContextPanelCore/ContextPanelLocations.swift | 106 ++--
Sources/ContextPanelCore/FastModeForecast.swift | 17 +-
Sources/ContextPanelCore/ProviderConnector.swift | 37 --
.../ContextPanelCore/SnapshotRefreshService.swift | 18 +-
Sources/ContextPanelCore/SnapshotStore.swift | 9 +-
.../ContextPanelPreviewApp.swift | 521 ++++++------------
.../ContextPanelWidget/ContextPanelWidget.swift | 58 +-
.../AccountConfigurationStoreTests.swift | 51 +-
.../ClaudeLocalStatusTests.swift | 75 +--
.../ClaudeWebUsageTests.swift | 62 ---
.../FastModeForecastTests.swift | 224 +++++++-
.../ProviderConnectorTests.swift | 112 +++-
.../ContextPanelCoreTests/SnapshotStoreTests.swift | 100 +++-
docs/README.md | 1 +
docs/provider-usage-access.md | 31 +-
docs/release.md | 25 +-
scripts/claude-ccusage-cache.sh | 17 +-
scripts/claude-statusline-cache.sh | 19 +-
scripts/package-native-macos-app.sh | 57 +-
scripts/upload-testflight-macos-app.sh | 18 +
scripts/validate-claude-statusline-pipeline.sh | 14 -
35 files changed, 1266 insertions(+), 1666 deletions(-), and targeted diffs by file group.
Decisions
Do not build signed release candidates from broad dirty state.
Open Questions
Which current changes should be preserved as scratch dogfood evidence versus reset into clean branches?
Objective
Separate the current broad dirty tree into reviewable workstreams so fixes stop masking or reintroducing each other.
Finish Line
Every dirty change is classified as keep, revert, shelve, or split into a focused branch/PR; no signed dogfood package is built from a broad multi-workstream tree unless explicitly marked as scratch.
Current Status
State: Active
Next action: Split the
AGENTS.mdruntime guardrail into its own doc-only PR, then branch remaining fixes by purpose.Blocked by: Need explicit decision before reverting/shelving broad dirty code changes.
Last verified: 2026-05-12
Dirty tree groups:
AGENTS.md. This is coherent and should be kept as a small doc-only PR.Config/*entitlements,scripts/package-native-macos-app.sh,scripts/upload-testflight-macos-app.sh,docs/release.md,Tests/ReleaseEntitlementsTests.swift, Xcode project changes.SecureFileBookmark.swift,AccountConfigurationStore.swift,SnapshotRefreshService.swift, account-store tests, provider connector tests, provider usage docs.SnapshotStore.swift,SnapshotStoreTests.swift; current behavior preserves failed refreshes but also preserves stale logical account IDs.BurnRateEstimator.swift,FastModeForecast.swift,FastModeForecastTests.swift, widget forecast display changes.ContextPanelPreviewApp.swift, widget display preferences changes, settings text/authorization UI changes.Sources/ClaudeWebUsageProbe, deletedClaudeWebUsage.swift, deleted tests, Package.swift/Xcode membership changes, UI sheet removal.ClaudeLocalStatus.swift,ClaudeStatuslineSetup.swift, Claude scripts, Claude tests,ClaudeLimitProbe/main.swift.docs/README.md,docs/provider-usage-access.md,docs/todo.mdexisting pre-work untracked/dirty state.Recommended branch/PR order:
AGENTS.mdruntime validation guardrail only.Current stop condition:
Do not package or install another dogfood/TestFlight build from this broad dirty tree. Any next code change should happen on a focused branch or after explicitly shelving unrelated changes.
Scope
Acceptance Criteria
Relationships
Sub-issue of #64. Should precede product/provider fixes.
Validation
Use ## fix/widget-refresh-regression
M AGENTS.md
M Config/ContextPanel.entitlements
M Config/ContextPanelAppStore.entitlements
M Config/ContextPanelRefreshAgent.entitlements
M Config/ContextPanelRefreshAgentAppStore.entitlements
M ContextPanel.xcodeproj/project.pbxproj
M Package.swift
M Sources/ClaudeLimitProbe/main.swift
D Sources/ClaudeWebUsageProbe/ClaudeWebUsageProbeApp.swift
M Sources/ContextPanelCore/AccountConfigurationStore.swift
M Sources/ContextPanelCore/BurnRateEstimator.swift
M Sources/ContextPanelCore/ClaudeLocalStatus.swift
M Sources/ContextPanelCore/ClaudeStatuslineSetup.swift
D Sources/ContextPanelCore/ClaudeWebUsage.swift
M Sources/ContextPanelCore/ContextPanelLocations.swift
M Sources/ContextPanelCore/FastModeForecast.swift
M Sources/ContextPanelCore/ProviderConnector.swift
M Sources/ContextPanelCore/SnapshotRefreshService.swift
M Sources/ContextPanelCore/SnapshotStore.swift
M Sources/ContextPanelPreview/ContextPanelPreviewApp.swift
M Sources/ContextPanelWidget/ContextPanelWidget.swift
M Tests/ContextPanelCoreTests/AccountConfigurationStoreTests.swift
M Tests/ContextPanelCoreTests/ClaudeLocalStatusTests.swift
D Tests/ContextPanelCoreTests/ClaudeWebUsageTests.swift
M Tests/ContextPanelCoreTests/FastModeForecastTests.swift
M Tests/ContextPanelCoreTests/ProviderConnectorTests.swift
M Tests/ContextPanelCoreTests/SnapshotStoreTests.swift
M docs/README.md
M docs/provider-usage-access.md
M docs/release.md
M scripts/claude-ccusage-cache.sh
M scripts/claude-statusline-cache.sh
M scripts/package-native-macos-app.sh
M scripts/upload-testflight-macos-app.sh
M scripts/validate-claude-statusline-pipeline.sh
?? .claude/
?? Sources/ContextPanelCore/SecureFileBookmark.swift
?? Tests/ContextPanelCoreTests/ReleaseEntitlementsTests.swift
?? docs/todo.md, AGENTS.md | 55 +-
Config/ContextPanel.entitlements | 20 +-
Config/ContextPanelAppStore.entitlements | 6 +
Config/ContextPanelRefreshAgent.entitlements | 20 +-
.../ContextPanelRefreshAgentAppStore.entitlements | 6 +
ContextPanel.xcodeproj/project.pbxproj | 8 +-
Package.swift | 8 -
Sources/ClaudeLimitProbe/main.swift | 33 +-
.../ClaudeWebUsageProbeApp.swift | 583 ---------------------
.../AccountConfigurationStore.swift | 77 ++-
Sources/ContextPanelCore/BurnRateEstimator.swift | 229 ++++++--
Sources/ContextPanelCore/ClaudeLocalStatus.swift | 167 +++---
.../ContextPanelCore/ClaudeStatuslineSetup.swift | 8 +-
Sources/ContextPanelCore/ClaudeWebUsage.swift | 140 -----
.../ContextPanelCore/ContextPanelLocations.swift | 106 ++--
Sources/ContextPanelCore/FastModeForecast.swift | 17 +-
Sources/ContextPanelCore/ProviderConnector.swift | 37 --
.../ContextPanelCore/SnapshotRefreshService.swift | 18 +-
Sources/ContextPanelCore/SnapshotStore.swift | 9 +-
.../ContextPanelPreviewApp.swift | 521 ++++++------------
.../ContextPanelWidget/ContextPanelWidget.swift | 58 +-
.../AccountConfigurationStoreTests.swift | 51 +-
.../ClaudeLocalStatusTests.swift | 75 +--
.../ClaudeWebUsageTests.swift | 62 ---
.../FastModeForecastTests.swift | 224 +++++++-
.../ProviderConnectorTests.swift | 112 +++-
.../ContextPanelCoreTests/SnapshotStoreTests.swift | 100 +++-
docs/README.md | 1 +
docs/provider-usage-access.md | 31 +-
docs/release.md | 25 +-
scripts/claude-ccusage-cache.sh | 17 +-
scripts/claude-statusline-cache.sh | 19 +-
scripts/package-native-macos-app.sh | 57 +-
scripts/upload-testflight-macos-app.sh | 18 +
scripts/validate-claude-statusline-pipeline.sh | 14 -
35 files changed, 1266 insertions(+), 1666 deletions(-), and targeted diffs by file group.
Decisions
Do not build signed release candidates from broad dirty state.
Open Questions
Which current changes should be preserved as scratch dogfood evidence versus reset into clean branches?