refactor(metrics): re-home metrics onto aragora.evaluation with shims (VAL-P4A-012)#8696
Conversation
… (VAL-P4A-012) Move the VIAH, Manifold Brier, and capability-checkpoint originals from aragora/metrics/ to aragora/evaluation/ and leave aragora/metrics/*.py as DeprecationWarning re-export shims so the legacy import paths keep working. Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Aragora Code ReviewAdvisory-only review. No issues found. |
…home Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Claude independent model reviewReviewer: claude (anthropic) — independent adversarial model review via the Aragora Claude reviewer, grounded on the exact PR head. Verdict: PASS Symbol parity and mechanics check out: every shim re-exports the full public surface of its new
dogfood: yes |
Claude independent model reviewReviewer: claude (anthropic) — independent adversarial model review via the Aragora Claude reviewer, grounded on the exact PR head. Verdict: PASS This is a clean re-homing refactor: the metric modules (
dogfood: yes |
What
Re-home the
aragora/metrics/originals ontoaragora/evaluation/and leavearagora/metrics/*.pyasDeprecationWarningre-export shims so every legacyimport path keeps working for one release (VAL-P4A-012).
Moved (pure
git mv, content unchanged) toaragora/evaluation/:viah.py,viah_signals.py,viah_status.pymanifold_brier.py,manifold_brier_bridge.pycapability_checkpoint.pyaragora/metrics/now contains only two-sided re-export shims:__all__from the matchingaragora.evaluation.*home and emits aDeprecationWarningwhose messagenames the old
aragora.metrics.*path__init__emits anaragora.metrics is deprecatedwarning andkeeps its lazy PEP 562
__getattr__(now resolving againstaragora.evaluation)Intra-package imports inside the two moved bridge/status modules were repointed
to their new
aragora.evaluation.*homes. The only external importer,aragora/cli/commands/agt_metrics.py, intentionally stays on the shim.Behavior
from aragora.metrics import ...,from aragora.metrics.viah import ..., etc.) keep working and now emit aDeprecationWarning.aragora.evaluation.*originals(
aragora.metrics.viah.compute_viah is aragora.evaluation.viah.compute_viah).Validation
VAL-P4A-012two-sided shim check (every trackedaragora/metrics/*.py):code-free shim (only
__getattr__/__dir__allowed), re-export restricted toaragora.evaluation/aragora.metrics, old path import works, new homeimportable, package
DeprecationWarningcontainsmetrics:Local gates:
make lintPASS;ruff format --check aragora/ tests/ scripts/PASS; CI changed-file typecheck (
mypy --ignore-missing-imports --follow-imports=skipover the 13 changed files)Success: no issues found;tests/metrics/+tests/cli/test_agt_metrics_status.py234 passed (onepre-existing failure
test_invalid_weeks_raises, confirmed identical on cleanorigin/main, unrelated to this move);make test-smokeand the smoke tier(138 passed) PASS.
Notes / risks
docs/METRICS.mdandaragora/module_tiers.yamlare intentionally NOTregenerated here: both are path-frozen by open PRs chore(deps): update audit-vulnerable Python locks #8460/fix(ci): clear base security and smoke blockers #8461/feat(tier4): settle_tier4_pr.py — one-command --settle-apply + receipt-backed preapproval gate #8382 and are
handled by the phase merge-train's single consolidated regen.
aragora/metrics/**makes this a Tier-3 PR (path-based). Preparedfor operator risk settlement.