Conversation
There was a problem hiding this comment.
This is the final PR Bugbot will review for you during this billing cycle
Your free Bugbot reviews will reset on December 10
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| warnings=data.get("warnings", []), | ||
| ) | ||
|
|
||
| return report |
There was a problem hiding this comment.
Bug: History Reports: Time Rewrites The Past
When loading reports from history, _report_from_dict reconstructs metric dataclasses which triggers their __post_init__ methods. These methods recalculate time-dependent values like staleness_hours using datetime.utcnow() instead of the original report timestamp, causing historical "healthy" reports to appear increasingly stale over time. The recalculated alerts then cause DISObservabilityReport.__post_init__ to generate incorrect alert_decision values, breaking the persistence feature where a "normal" severity report could become "critical" when reloaded.
Summary
Testing
Codex Task
Note
Persist observability reports to a JSON history (reloaded on startup) and add alert routing/severity metadata with paging/blocking, plus tests.
AlertDecisiondataclass and computereport.alert_decision(severity, paging, block, triggers).ObservabilityHistoryStoreto append/loadobservability_history.json.last_alert_decision.AlertDecisioninobservability/__init__.py.get_observability_summarynow includesalert_severityandblock_runper dataset.tests/observability/test_dis_observability_history.pycovering history persistence across restarts and critical alert blocking behavior.Written by Cursor Bugbot for commit 613e20c. This will update automatically on new commits. Configure here.