Skip to content

Restore forecasts and show confidence through colour saturation - #8

Merged
mindtheflo merged 2 commits into
nightlyfrom
conductor/prediction-status-check
Oct 16, 2026
Merged

mindtheflo merged 2 commits into
nightlyfrom
conductor/prediction-status-check

Conversation

@mindtheflo

@mindtheflo mindtheflo commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Preserve prior forecast evidence across transient startup metadata gaps while still restarting the fleet epoch on confirmed account, plan, or limit changes. Existing history is recovered in place, without a migration or fabricated observations.
  • Accept fresh, advancing zero-usage observations when an unused allowance reports a moving reset. Continue rejecting cached observations, spent-cycle resets, and fully exhausted fleets.
  • Recognize slow whole-percentage quota increments as measured activity rather than requiring an hour's worth of positive five-minute intervals. Keep the six-hour coverage, recent-coverage, and conservative uncertainty requirements.
  • Preserve history when saving the same connection; expose recent observation coverage in the redacted diagnostic CLI.
  • Refresh the native demo screenshots required by CI; no UI redesign or release promotion.
  • Show the middle sensitivity scenario's hue even when the full band is inconclusive. Colour saturation reflects agreement across five equally spaced demand scenarios, each checked with both routing policies. This is sensitivity agreement, not a calibrated accuracy probability.
  • Keep unsupported/partial readings grey, actual exhaustion fully red, measured quota fill unchanged, and individual account colours measurement-only. Combined window bars use the weakest provider agreement and preserve provider bottlenecks.
  • Add tentative/mixed/strong tooltip descriptions in English and French and expose displayed predictions and scenario agreement in the redacted diagnostic CLI.

Verification

  • Reproduced startup-history loss, idle-reset rejection, and quantized-usage rejection with failing regression checks before their respective fixes.
  • swift test: 70 passed, including actual fleet-change, all-zero demand, exhausted fleet, cached-reading, sleep-gap, tentative-colour, saturation, and independent-provider safeguards.
  • Native AppKit light/dark rendering checks: increasing agreement increases saturation while hue, brightness and opacity stay constant; measured red remains unchanged. Visually reviewed the rendered icon comparison.
  • python3 scripts/check-release.py: passed; all three fresh native screenshots visually reviewed.
  • bash -n scripts/build.sh scripts/install.sh scripts/uninstall.sh and git diff --check: passed.
  • Built and installed locally using the existing Developer ID identity. Installed source commit matches this PR's clean source, signature verification passes, old history remains, and live quota reads succeed.
  • Live forecasts now reach the demand model and show tentative hues with scenario agreement even when the conservative whole-band decision is inconclusive.

Test

Native macOS app; no HTTP preview. Run swift test and swift run cpamc-quota-check. The latter reads live quotas and existing local history without writing history or exposing account names by default.

Draft only. No merge to nightly or stable promotion requested or performed.

@mindtheflo mindtheflo changed the title Fix forecast history recovery and slow quota learning Restore forecasts and show confidence through colour saturation Oct 16, 2026
@mindtheflo
mindtheflo marked this pull request as ready for review October 16, 2026 10:16
@mindtheflo
mindtheflo merged commit 49bfbc8 into nightly Oct 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant