Skip to content

feat: profiling_drift vitals leg — pinned-value drift from autolens_profiling#38

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/profiling-drift-check
Jul 8, 2026
Merged

feat: profiling_drift vitals leg — pinned-value drift from autolens_profiling#38
Jammy2211 merged 1 commit into
mainfrom
feature/profiling-drift-check

Conversation

@Jammy2211

Copy link
Copy Markdown
Contributor

Summary

Closes #37. autolens_profiling's runtime cells record pinned likelihood/evidence drift into their result JSONs (pinned_expected / pinned_drift) instead of crashing (autolens_profiling#54, merged). This PR closes the loop on Heart's side: a drifted result is a health finding — library regression or stale pin, either way the profiling baselines are non-comparable until a human resolves it.

Changes

  • heart/checks/profiling_drift.py (new) — observer-only scan of autolens_profiling/results/**/*.json for non-empty pinned_drift; writes ~/.pyauto-heart/profiling_drift.json; repo absent → observed: false and the tick skips gracefully (mirrors the script_timing guard)
  • heart/state.py — snapshot key; heart/tick.sh — invocation with dir guard
  • heart/readiness.py — YELLOW reason per drifted result (capped at 5 + "+N more"), weight (10, 30)
  • heart/dashboard.pyprofiling_drift section + LOCAL_ONLY_FAMILIES entry
  • tests/test_profiling_drift.py (new) — 7 cases: clean / drifted / fields-absent+corrupt-JSON ignored / repo absent / readiness yellow / cap / clean-adds-nothing

Test Plan

  • Full Heart suite 217/217 (the repo's PR gate)
  • Live scan against the real autolens_profiling checkout: clean, 0 drift

Validation checklist (--auto run — plan on the issue)

  • Effective level: supervised (header: supervised, cap: feature → supervised)
  • Gate: tests 217/217 · smoke n/a (organism repo, no downstream script surface) · review CLEAN · Heart YELLOW, human-acknowledged at ship sign-off (in-session): reason set organism-wide, unrelated
  • Human: plan sound in hindsight?
  • Human: diff matches plan?
  • Human: merge, amend, or reject — then log the outcome

🤖 Generated with Claude Code

…rofiling (#37)

autolens_profiling's runtime cells record pinned likelihood/evidence
drift into result JSONs (pinned_expected/pinned_drift) instead of
crashing (autolens_profiling#54). Close the loop on Heart's side:

- heart/checks/profiling_drift.py: observer-only scan of
  autolens_profiling/results/**/*.json for non-empty pinned_drift;
  writes ~/.pyauto-heart/profiling_drift.json; repo absent ->
  observed: false, tick skips gracefully
- snapshot key in heart/state.py; tick.sh invocation mirroring the
  script_timing guard; readiness YELLOW reason per drifted result
  (capped at 5 + "+N more", weight (10, 30)); dashboard section;
  LOCAL_ONLY_FAMILIES entry
- tests/test_profiling_drift.py: 7 cases (clean/drifted/ignored/absent
  + readiness yellow/cap/clean); suite 217/217

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Jammy2211 Jammy2211 merged commit d63bc6c into main Jul 8, 2026
4 checks passed
@Jammy2211 Jammy2211 deleted the feature/profiling-drift-check branch July 8, 2026 17:08
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.

feat: vitals leg — pinned-value drift flags from autolens_profiling

1 participant