Repository navigation
snapshot chain accounting follow-ups from #2388 review (unknown-base byte bound, vanished-parent pin, unparseable-history alerting) - #2545
Conversation
…arent branch, alarm on degraded probes (#2538)
Code reviewNo actionable correctness, security, or regression findings identified in the reviewed changes. |
Code reviewCanonical review record (reconciler-written, company#383) Verdict: NEEDS-CHANGES at
Canonical record written by the reconciler from the reviewer's structured return (company#383); the reviewer's own prose comment is discussion. |
…ache hits are not measurements (#2545 F1) The single process-global streak per reason was reset by every successful image_disk_cost, including chain-cache hits, so one image's persistent failure (always probed beside successful base/parent/committed probes) never reached ALERT_STREAK. - Streaks are keyed per (reason, subject=image id / base ref); only a fresh success of the same subject resets it. - Chain-cache hits no longer report to telemetry at all. - Per-subject keying alone does NOT cover the fleet-wide case where every NEW image degrades once or twice (no per-image streak ever reaches 5), so a per-reason sliding window (20 fresh outcomes, alarm at >=10 degraded, re-arm at <=5) is added as a second trigger. Reviewer probes A and B are added as regression tests; red on f7dc115, green now.
Code reviewNo actionable correctness, security, or regression findings identified. |
Code reviewReviewed head Verdict: NEEDS-CHANGES (one blocking finding) F1: type-check gate is red. CI
What was executed:
I found no correctness defects in the N1/N2/N3 logic. |
Code reviewCanonical review record (reconciler-written, company#383) Verdict: NEEDS-CHANGES at
Canonical record written by the reconciler from the reviewer's structured return (company#383); the reviewer's own prose comment is discussion. |
Code review
|
Code reviewCanonical review record (reconciler-written, company#383) Verdict: MERGE-SAFE at No blocking findings at this head. Canonical record written by the reconciler from the reviewer's structured return (company#383); the reviewer's own prose comment is discussion. |
Risk AssessmentTier 3 Follow-ups to the #2388 snapshot chain accounting (+587/-9 across 3 files). Two changes to sandbox/backends/docker.py affect when snapshots flatten or commit. First, when the base image is confirmed gone, the budget is now charged the parent's full cost. Second, when the base can't be inspected because of a transient error, the snapshot flattens once the parent chain exceeds 4x the budget. This changes how flattening behaves in the core snapshot verb that runs on every idle exit, and the old absent-base test now checks only the no-budget case. Also adds a new snapshot_telemetry.py module: a Prometheus counter, per-subject consecutive-failure streak alarms and sliding-window alarms, with module-global thread-locked state. It's meant to be observation-only and fail-safe. There are about 340 lines of new unit tests. Rated tier 3 rather than 2 because the change touches disk accounting and flatten logic on a hot path, adds global state, and could cause more flattening in production. It is not tier 4: there's no migration and nothing security-sensitive. |
Auto-merge receiptThe dev-pipeline reconciler auto-merged PR #2545 at head |
Post-merge: a pipeline PR was merged WITHOUT the maker≠checker gatepipeline:v2 PR #2545 MERGED without the reconciler's maker≠checker gate (risk:tier-3 is ABOVE the auto-merge cap (2)). Auto-merge requires reviewed:green + an in-cap risk tier — this merge bypassed it. |
Automated dev-pipeline build for issue #2538.