diff --git a/tests/golden/enumerate_resolution_trend_contract.py b/tests/golden/enumerate_resolution_trend_contract.py new file mode 100644 index 0000000..7b3b575 --- /dev/null +++ b/tests/golden/enumerate_resolution_trend_contract.py @@ -0,0 +1,218 @@ +"""Characterization enumerator for ``_build_resolution_trend`` — the 1,852-line +god-function in ``operator_resolution_trend`` whose 1,676-line ``payload.update({...})`` +assembles the full operator resolution-trend payload (320+ keys) from the +apply-chain / summary-context stages. + +The sibling enumerators pin the lower layers: + * ``enumerate_recovery_state_contract.py`` — the pure ``(status:str)->str`` classifiers. + * ``enumerate_composer_contract.py`` — the per-tier dict/list composers. +Neither exercises the *top-level assembly* — how the god-function wires the +apply-chain tiers and summary-context into the final payload dict the two real +consumers (``operator_control_center`` and ``operator_decision_quality``) read. +This enumerator captures that assembled payload across a representative input +corpus into a frozen golden, so the upcoming decomposition of the god-function +(extracting the payload-assembly seam, then collapsing the per-tier blocks onto a +parametrized base) is provably byte-identical: re-run this, diff the JSON, and a +clean diff proves the structure was preserved. + +Safety: imports only the pure-computation module (verified free of import-time +DB/IO side effects, same as the sibling enumerators) and calls +``_build_resolution_trend`` on in-memory synthetic inputs. Never opens a database. + +Regenerate the golden only with an intentional, reviewed behavior change:: + + uv run python tests/golden/enumerate_resolution_trend_contract.py +""" + +from __future__ import annotations + +import json +from pathlib import Path +from typing import Any + +import src.operator_resolution_trend as m + +REPO = Path(__file__).resolve().parents[2] +GOLDEN_PATH = REPO / "tests" / "golden" / "resolution_trend_contract.golden.json" + + +def _item( + item_id: str, + *, + lane: str, + kind: str, + repo: str, + title: str, + age_days: int, + severity: float, +) -> dict[str, Any]: + """A queue/snapshot item rich enough for target selection + class keying.""" + return { + "item_id": item_id, + "id": item_id, + "lane": lane, + "kind": kind, + "repo": repo, + "title": title, + "age_days": age_days, + "severity": severity, + "score": severity, + "recommended_next_step": f"Act on {title}.", + "reason": f"{title} needs attention.", + } + + +def _snapshot(items: list[dict], *, generated_at: str) -> dict[str, Any]: + """A history snapshot keyed by ``_queue_identity`` (item_id when present).""" + return { + "snapshot": { + "items": {it["item_id"]: it for it in items}, + "has_attention": any(it["lane"] in ("blocked", "urgent") for it in items), + "generated_at": generated_at, + } + } + + +def _ts(day: int) -> str: + return f"2026-04-{day:02d}T12:00:00Z" + + +# --------------------------------------------------------------------------- # +# Corpus: each case is (label, queue, history, evidence_events, +# confidence_calibration, current_generated_at). Designed to exercise the empty +# branch (falsy primary_target -> IfExp false-branches) AND a stale-attention +# target that survives the full apply-chain (truthy primary_target -> IfExp +# true-branches + populated per-tier summaries/hotspots). +# --------------------------------------------------------------------------- # +def _corpus() -> list[tuple[str, list, list, list, dict, str]]: + blocked = _item( + "RepoA:Harden auth", + lane="blocked", + kind="security", + repo="RepoA", + title="Harden auth", + age_days=12, + severity=0.9, + ) + urgent = _item( + "RepoB:Ship migration", + lane="urgent", + kind="migration", + repo="RepoB", + title="Ship migration", + age_days=9, + severity=0.7, + ) + ready = _item( + "RepoC:Polish docs", + lane="ready", + kind="docs", + repo="RepoC", + title="Polish docs", + age_days=2, + severity=0.3, + ) + + # A long stale-attention history so the blocked item climbs the apply chain. + stale_history = [ + _snapshot([blocked, urgent, ready], generated_at=_ts(day)) + for day in range(1, 9) + ] + + evidence = [ + { + "item_id": "RepoA:Harden auth", + "kind": "intervention", + "outcome": "in-progress", + "generated_at": _ts(7), + "magnitude": 0.8, + }, + { + "item_id": "RepoA:Harden auth", + "kind": "resolution", + "outcome": "confirmed", + "generated_at": _ts(8), + "magnitude": 0.6, + }, + ] + calibration = { + "confidence": 0.62, + "sample_size": 14, + "reliability": "noisy", + "recent_accuracy": 0.55, + } + + return [ + ("empty", [], [], [], {}, _ts(9)), + ( + "single_blocked_stale", + [blocked], + stale_history, + evidence, + calibration, + _ts(9), + ), + ( + "multi_class_attention", + [blocked, urgent, ready], + stale_history, + evidence, + calibration, + _ts(9), + ), + ( + "attention_no_history", + [blocked, urgent], + [], + [], + {}, + _ts(9), + ), + ] + + +def _jsonable(value: Any) -> Any: + """Stable, lossless-enough JSON projection. Sets -> sorted lists; tuples -> + lists; anything exotic -> its repr (recorded as part of the contract).""" + if isinstance(value, dict): + return {str(k): _jsonable(v) for k, v in value.items()} + if isinstance(value, (list, tuple)): + return [_jsonable(v) for v in value] + if isinstance(value, set): + return ["<>", *sorted(_jsonable(v) for v in value)] + if isinstance(value, (str, int, float, bool)) or value is None: + return value + return repr(value) + + +def build_contract() -> dict[str, Any]: + contract: dict[str, Any] = {} + for label, queue, history, evidence, calibration, generated_at in _corpus(): + payload = m._build_resolution_trend( + queue, + history, + evidence, + confidence_calibration=calibration, + current_generated_at=generated_at, + ) + contract[label] = _jsonable(payload) + return contract + + +def main() -> None: + contract = build_contract() + GOLDEN_PATH.write_text(json.dumps(contract, indent=2, sort_keys=True) + "\n") + # Operator-facing sanity print (not part of the contract). + cases = len(contract) + keysets = {label: len(rows) for label, rows in contract.items()} + primary = { + label: bool(rows.get("primary_target")) for label, rows in contract.items() + } + print(f"wrote {GOLDEN_PATH.relative_to(REPO)}") + print(f"cases: {cases}") + print(f"keys per case: {keysets}") + print(f"truthy primary_target per case: {primary}") + + +if __name__ == "__main__": + main() diff --git a/tests/golden/resolution_trend_contract.golden.json b/tests/golden/resolution_trend_contract.golden.json new file mode 100644 index 0000000..5bfb6c0 --- /dev/null +++ b/tests/golden/resolution_trend_contract.golden.json @@ -0,0 +1,4585 @@ +{ + "attention_no_history": { + "accountability_summary": "This is the highest blocked item, so it outranks urgent and ready work. Treat this as done only when complete the recommended action and confirm the item exits the blocked or urgent queue on the next run. Aging pressure: 0 chronic item(s) and 2 newly stale item(s).", + "aging_status": "stale", + "attention_age_bands": { + "0-1 days": 0, + "2-7 days": 0, + "22+ days": 0, + "8-21 days": 2 + }, + "caution_class_hotspots": [], + "caution_pending_debt_hotspots": [], + "chronic_item_count": 0, + "class_decay_summary": "Older class lessons are aging out around blocked:security, so trust posture there should rely less on stale carry-forward.", + "class_decay_window_runs": 4, + "class_memory_summary": "Class memory is aging out most visibly around blocked:security, so older class lessons should not keep carrying forward there.", + "class_momentum_summary": "Class momentum is still too lightly exercised to say whether recent class guidance is sustained or unstable.", + "class_normalization_window_runs": 4, + "class_pending_debt_summary": "No class pending-debt pattern is strong enough to change how pending signals are interpreted yet.", + "class_pending_debt_window_runs": 10, + "class_pending_resolution_summary": "No class-level pending-resolution pattern is strong enough to call out yet.", + "class_reweight_stability_summary": "Class guidance for RepoA: Harden auth is still settling and should be watched for one more stable stretch: neutral.", + "class_reweighting_summary": "Class evidence is informative, but not strong enough to move posture by itself yet.", + "class_reweighting_window_runs": 4, + "class_transition_age_window_runs": 4, + "class_transition_health_summary": "No active pending class transition is building or stalling right now.", + "class_transition_resolution_summary": "No pending class transition has just confirmed, cleared, or expired in the recent window.", + "class_transition_window_runs": 4, + "closure_forecast_decay_summary": "No strong closure-forecast freshness trend is dominating the live hysteresis posture yet.", + "closure_forecast_decay_window_runs": 4, + "closure_forecast_freshness_summary": "Closure-forecast memory is still too lightly exercised to say whether fresh or stale forecast evidence should lead the current posture.", + "closure_forecast_hysteresis_summary": "No closure-forecast hysteresis adjustment is changing the live pending forecast right now.", + "closure_forecast_momentum_summary": "Closure-forecast momentum is still too lightly exercised to say whether recent pending-resolution behavior is sustained or unstable.", + "closure_forecast_persistence_reset_summary": "No persistence reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reacquisition_decay_window_runs": 4, + "closure_forecast_reacquisition_freshness_summary": "Reacquired closure-forecast memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reacquisition_persistence_summary": "No reacquired closure-forecast posture is active enough yet to judge whether it can hold.", + "closure_forecast_reacquisition_summary": "No closure-forecast reacquisition is re-earning stronger carry-forward right now.", + "closure_forecast_reacquisition_window_runs": 4, + "closure_forecast_recovery_churn_summary": "No meaningful recovery churn is active right now.", + "closure_forecast_refresh_recovery_summary": "No closure-forecast refresh recovery is strong enough yet to re-earn stronger carry-forward.", + "closure_forecast_refresh_window_runs": 4, + "closure_forecast_reset_reentry_churn_summary": "No meaningful reset re-entry churn is active right now.", + "closure_forecast_reset_reentry_decay_window_runs": 4, + "closure_forecast_reset_reentry_freshness_summary": "Reset re-entry memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_persistence_summary": "No reset re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_churn_summary": "No meaningful reset re-entry rebuild churn is active right now.", + "closure_forecast_reset_reentry_rebuild_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_freshness_summary": "Rebuilt reset re-entry memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_persistence_summary": "No rebuilt reset re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_churn_summary": "No meaningful rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_freshness_summary": "Rebuilt re-entry memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_reentry_persistence_summary": "No rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_summary": "No rebuilt re-entry recovery attempt is active enough yet to restore stronger posture.", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_reset_summary": "No rebuilt re-entry reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_summary": "No meaningful restored rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_summary": "Restored rebuilt re-entry memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_summary": "No restored rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_summary": "No restored rebuilt re-entry recovery attempt is active enough yet to re-restore stronger posture.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_summary": "No meaningful re-re-re-restored rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_summary": "No re-re-re-restored rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_summary": "No re-re-restored rebuilt re-entry re-re-re-restore control is changing the current closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_summary": "No meaningful re-re-restored rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_summary": "Re-re-restored rebuilt re-entry memory is still too lightly exercised to say whether stronger re-re-restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_summary": "No re-re-restored rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_summary": "No re-re-restored rebuilt re-entry recovery attempt is active enough yet to re-re-re-restore stronger posture.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_summary": "No re-re-restored rebuilt re-entry reset is changing the current stronger closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_summary": "No rerestored rebuilt re-entry re-re-restore control is changing the current closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_summary": "No meaningful re-restored rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_summary": "Rerestored rebuilt re-entry memory is still too lightly exercised to say whether stronger rerestored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_summary": "No re-restored rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_summary": "No rerestored rebuilt re-entry recovery attempt is active enough yet to re-re-restore stronger posture.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_summary": "No rerestored rebuilt re-entry reset is changing the current stronger closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_summary": "No restored rebuilt re-entry re-restore control is changing the current closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_summary": "No restored rebuilt re-entry reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_summary": "No rebuilt re-entry restore control is changing the current closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_summary": "No rebuilt re-entry control is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_refresh_recovery_summary": "No rebuilt reset re-entry recovery attempt is active enough yet to re-earn stronger restored posture.", + "closure_forecast_reset_reentry_rebuild_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reset_summary": "No rebuilt reset re-entry reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_summary": "No reset re-entry rebuild is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_window_runs": 4, + "closure_forecast_reset_reentry_refresh_recovery_summary": "No reset re-entry rebuild attempt is active enough yet to re-earn stronger restored posture.", + "closure_forecast_reset_reentry_refresh_window_runs": 4, + "closure_forecast_reset_reentry_reset_summary": "No reset re-entry reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_summary": "No reset re-entry is strong enough yet to restore stronger reacquisition.", + "closure_forecast_reset_reentry_window_runs": 4, + "closure_forecast_reset_refresh_recovery_summary": "No reset-refresh recovery is strong enough yet to re-enter the reacquisition ladder.", + "closure_forecast_reset_refresh_window_runs": 4, + "closure_forecast_reweighting_summary": "Class evidence is informative, but it is not strong enough to move the closure forecast by itself yet.", + "closure_forecast_reweighting_window_runs": 4, + "closure_forecast_stability_summary": "Closure forecasting for RepoA: Harden auth is still settling and should be watched for one more stable stretch: neutral.", + "closure_forecast_transition_window_runs": 4, + "closure_guidance": "Treat this as done only when complete the recommended action and confirm the item exits the blocked or urgent queue on the next run.", + "confirmed_resolved_count": 0, + "decision_memory_map": { + "RepoA:Harden auth": { + "decision_memory_status": "new", + "last_intervention": {}, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet." + }, + "RepoB:Ship migration": { + "decision_memory_status": "new", + "last_intervention": {}, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet." + }, + "__summary__": { + "confirmed_resolved_count": 0, + "decision_memory_window_runs": 1, + "recent_interventions": [], + "recently_quieted_count": 0, + "reopened_after_resolution_count": 0 + } + }, + "decision_memory_status": "new", + "decision_memory_window_runs": 1, + "exception_pattern_summary": "Recent exception behavior does not yet show a strong overcautious or recovery pattern.", + "exception_retirement_summary": "Recent exception retirement behavior does not yet show a strong retire-or-stay pattern.", + "exception_retirement_window_runs": 4, + "false_positive_exception_hotspots": [], + "fresh_class_signal_hotspots": [], + "fresh_closure_forecast_signal_hotspots": [], + "fresh_pending_resolution_hotspots": [], + "fresh_reacquisition_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_restore_rererestore_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_restore_rerestore_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_restore_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_signal_hotspots": [], + "fresh_reset_reentry_rebuild_signal_hotspots": [], + "fresh_reset_reentry_signal_hotspots": [], + "healthy_pending_resolution_hotspots": [], + "history_window_runs": 1, + "holding_reacquisition_hotspots": [], + "holding_reset_reentry_hotspots": [], + "holding_reset_reentry_rebuild_hotspots": [], + "holding_reset_reentry_rebuild_reentry_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_rerererestore_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_rererestore_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_rerestore_hotspots": [], + "just_reacquired_hotspots": [], + "just_rebuilt_hotspots": [], + "just_reentered_hotspots": [], + "just_reentered_rebuild_hotspots": [], + "just_rerererestored_rebuild_reentry_hotspots": [], + "just_rererestored_rebuild_reentry_hotspots": [], + "just_rerestored_rebuild_reentry_hotspots": [], + "just_restored_rebuild_reentry_hotspots": [], + "longest_persisting_item": { + "age_days": 12, + "aging_status": "stale", + "item_id": "RepoA:Harden auth", + "lane": "blocked", + "repo": "RepoA", + "title": "Harden auth" + }, + "new_attention_count": 2, + "newly_stale_count": 2, + "normalized_class_hotspots": [], + "oscillating_class_hotspots": [], + "oscillating_closure_forecast_hotspots": [], + "pending_debt_decay_summary": "No strong pending-debt freshness trend is dominating the closure forecast yet.", + "pending_debt_decay_window_runs": 4, + "pending_debt_freshness_summary": "Pending-transition memory is still too lightly exercised to say whether fresh or stale class debt should lead the forecast.", + "pending_debt_hotspots": [], + "persisting_attention_count": 0, + "policy_debt_hotspots": [], + "policy_debt_summary": "Recent class behavior does not yet show meaningful policy debt.", + "policy_flip_hotspots": [], + "primary_target": { + "age_days": 12, + "aging_status": "stale", + "base_trust_policy": "monitor", + "base_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "calibration_adjustment": 0.0, + "calibration_adjustment_reason": "Calibration is too lightly exercised to change the live score yet.", + "class_decay_reason": "", + "class_decay_status": "none", + "class_memory_freshness_reason": "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal.", + "class_memory_freshness_status": "insufficient-data", + "class_memory_weight": 0.0, + "class_normalization_reason": "", + "class_normalization_status": "none", + "class_pending_debt_rate": 0.0, + "class_pending_debt_reason": "", + "class_pending_debt_status": "none", + "class_pending_resolution_rate": 0.0, + "class_retirement_rate": 0.0, + "class_reweight_stability_status": "watch", + "class_reweight_transition_reason": "", + "class_reweight_transition_status": "none", + "class_sticky_rate": 0.0, + "class_transition_age_runs": 0, + "class_transition_health_reason": "", + "class_transition_health_status": "none", + "class_transition_resolution_reason": "", + "class_transition_resolution_status": "none", + "class_trust_momentum_score": 0.0, + "class_trust_momentum_status": "insufficient-data", + "class_trust_reweight_direction": "neutral", + "class_trust_reweight_effect": "none", + "class_trust_reweight_effect_reason": "", + "class_trust_reweight_reasons": [ + "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal." + ], + "class_trust_reweight_score": 0.0, + "closure_forecast_decay_reason": "", + "closure_forecast_decay_status": "none", + "closure_forecast_freshness_reason": "Closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted forecast run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_freshness_status": "insufficient-data", + "closure_forecast_hysteresis_reason": "", + "closure_forecast_hysteresis_status": "none", + "closure_forecast_memory_weight": 0.0, + "closure_forecast_momentum_score": 0.0, + "closure_forecast_momentum_status": "insufficient-data", + "closure_forecast_persistence_reset_reason": "", + "closure_forecast_persistence_reset_status": "none", + "closure_forecast_reacquisition_age_runs": 0, + "closure_forecast_reacquisition_freshness_reason": "Reacquired closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted reacquisition run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reacquisition_freshness_status": "insufficient-data", + "closure_forecast_reacquisition_memory_weight": 0.0, + "closure_forecast_reacquisition_persistence_reason": "", + "closure_forecast_reacquisition_persistence_score": 0.0, + "closure_forecast_reacquisition_persistence_status": "none", + "closure_forecast_reacquisition_reason": "", + "closure_forecast_reacquisition_status": "none", + "closure_forecast_recovery_churn_reason": "", + "closure_forecast_recovery_churn_score": 0.0, + "closure_forecast_recovery_churn_status": "none", + "closure_forecast_refresh_recovery_score": 0.0, + "closure_forecast_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_age_runs": 0, + "closure_forecast_reset_reentry_churn_reason": "", + "closure_forecast_reset_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_churn_status": "none", + "closure_forecast_reset_reentry_freshness_reason": "Reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted reset re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_freshness_reason": "Rebuilt reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_reason": "Rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_reason": "Restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_reason": "Re-re-restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted re-re-restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_reason": "Rerestored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rerestored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_status": "none", + "closure_forecast_reset_reentry_rebuild_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_status": "none", + "closure_forecast_reset_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_reset_reason": "", + "closure_forecast_reset_reentry_reset_status": "none", + "closure_forecast_reset_reentry_status": "none", + "closure_forecast_reset_refresh_recovery_score": 0.0, + "closure_forecast_reset_refresh_recovery_status": "none", + "closure_forecast_reweight_direction": "neutral", + "closure_forecast_reweight_effect": "none", + "closure_forecast_reweight_effect_reason": "", + "closure_forecast_reweight_reasons": [], + "closure_forecast_reweight_score": 0.0, + "closure_forecast_stability_status": "watch", + "closure_guidance": "Treat this as done only when complete the recommended action and confirm the item exits the blocked or urgent queue on the next run.", + "confidence_label": "medium", + "confidence_reasons": [ + "Blocked operator work outranks urgent and ready items.", + "This item is stale and should be closed before it gets older.", + "The suggested next step is still generic rather than tightly item-specific." + ], + "confidence_score": 0.6, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "decayed_clearance_forecast_rate": 0.0, + "decayed_confirmation_forecast_rate": 0.0, + "decayed_pending_debt_rate": 0.0, + "decayed_pending_resolution_rate": 0.0, + "decayed_reacquired_clearance_rate": 0.0, + "decayed_reacquired_confirmation_rate": 0.0, + "decayed_rebuilt_clearance_reentry_rate": 0.0, + "decayed_rebuilt_confirmation_reentry_rate": 0.0, + "decayed_reentered_rebuild_clearance_rate": 0.0, + "decayed_reentered_rebuild_confirmation_rate": 0.0, + "decayed_rererestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rererestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_rerestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rerestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_reset_reentered_clearance_rate": 0.0, + "decayed_reset_reentered_confirmation_rate": 0.0, + "decayed_restored_rebuild_reentry_clearance_rate": 0.0, + "decayed_restored_rebuild_reentry_confirmation_rate": 0.0, + "decision_memory_status": "new", + "done_criteria": "Complete the recommended action and confirm the item exits the blocked or urgent queue on the next run.", + "exception_pattern_reason": "", + "exception_pattern_status": "none", + "exception_retirement_reason": "", + "exception_retirement_status": "none", + "item_id": "RepoA:Harden auth", + "kind": "security", + "lane": "blocked", + "lane_label": "Blocked", + "last_intervention": {}, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "newly_stale": true, + "pending_debt_freshness_reason": "Pending-transition memory is still too lightly exercised to judge freshness, with 0.00 weighted pending-entry run(s), 0% debt-like signal, and 0% healthy-resolution signal.", + "pending_debt_freshness_status": "insufficient-data", + "pending_debt_memory_weight": 0.0, + "policy_debt_reason": "", + "policy_debt_status": "none", + "policy_flip_count": 0, + "pre_class_normalization_trust_policy": "monitor", + "pre_class_normalization_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "pre_retirement_trust_policy": "monitor", + "pre_retirement_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "priority": 0, + "reason": "This is the highest blocked item, so it outranks urgent and ready work.", + "recent_class_policy_path": "monitor", + "recent_class_reweight_path": "neutral", + "recent_class_signal_mix": "0.00 weighted exception run(s) with 0.00 retired-like, 0.00 sticky-like, and 0% of the signal from the freshest runs.", + "recent_closure_forecast_path": "neutral", + "recent_closure_forecast_refresh_path": "neutral", + "recent_closure_forecast_signal_mix": "0.00 weighted forecast run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_exception_path": "", + "recent_pending_debt_path": "", + "recent_pending_signal_mix": "0.00 weighted pending-entry run(s) with 0.00 debt-like, 0.00 healthy-resolution, and 0% of the signal from the freshest runs.", + "recent_policy_path": "monitor", + "recent_reacquisition_persistence_path": "hold", + "recent_reacquisition_signal_mix": "0.00 weighted reacquisition run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_recovery_churn_path": "hold", + "recent_reset_reentry_churn_path": "hold", + "recent_reset_reentry_persistence_path": "hold", + "recent_reset_reentry_rebuild_churn_path": "hold", + "recent_reset_reentry_rebuild_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_signal_mix": "0.00 weighted re-re-restored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_signal_mix": "0.00 weighted rerestored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_restore_signal_mix": "0.00 weighted restored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_signal_mix": "0.00 weighted rebuilt re-entry run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_refresh_path": "hold", + "recent_reset_reentry_rebuild_signal_mix": "0.00 weighted rebuilt run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_refresh_path": "hold", + "recent_reset_reentry_signal_mix": "0.00 weighted reset re-entry run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_refresh_path": "hold", + "recent_retirement_path": "monitor", + "recent_transition_path": "none", + "recent_transition_score_path": "0.00", + "recommendation_drift_status": "stable", + "recommended_action": "", + "recovery_confidence_label": "medium", + "recovery_confidence_reasons": [ + "Calibration is still lightly exercised, so retirement confidence stays softer.", + "Recent runs are stabilizing, but the retirement window is still short.", + "Calibration history is still too light to prove the softer posture can retire." + ], + "recovery_confidence_score": 0.55, + "reopened": false, + "repeat_urgent": false, + "repo": "RepoA", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "stable_after_exception_runs": 1, + "stable_policy_run_count": 1, + "stale": true, + "summary": "", + "title": "Harden auth", + "transition_closure_confidence_label": "low", + "transition_closure_confidence_reasons": [], + "transition_closure_confidence_score": 0.05, + "transition_closure_likely_outcome": "none", + "transition_score_delta": 0.0, + "trust_exception_reason": "", + "trust_exception_status": "none", + "trust_policy": "monitor", + "trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "trust_recovery_reason": "", + "trust_recovery_status": "none", + "weighted_class_caution_score": 0.0, + "weighted_class_support_score": 0.0, + "weighted_pending_debt_caution_score": 0.0, + "weighted_pending_resolution_support_score": 0.0 + }, + "primary_target_class_decay_reason": "", + "primary_target_class_decay_status": "none", + "primary_target_class_memory_freshness_reason": "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal.", + "primary_target_class_memory_freshness_status": "insufficient-data", + "primary_target_class_normalization_reason": "", + "primary_target_class_normalization_status": "none", + "primary_target_class_pending_debt_reason": "", + "primary_target_class_pending_debt_status": "none", + "primary_target_class_reweight_stability_status": "watch", + "primary_target_class_reweight_transition_reason": "", + "primary_target_class_reweight_transition_status": "none", + "primary_target_class_transition_health_reason": "", + "primary_target_class_transition_health_status": "none", + "primary_target_class_transition_resolution_reason": "", + "primary_target_class_transition_resolution_status": "none", + "primary_target_class_trust_momentum_score": 0.0, + "primary_target_class_trust_momentum_status": "insufficient-data", + "primary_target_class_trust_reweight_direction": "neutral", + "primary_target_class_trust_reweight_reasons": [ + "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal." + ], + "primary_target_class_trust_reweight_score": 0.0, + "primary_target_closure_forecast_decay_reason": "", + "primary_target_closure_forecast_decay_status": "none", + "primary_target_closure_forecast_freshness_reason": "Closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted forecast run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_freshness_status": "insufficient-data", + "primary_target_closure_forecast_hysteresis_reason": "", + "primary_target_closure_forecast_hysteresis_status": "none", + "primary_target_closure_forecast_momentum_score": 0.0, + "primary_target_closure_forecast_momentum_status": "insufficient-data", + "primary_target_closure_forecast_persistence_reset_reason": "", + "primary_target_closure_forecast_persistence_reset_status": "none", + "primary_target_closure_forecast_reacquisition_age_runs": 0, + "primary_target_closure_forecast_reacquisition_freshness_reason": "Reacquired closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted reacquisition run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reacquisition_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reacquisition_persistence_reason": "", + "primary_target_closure_forecast_reacquisition_persistence_score": 0.0, + "primary_target_closure_forecast_reacquisition_persistence_status": "none", + "primary_target_closure_forecast_reacquisition_reason": "", + "primary_target_closure_forecast_reacquisition_status": "none", + "primary_target_closure_forecast_recovery_churn_reason": "", + "primary_target_closure_forecast_recovery_churn_score": 0.0, + "primary_target_closure_forecast_recovery_churn_status": "none", + "primary_target_closure_forecast_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_freshness_reason": "Reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted reset re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_freshness_reason": "Rebuilt reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_freshness_reason": "Rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_reason": "Restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_reason": "Re-re-restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted re-re-restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_reason": "Rerestored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rerestored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_status": "none", + "primary_target_closure_forecast_reset_reentry_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_status": "none", + "primary_target_closure_forecast_reset_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_refresh_recovery_status": "none", + "primary_target_closure_forecast_reweight_direction": "neutral", + "primary_target_closure_forecast_reweight_reasons": [], + "primary_target_closure_forecast_reweight_score": 0.0, + "primary_target_closure_forecast_stability_status": "watch", + "primary_target_done_criteria": "Complete the recommended action and confirm the item exits the blocked or urgent queue on the next run.", + "primary_target_exception_pattern_reason": "", + "primary_target_exception_pattern_status": "none", + "primary_target_exception_reason": "", + "primary_target_exception_retirement_reason": "", + "primary_target_exception_retirement_status": "none", + "primary_target_exception_status": "none", + "primary_target_last_intervention": {}, + "primary_target_last_outcome": "no-change", + "primary_target_last_seen_at": "2026-04-09T12:00:00Z", + "primary_target_pending_debt_freshness_reason": "Pending-transition memory is still too lightly exercised to judge freshness, with 0.00 weighted pending-entry run(s), 0% debt-like signal, and 0% healthy-resolution signal.", + "primary_target_pending_debt_freshness_status": "insufficient-data", + "primary_target_policy_debt_reason": "", + "primary_target_policy_debt_status": "none", + "primary_target_reason": "This is the highest blocked item, so it outranks urgent and ready work.", + "primary_target_recovery_confidence_label": "medium", + "primary_target_recovery_confidence_reasons": [ + "Calibration is still lightly exercised, so retirement confidence stays softer.", + "Recent runs are stabilizing, but the retirement window is still short.", + "Calibration history is still too light to prove the softer posture can retire." + ], + "primary_target_recovery_confidence_score": 0.55, + "primary_target_resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "primary_target_transition_closure_confidence_label": "low", + "primary_target_transition_closure_confidence_reasons": [], + "primary_target_transition_closure_confidence_score": 0.05, + "primary_target_transition_closure_likely_outcome": "none", + "primary_target_trust_recovery_reason": "", + "primary_target_trust_recovery_status": "none", + "primary_target_weighted_class_caution_score": 0.0, + "primary_target_weighted_class_support_score": 0.0, + "primary_target_weighted_pending_debt_caution_score": 0.0, + "primary_target_weighted_pending_resolution_support_score": 0.0, + "quiet_streak_runs": 0, + "recent_interventions": [], + "recently_quieted_count": 0, + "recommendation_drift_status": "stable", + "recommendation_drift_summary": "Recent trust-policy behavior is stable enough that no meaningful recommendation drift is recorded.", + "recovering_clearance_hotspots": [], + "recovering_confirmation_hotspots": [], + "recovering_from_clearance_rebuild_reentry_rererestore_reset_hotspots": [], + "recovering_from_clearance_rebuild_reentry_rerestore_reset_hotspots": [], + "recovering_from_clearance_rebuild_reentry_reset_hotspots": [], + "recovering_from_clearance_rebuild_reentry_restore_reset_hotspots": [], + "recovering_from_clearance_rebuild_reset_hotspots": [], + "recovering_from_clearance_reentry_reset_hotspots": [], + "recovering_from_clearance_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_rererestore_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_rerestore_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_restore_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reset_hotspots": [], + "recovering_from_confirmation_reentry_reset_hotspots": [], + "recovering_from_confirmation_reset_hotspots": [], + "recovery_churn_hotspots": [], + "recovery_confidence_summary": "RepoA: Harden auth has medium recovery confidence (0.55), so caution may relax soon but still needs more proof.", + "reopened_after_resolution_count": 0, + "reopened_attention_count": 0, + "reset_reentry_churn_hotspots": [], + "reset_reentry_rebuild_churn_hotspots": [], + "reset_reentry_rebuild_reentry_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_rerererestore_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_rererestore_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_rerestore_churn_hotspots": [], + "resolution_evidence_summary": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "resolution_targets": [ + { + "age_days": 12, + "aging_status": "stale", + "base_trust_policy": "monitor", + "base_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "calibration_adjustment": 0.0, + "calibration_adjustment_reason": "Calibration is too lightly exercised to change the live score yet.", + "class_decay_reason": "", + "class_decay_status": "none", + "class_memory_freshness_reason": "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal.", + "class_memory_freshness_status": "insufficient-data", + "class_memory_weight": 0.0, + "class_normalization_reason": "", + "class_normalization_status": "none", + "class_pending_debt_rate": 0.0, + "class_pending_debt_reason": "", + "class_pending_debt_status": "none", + "class_pending_resolution_rate": 0.0, + "class_retirement_rate": 0.0, + "class_reweight_stability_status": "watch", + "class_reweight_transition_reason": "", + "class_reweight_transition_status": "none", + "class_sticky_rate": 0.0, + "class_transition_age_runs": 0, + "class_transition_health_reason": "", + "class_transition_health_status": "none", + "class_transition_resolution_reason": "", + "class_transition_resolution_status": "none", + "class_trust_momentum_score": 0.0, + "class_trust_momentum_status": "insufficient-data", + "class_trust_reweight_direction": "neutral", + "class_trust_reweight_effect": "none", + "class_trust_reweight_effect_reason": "", + "class_trust_reweight_reasons": [ + "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal." + ], + "class_trust_reweight_score": 0.0, + "closure_forecast_decay_reason": "", + "closure_forecast_decay_status": "none", + "closure_forecast_freshness_reason": "Closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted forecast run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_freshness_status": "insufficient-data", + "closure_forecast_hysteresis_reason": "", + "closure_forecast_hysteresis_status": "none", + "closure_forecast_memory_weight": 0.0, + "closure_forecast_momentum_score": 0.0, + "closure_forecast_momentum_status": "insufficient-data", + "closure_forecast_persistence_reset_reason": "", + "closure_forecast_persistence_reset_status": "none", + "closure_forecast_reacquisition_age_runs": 0, + "closure_forecast_reacquisition_freshness_reason": "Reacquired closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted reacquisition run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reacquisition_freshness_status": "insufficient-data", + "closure_forecast_reacquisition_memory_weight": 0.0, + "closure_forecast_reacquisition_persistence_reason": "", + "closure_forecast_reacquisition_persistence_score": 0.0, + "closure_forecast_reacquisition_persistence_status": "none", + "closure_forecast_reacquisition_reason": "", + "closure_forecast_reacquisition_status": "none", + "closure_forecast_recovery_churn_reason": "", + "closure_forecast_recovery_churn_score": 0.0, + "closure_forecast_recovery_churn_status": "none", + "closure_forecast_refresh_recovery_score": 0.0, + "closure_forecast_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_age_runs": 0, + "closure_forecast_reset_reentry_churn_reason": "", + "closure_forecast_reset_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_churn_status": "none", + "closure_forecast_reset_reentry_freshness_reason": "Reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted reset re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_freshness_reason": "Rebuilt reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_reason": "Rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_reason": "Restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_reason": "Re-re-restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted re-re-restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_reason": "Rerestored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rerestored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_status": "none", + "closure_forecast_reset_reentry_rebuild_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_status": "none", + "closure_forecast_reset_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_reset_reason": "", + "closure_forecast_reset_reentry_reset_status": "none", + "closure_forecast_reset_reentry_status": "none", + "closure_forecast_reset_refresh_recovery_score": 0.0, + "closure_forecast_reset_refresh_recovery_status": "none", + "closure_forecast_reweight_direction": "neutral", + "closure_forecast_reweight_effect": "none", + "closure_forecast_reweight_effect_reason": "", + "closure_forecast_reweight_reasons": [], + "closure_forecast_reweight_score": 0.0, + "closure_forecast_stability_status": "watch", + "confidence_label": "medium", + "confidence_reasons": [ + "Blocked operator work outranks urgent and ready items.", + "This item is stale and should be closed before it gets older.", + "The suggested next step is still generic rather than tightly item-specific." + ], + "confidence_score": 0.6, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "decayed_clearance_forecast_rate": 0.0, + "decayed_confirmation_forecast_rate": 0.0, + "decayed_pending_debt_rate": 0.0, + "decayed_pending_resolution_rate": 0.0, + "decayed_reacquired_clearance_rate": 0.0, + "decayed_reacquired_confirmation_rate": 0.0, + "decayed_rebuilt_clearance_reentry_rate": 0.0, + "decayed_rebuilt_confirmation_reentry_rate": 0.0, + "decayed_reentered_rebuild_clearance_rate": 0.0, + "decayed_reentered_rebuild_confirmation_rate": 0.0, + "decayed_rererestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rererestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_rerestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rerestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_reset_reentered_clearance_rate": 0.0, + "decayed_reset_reentered_confirmation_rate": 0.0, + "decayed_restored_rebuild_reentry_clearance_rate": 0.0, + "decayed_restored_rebuild_reentry_confirmation_rate": 0.0, + "decision_memory_status": "new", + "exception_pattern_reason": "", + "exception_pattern_status": "none", + "exception_retirement_reason": "", + "exception_retirement_status": "none", + "item_id": "RepoA:Harden auth", + "kind": "security", + "lane": "blocked", + "lane_label": "Blocked", + "last_intervention": {}, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "newly_stale": true, + "pending_debt_freshness_reason": "Pending-transition memory is still too lightly exercised to judge freshness, with 0.00 weighted pending-entry run(s), 0% debt-like signal, and 0% healthy-resolution signal.", + "pending_debt_freshness_status": "insufficient-data", + "pending_debt_memory_weight": 0.0, + "policy_debt_reason": "", + "policy_debt_status": "none", + "policy_flip_count": 0, + "pre_class_normalization_trust_policy": "monitor", + "pre_class_normalization_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "pre_retirement_trust_policy": "monitor", + "pre_retirement_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "priority": 0, + "recent_class_policy_path": "monitor", + "recent_class_reweight_path": "neutral", + "recent_class_signal_mix": "0.00 weighted exception run(s) with 0.00 retired-like, 0.00 sticky-like, and 0% of the signal from the freshest runs.", + "recent_closure_forecast_path": "neutral", + "recent_closure_forecast_refresh_path": "neutral", + "recent_closure_forecast_signal_mix": "0.00 weighted forecast run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_exception_path": "", + "recent_pending_debt_path": "", + "recent_pending_signal_mix": "0.00 weighted pending-entry run(s) with 0.00 debt-like, 0.00 healthy-resolution, and 0% of the signal from the freshest runs.", + "recent_policy_path": "monitor", + "recent_reacquisition_persistence_path": "hold", + "recent_reacquisition_signal_mix": "0.00 weighted reacquisition run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_recovery_churn_path": "hold", + "recent_reset_reentry_churn_path": "hold", + "recent_reset_reentry_persistence_path": "hold", + "recent_reset_reentry_rebuild_churn_path": "hold", + "recent_reset_reentry_rebuild_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_signal_mix": "0.00 weighted re-re-restored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_signal_mix": "0.00 weighted rerestored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_restore_signal_mix": "0.00 weighted restored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_signal_mix": "0.00 weighted rebuilt re-entry run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_refresh_path": "hold", + "recent_reset_reentry_rebuild_signal_mix": "0.00 weighted rebuilt run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_refresh_path": "hold", + "recent_reset_reentry_signal_mix": "0.00 weighted reset re-entry run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_refresh_path": "hold", + "recent_retirement_path": "monitor", + "recent_transition_path": "none", + "recent_transition_score_path": "0.00", + "recommended_action": "", + "recovery_confidence_label": "medium", + "recovery_confidence_reasons": [ + "Calibration is still lightly exercised, so retirement confidence stays softer.", + "Recent runs are stabilizing, but the retirement window is still short.", + "Calibration history is still too light to prove the softer posture can retire." + ], + "recovery_confidence_score": 0.55, + "reopened": false, + "repeat_urgent": false, + "repo": "RepoA", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "stable_after_exception_runs": 1, + "stable_policy_run_count": 1, + "stale": true, + "summary": "", + "title": "Harden auth", + "transition_closure_confidence_label": "low", + "transition_closure_confidence_reasons": [], + "transition_closure_confidence_score": 0.05, + "transition_closure_likely_outcome": "none", + "transition_score_delta": 0.0, + "trust_exception_reason": "", + "trust_exception_status": "none", + "trust_policy": "monitor", + "trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "trust_recovery_reason": "", + "trust_recovery_status": "none", + "weighted_class_caution_score": 0.0, + "weighted_class_support_score": 0.0, + "weighted_pending_debt_caution_score": 0.0, + "weighted_pending_resolution_support_score": 0.0 + }, + { + "age_days": 9, + "aging_status": "stale", + "base_trust_policy": "monitor", + "base_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "calibration_adjustment": 0.0, + "calibration_adjustment_reason": "Calibration is too lightly exercised to change the live score yet.", + "class_decay_reason": "", + "class_decay_status": "none", + "class_memory_freshness_reason": "", + "class_memory_freshness_status": "insufficient-data", + "class_memory_weight": 0.0, + "class_normalization_reason": "", + "class_normalization_status": "none", + "class_pending_debt_rate": 0.0, + "class_pending_debt_reason": "", + "class_pending_debt_status": "none", + "class_pending_resolution_rate": 0.0, + "class_retirement_rate": 0.0, + "class_reweight_stability_status": "watch", + "class_reweight_transition_reason": "", + "class_reweight_transition_status": "none", + "class_sticky_rate": 0.0, + "class_transition_age_runs": 0, + "class_transition_health_reason": "", + "class_transition_health_status": "none", + "class_transition_resolution_reason": "", + "class_transition_resolution_status": "none", + "class_trust_momentum_score": 0.0, + "class_trust_momentum_status": "insufficient-data", + "class_trust_reweight_direction": "neutral", + "class_trust_reweight_effect": "none", + "class_trust_reweight_effect_reason": "", + "class_trust_reweight_reasons": [], + "class_trust_reweight_score": 0.0, + "closure_forecast_decay_reason": "", + "closure_forecast_decay_status": "none", + "closure_forecast_freshness_reason": "", + "closure_forecast_freshness_status": "insufficient-data", + "closure_forecast_hysteresis_reason": "", + "closure_forecast_hysteresis_status": "none", + "closure_forecast_memory_weight": 0.0, + "closure_forecast_momentum_score": 0.0, + "closure_forecast_momentum_status": "insufficient-data", + "closure_forecast_persistence_reset_reason": "", + "closure_forecast_persistence_reset_status": "none", + "closure_forecast_reacquisition_age_runs": 0, + "closure_forecast_reacquisition_freshness_reason": "", + "closure_forecast_reacquisition_freshness_status": "insufficient-data", + "closure_forecast_reacquisition_memory_weight": 0.0, + "closure_forecast_reacquisition_persistence_reason": "", + "closure_forecast_reacquisition_persistence_score": 0.0, + "closure_forecast_reacquisition_persistence_status": "none", + "closure_forecast_reacquisition_reason": "", + "closure_forecast_reacquisition_status": "none", + "closure_forecast_recovery_churn_reason": "", + "closure_forecast_recovery_churn_score": 0.0, + "closure_forecast_recovery_churn_status": "none", + "closure_forecast_refresh_recovery_score": 0.0, + "closure_forecast_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_age_runs": 0, + "closure_forecast_reset_reentry_churn_reason": "", + "closure_forecast_reset_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_churn_status": "none", + "closure_forecast_reset_reentry_freshness_reason": "", + "closure_forecast_reset_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_status": "none", + "closure_forecast_reset_reentry_rebuild_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_status": "none", + "closure_forecast_reset_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_reset_reason": "", + "closure_forecast_reset_reentry_reset_status": "none", + "closure_forecast_reset_reentry_status": "none", + "closure_forecast_reset_refresh_recovery_score": 0.0, + "closure_forecast_reset_refresh_recovery_status": "none", + "closure_forecast_reweight_direction": "neutral", + "closure_forecast_reweight_effect": "none", + "closure_forecast_reweight_effect_reason": "", + "closure_forecast_reweight_reasons": [], + "closure_forecast_reweight_score": 0.0, + "closure_forecast_stability_status": "watch", + "confidence_label": "medium", + "confidence_reasons": [ + "Urgent drift or regression needs attention before ready work.", + "This item is stale and should be closed before it gets older.", + "The suggested next step is still generic rather than tightly item-specific." + ], + "confidence_score": 0.5, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "decayed_clearance_forecast_rate": 0.0, + "decayed_confirmation_forecast_rate": 0.0, + "decayed_pending_debt_rate": 0.0, + "decayed_pending_resolution_rate": 0.0, + "decayed_reacquired_clearance_rate": 0.0, + "decayed_reacquired_confirmation_rate": 0.0, + "decayed_rebuilt_clearance_reentry_rate": 0.0, + "decayed_rebuilt_confirmation_reentry_rate": 0.0, + "decayed_reentered_rebuild_clearance_rate": 0.0, + "decayed_reentered_rebuild_confirmation_rate": 0.0, + "decayed_rererestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rererestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_rerestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rerestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_reset_reentered_clearance_rate": 0.0, + "decayed_reset_reentered_confirmation_rate": 0.0, + "decayed_restored_rebuild_reentry_clearance_rate": 0.0, + "decayed_restored_rebuild_reentry_confirmation_rate": 0.0, + "decision_memory_status": "new", + "exception_pattern_reason": "", + "exception_pattern_status": "none", + "exception_retirement_reason": "", + "exception_retirement_status": "none", + "item_id": "RepoB:Ship migration", + "kind": "migration", + "lane": "urgent", + "lane_label": "Needs Attention Now", + "last_intervention": {}, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "newly_stale": true, + "pending_debt_freshness_reason": "", + "pending_debt_freshness_status": "insufficient-data", + "pending_debt_memory_weight": 0.0, + "policy_debt_reason": "", + "policy_debt_status": "none", + "policy_flip_count": 0, + "pre_class_normalization_trust_policy": "monitor", + "pre_class_normalization_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "pre_retirement_trust_policy": "monitor", + "pre_retirement_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "priority": 0, + "recent_class_policy_path": "", + "recent_class_reweight_path": "", + "recent_class_signal_mix": "", + "recent_closure_forecast_path": "", + "recent_closure_forecast_refresh_path": "", + "recent_closure_forecast_signal_mix": "", + "recent_exception_path": "", + "recent_pending_debt_path": "", + "recent_pending_signal_mix": "", + "recent_policy_path": "", + "recent_reacquisition_persistence_path": "", + "recent_reacquisition_signal_mix": "", + "recent_recovery_churn_path": "", + "recent_reset_reentry_churn_path": "", + "recent_reset_reentry_persistence_path": "", + "recent_reset_reentry_rebuild_churn_path": "", + "recent_reset_reentry_rebuild_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_churn_path": "", + "recent_reset_reentry_rebuild_reentry_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_refresh_path": "", + "recent_reset_reentry_rebuild_reentry_restore_churn_path": "", + "recent_reset_reentry_rebuild_reentry_restore_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_restore_refresh_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_churn_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_churn_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_refresh_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_signal_mix": "", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_churn_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_refresh_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_signal_mix": "", + "recent_reset_reentry_rebuild_reentry_restore_signal_mix": "", + "recent_reset_reentry_rebuild_reentry_signal_mix": "", + "recent_reset_reentry_rebuild_refresh_path": "", + "recent_reset_reentry_rebuild_signal_mix": "", + "recent_reset_reentry_refresh_path": "", + "recent_reset_reentry_signal_mix": "", + "recent_reset_refresh_path": "", + "recent_retirement_path": "", + "recent_transition_path": "", + "recent_transition_score_path": "", + "recommended_action": "", + "recovery_confidence_label": "low", + "recovery_confidence_reasons": [], + "recovery_confidence_score": 0.05, + "reopened": false, + "repeat_urgent": false, + "repo": "RepoB", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "stable_after_exception_runs": 0, + "stable_policy_run_count": 0, + "stale": true, + "summary": "", + "title": "Ship migration", + "transition_closure_confidence_label": "low", + "transition_closure_confidence_reasons": [], + "transition_closure_confidence_score": 0.05, + "transition_closure_likely_outcome": "none", + "transition_score_delta": 0.0, + "trust_exception_reason": "", + "trust_exception_status": "none", + "trust_policy": "monitor", + "trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "trust_recovery_reason": "", + "trust_recovery_status": "none", + "weighted_class_caution_score": 0.0, + "weighted_class_support_score": 0.0, + "weighted_pending_debt_caution_score": 0.0, + "weighted_pending_resolution_support_score": 0.0 + } + ], + "resolved_attention_count": 0, + "resolving_transition_hotspots": [], + "retired_exception_hotspots": [], + "stale_class_memory_hotspots": [ + { + "class_memory_weight": 0.0, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "freshness_status": "insufficient-data", + "label": "blocked:security", + "recent_class_signal_mix": "0.00 weighted exception run(s) with 0.00 retired-like, 0.00 sticky-like, and 0% of the signal from the freshest runs.", + "scope": "class", + "weighted_exception_count": 0.0 + }, + { + "class_memory_weight": 0.0, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "freshness_status": "insufficient-data", + "label": "urgent:migration", + "recent_class_signal_mix": "", + "scope": "class", + "weighted_exception_count": 0.0 + } + ], + "stale_closure_forecast_hotspots": [], + "stale_pending_debt_hotspots": [], + "stale_reacquisition_hotspots": [], + "stale_reset_reentry_hotspots": [], + "stale_reset_reentry_rebuild_hotspots": [], + "stale_reset_reentry_rebuild_reentry_hotspots": [], + "stale_reset_reentry_rebuild_reentry_restore_hotspots": [], + "stale_reset_reentry_rebuild_reentry_restore_rererestore_hotspots": [], + "stale_reset_reentry_rebuild_reentry_restore_rerestore_hotspots": [], + "stalled_transition_hotspots": [], + "sticky_exception_hotspots": [], + "supporting_class_hotspots": [], + "supporting_pending_resolution_hotspots": [], + "sustained_class_hotspots": [], + "sustained_clearance_hotspots": [], + "sustained_confirmation_hotspots": [], + "transition_closure_confidence_summary": "No active pending class transition needs closure-confidence scoring right now.", + "transition_closure_window_runs": 4, + "trend_status": "stable", + "trend_summary": "The queue changed only lightly since the last run, with no clear worsening or recovery trend.", + "trust_normalization_summary": "Recent class behavior does not yet show a strong normalization pattern.", + "trust_recovery_window_runs": 3 + }, + "empty": { + "accountability_summary": "No active accountability target is open right now.", + "aging_status": "fresh", + "attention_age_bands": { + "0-1 days": 0, + "2-7 days": 0, + "22+ days": 0, + "8-21 days": 0 + }, + "caution_class_hotspots": [], + "caution_pending_debt_hotspots": [], + "chronic_item_count": 0, + "class_decay_summary": "No class-decay controls are recorded because there is no active target.", + "class_decay_window_runs": 4, + "class_memory_summary": "No class-memory freshness is recorded because there is no active target.", + "class_momentum_summary": "No class trust momentum is recorded because there is no active target.", + "class_normalization_window_runs": 4, + "class_pending_debt_summary": "No class pending-debt signal is recorded because there is no active target.", + "class_pending_debt_window_runs": 10, + "class_pending_resolution_summary": "No class pending-resolution signal is recorded because there is no active target.", + "class_reweight_stability_summary": "No class reweighting stability signal is recorded because there is no active target.", + "class_reweighting_summary": "No class trust reweighting is recorded because there is no active target.", + "class_reweighting_window_runs": 4, + "class_transition_age_window_runs": 4, + "class_transition_health_summary": "No class transition health is recorded because there is no active target.", + "class_transition_resolution_summary": "No pending transition resolution is recorded because there is no active target.", + "class_transition_window_runs": 4, + "closure_forecast_decay_summary": "No closure-forecast decay is recorded because there is no active target.", + "closure_forecast_decay_window_runs": 4, + "closure_forecast_freshness_summary": "No closure-forecast freshness is recorded because there is no active target.", + "closure_forecast_hysteresis_summary": "No closure-forecast hysteresis is recorded because there is no active target.", + "closure_forecast_momentum_summary": "No closure-forecast momentum is recorded because there is no active target.", + "closure_forecast_persistence_reset_summary": "No persistence reset is recorded because there is no active target.", + "closure_forecast_reacquisition_decay_window_runs": 4, + "closure_forecast_reacquisition_freshness_summary": "No reacquisition freshness is recorded because there is no active target.", + "closure_forecast_reacquisition_persistence_summary": "No reacquisition persistence is recorded because there is no active target.", + "closure_forecast_reacquisition_summary": "No closure-forecast reacquisition is recorded because there is no active target.", + "closure_forecast_reacquisition_window_runs": 4, + "closure_forecast_recovery_churn_summary": "No recovery churn is recorded because there is no active target.", + "closure_forecast_refresh_recovery_summary": "No closure-forecast refresh recovery is recorded because there is no active target.", + "closure_forecast_refresh_window_runs": 4, + "closure_forecast_reset_reentry_churn_summary": "No reset re-entry churn is recorded because there is no active target.", + "closure_forecast_reset_reentry_decay_window_runs": 4, + "closure_forecast_reset_reentry_freshness_summary": "No reset re-entry freshness is recorded because there is no active target.", + "closure_forecast_reset_reentry_persistence_summary": "No reset re-entry persistence is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_churn_summary": "No reset re-entry rebuild churn is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_freshness_summary": "No reset re-entry rebuild freshness is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_persistence_summary": "No reset re-entry rebuild persistence is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_churn_summary": "No reset re-entry rebuild re-entry churn is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_freshness_summary": "No reset re-entry rebuild re-entry freshness is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_persistence_summary": "No reset re-entry rebuild re-entry persistence is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_summary": "No reset re-entry rebuild re-entry refresh recovery is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_reset_summary": "No reset re-entry rebuild re-entry reset is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_summary": "No reset re-entry rebuild re-entry restore churn is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_summary": "No reset re-entry rebuild re-entry restore freshness is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_summary": "No reset re-entry rebuild re-entry restore persistence is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_summary": "No reset re-entry rebuild re-entry restore refresh recovery is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_summary": "No reset re-entry rebuild re-entry restore re-re-re-restore churn is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_summary": "No reset re-entry rebuild re-entry restore re-re-re-restore persistence is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_summary": "No reset re-entry rebuild re-entry restore re-re-re-restore is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_summary": "No reset re-entry rebuild re-entry restore re-re-restore churn is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_summary": "No reset re-entry rebuild re-entry restore re-re-restore freshness is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_summary": "No reset re-entry rebuild re-entry restore re-re-restore persistence is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_summary": "No reset re-entry rebuild re-entry restore re-re-restore refresh recovery is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_summary": "No reset re-entry rebuild re-entry restore re-re-restore reset is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_summary": "No reset re-entry rebuild re-entry restore re-re-restore is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_summary": "No reset re-entry rebuild re-entry restore re-restore churn is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_summary": "No reset re-entry rebuild re-entry restore re-restore freshness is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_summary": "No reset re-entry rebuild re-entry restore re-restore persistence is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_summary": "No reset re-entry rebuild re-entry restore re-restore refresh recovery is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_summary": "No reset re-entry rebuild re-entry restore re-restore reset is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_summary": "No reset re-entry rebuild re-entry restore re-restore is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_summary": "No reset re-entry rebuild re-entry restore reset is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_summary": "No reset re-entry rebuild re-entry restore is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_summary": "No reset re-entry rebuild re-entry is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_reentry_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_refresh_recovery_summary": "No reset re-entry rebuild refresh recovery is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reset_summary": "No reset re-entry rebuild reset is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_summary": "No reset re-entry rebuild is recorded because there is no active target.", + "closure_forecast_reset_reentry_rebuild_window_runs": 4, + "closure_forecast_reset_reentry_refresh_recovery_summary": "No reset re-entry refresh recovery is recorded because there is no active target.", + "closure_forecast_reset_reentry_refresh_window_runs": 4, + "closure_forecast_reset_reentry_reset_summary": "No reset re-entry reset is recorded because there is no active target.", + "closure_forecast_reset_reentry_summary": "No reset re-entry is recorded because there is no active target.", + "closure_forecast_reset_reentry_window_runs": 4, + "closure_forecast_reset_refresh_recovery_summary": "No reset-refresh recovery is recorded because there is no active target.", + "closure_forecast_reset_refresh_window_runs": 4, + "closure_forecast_reweighting_summary": "No closure-forecast reweighting is recorded because there is no active target.", + "closure_forecast_reweighting_window_runs": 4, + "closure_forecast_stability_summary": "No closure-forecast stability is recorded because there is no active target.", + "closure_forecast_transition_window_runs": 4, + "closure_guidance": "No active closure target is open right now.", + "confirmed_resolved_count": 0, + "decision_memory_map": { + "__summary__": { + "confirmed_resolved_count": 0, + "decision_memory_window_runs": 1, + "recent_interventions": [], + "recently_quieted_count": 0, + "reopened_after_resolution_count": 0 + } + }, + "decision_memory_status": "new", + "decision_memory_window_runs": 1, + "exception_pattern_summary": "No exception-pattern learning is recorded because there is no active target.", + "exception_retirement_summary": "No exception retirement is recorded because there is no active target.", + "exception_retirement_window_runs": 4, + "false_positive_exception_hotspots": [], + "fresh_class_signal_hotspots": [], + "fresh_closure_forecast_signal_hotspots": [], + "fresh_pending_resolution_hotspots": [], + "fresh_reacquisition_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_restore_rererestore_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_restore_rerestore_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_restore_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_signal_hotspots": [], + "fresh_reset_reentry_rebuild_signal_hotspots": [], + "fresh_reset_reentry_signal_hotspots": [], + "healthy_pending_resolution_hotspots": [], + "history_window_runs": 1, + "holding_reacquisition_hotspots": [], + "holding_reset_reentry_hotspots": [], + "holding_reset_reentry_rebuild_hotspots": [], + "holding_reset_reentry_rebuild_reentry_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_rerererestore_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_rererestore_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_rerestore_hotspots": [], + "just_reacquired_hotspots": [], + "just_rebuilt_hotspots": [], + "just_reentered_hotspots": [], + "just_reentered_rebuild_hotspots": [], + "just_rerererestored_rebuild_reentry_hotspots": [], + "just_rererestored_rebuild_reentry_hotspots": [], + "just_rerestored_rebuild_reentry_hotspots": [], + "just_restored_rebuild_reentry_hotspots": [], + "longest_persisting_item": {}, + "new_attention_count": 0, + "newly_stale_count": 0, + "normalized_class_hotspots": [], + "oscillating_class_hotspots": [], + "oscillating_closure_forecast_hotspots": [], + "pending_debt_decay_summary": "No pending-debt decay is recorded because there is no active target.", + "pending_debt_decay_window_runs": 4, + "pending_debt_freshness_summary": "No pending-debt freshness is recorded because there is no active target.", + "pending_debt_hotspots": [], + "persisting_attention_count": 0, + "policy_debt_hotspots": [], + "policy_debt_summary": "No class-level policy debt is recorded because there is no active target.", + "policy_flip_hotspots": [], + "primary_target": {}, + "primary_target_class_decay_reason": "", + "primary_target_class_decay_status": "none", + "primary_target_class_memory_freshness_reason": "", + "primary_target_class_memory_freshness_status": "insufficient-data", + "primary_target_class_normalization_reason": "", + "primary_target_class_normalization_status": "none", + "primary_target_class_pending_debt_reason": "", + "primary_target_class_pending_debt_status": "none", + "primary_target_class_reweight_stability_status": "watch", + "primary_target_class_reweight_transition_reason": "", + "primary_target_class_reweight_transition_status": "none", + "primary_target_class_transition_health_reason": "", + "primary_target_class_transition_health_status": "none", + "primary_target_class_transition_resolution_reason": "", + "primary_target_class_transition_resolution_status": "none", + "primary_target_class_trust_momentum_score": 0.0, + "primary_target_class_trust_momentum_status": "insufficient-data", + "primary_target_class_trust_reweight_direction": "neutral", + "primary_target_class_trust_reweight_reasons": [], + "primary_target_class_trust_reweight_score": 0.0, + "primary_target_closure_forecast_decay_reason": "", + "primary_target_closure_forecast_decay_status": "none", + "primary_target_closure_forecast_freshness_reason": "", + "primary_target_closure_forecast_freshness_status": "insufficient-data", + "primary_target_closure_forecast_hysteresis_reason": "", + "primary_target_closure_forecast_hysteresis_status": "none", + "primary_target_closure_forecast_momentum_score": 0.0, + "primary_target_closure_forecast_momentum_status": "insufficient-data", + "primary_target_closure_forecast_persistence_reset_reason": "", + "primary_target_closure_forecast_persistence_reset_status": "none", + "primary_target_closure_forecast_reacquisition_age_runs": 0, + "primary_target_closure_forecast_reacquisition_freshness_reason": "", + "primary_target_closure_forecast_reacquisition_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reacquisition_persistence_reason": "", + "primary_target_closure_forecast_reacquisition_persistence_score": 0.0, + "primary_target_closure_forecast_reacquisition_persistence_status": "none", + "primary_target_closure_forecast_reacquisition_reason": "", + "primary_target_closure_forecast_reacquisition_status": "none", + "primary_target_closure_forecast_recovery_churn_reason": "", + "primary_target_closure_forecast_recovery_churn_score": 0.0, + "primary_target_closure_forecast_recovery_churn_status": "none", + "primary_target_closure_forecast_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_freshness_reason": "", + "primary_target_closure_forecast_reset_reentry_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_freshness_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_freshness_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_status": "none", + "primary_target_closure_forecast_reset_reentry_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_status": "none", + "primary_target_closure_forecast_reset_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_refresh_recovery_status": "none", + "primary_target_closure_forecast_reweight_direction": "neutral", + "primary_target_closure_forecast_reweight_reasons": [], + "primary_target_closure_forecast_reweight_score": 0.0, + "primary_target_closure_forecast_stability_status": "watch", + "primary_target_done_criteria": "", + "primary_target_exception_pattern_reason": "", + "primary_target_exception_pattern_status": "none", + "primary_target_exception_reason": "", + "primary_target_exception_retirement_reason": "", + "primary_target_exception_retirement_status": "none", + "primary_target_exception_status": "none", + "primary_target_last_intervention": {}, + "primary_target_last_outcome": "no-change", + "primary_target_last_seen_at": "", + "primary_target_pending_debt_freshness_reason": "", + "primary_target_pending_debt_freshness_status": "insufficient-data", + "primary_target_policy_debt_reason": "", + "primary_target_policy_debt_status": "none", + "primary_target_reason": "", + "primary_target_recovery_confidence_label": "low", + "primary_target_recovery_confidence_reasons": [], + "primary_target_recovery_confidence_score": 0.05, + "primary_target_resolution_evidence": "Resolution evidence in the recent window: 0 confirmed resolved, 0 quieted, 0 reopened.", + "primary_target_transition_closure_confidence_label": "low", + "primary_target_transition_closure_confidence_reasons": [], + "primary_target_transition_closure_confidence_score": 0.05, + "primary_target_transition_closure_likely_outcome": "none", + "primary_target_trust_recovery_reason": "", + "primary_target_trust_recovery_status": "none", + "primary_target_weighted_class_caution_score": 0.0, + "primary_target_weighted_class_support_score": 0.0, + "primary_target_weighted_pending_debt_caution_score": 0.0, + "primary_target_weighted_pending_resolution_support_score": 0.0, + "quiet_streak_runs": 1, + "recent_interventions": [], + "recently_quieted_count": 0, + "recommendation_drift_status": "stable", + "recommendation_drift_summary": "No active trust-policy drift is recorded because there is no active target.", + "recovering_clearance_hotspots": [], + "recovering_confirmation_hotspots": [], + "recovering_from_clearance_rebuild_reentry_rererestore_reset_hotspots": [], + "recovering_from_clearance_rebuild_reentry_rerestore_reset_hotspots": [], + "recovering_from_clearance_rebuild_reentry_reset_hotspots": [], + "recovering_from_clearance_rebuild_reentry_restore_reset_hotspots": [], + "recovering_from_clearance_rebuild_reset_hotspots": [], + "recovering_from_clearance_reentry_reset_hotspots": [], + "recovering_from_clearance_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_rererestore_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_rerestore_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_restore_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reset_hotspots": [], + "recovering_from_confirmation_reentry_reset_hotspots": [], + "recovering_from_confirmation_reset_hotspots": [], + "recovery_churn_hotspots": [], + "recovery_confidence_summary": "No recovery-confidence signal is recorded because there is no active target.", + "reopened_after_resolution_count": 0, + "reopened_attention_count": 0, + "reset_reentry_churn_hotspots": [], + "reset_reentry_rebuild_churn_hotspots": [], + "reset_reentry_rebuild_reentry_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_rerererestore_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_rererestore_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_rerestore_churn_hotspots": [], + "resolution_evidence_summary": "Resolution evidence in the recent window: 0 confirmed resolved, 0 quieted, 0 reopened.", + "resolution_targets": [], + "resolved_attention_count": 0, + "resolving_transition_hotspots": [], + "retired_exception_hotspots": [], + "stale_class_memory_hotspots": [], + "stale_closure_forecast_hotspots": [], + "stale_pending_debt_hotspots": [], + "stale_reacquisition_hotspots": [], + "stale_reset_reentry_hotspots": [], + "stale_reset_reentry_rebuild_hotspots": [], + "stale_reset_reentry_rebuild_reentry_hotspots": [], + "stale_reset_reentry_rebuild_reentry_restore_hotspots": [], + "stale_reset_reentry_rebuild_reentry_restore_rererestore_hotspots": [], + "stale_reset_reentry_rebuild_reentry_restore_rerestore_hotspots": [], + "stalled_transition_hotspots": [], + "sticky_exception_hotspots": [], + "supporting_class_hotspots": [], + "supporting_pending_resolution_hotspots": [], + "sustained_class_hotspots": [], + "sustained_clearance_hotspots": [], + "sustained_confirmation_hotspots": [], + "transition_closure_confidence_summary": "No transition-closure confidence is recorded because there is no active target.", + "transition_closure_window_runs": 4, + "trend_status": "stable", + "trend_summary": "The queue changed only lightly since the last run, with no clear worsening or recovery trend.", + "trust_normalization_summary": "No class-level trust normalization is recorded because there is no active target.", + "trust_recovery_window_runs": 3 + }, + "multi_class_attention": { + "accountability_summary": "This is the highest blocked item, so it outranks urgent and ready work. Treat this as done only when complete the recommended action and confirm the item exits the blocked or urgent queue on the next run. Aging pressure: 0 chronic item(s) and 2 newly stale item(s).", + "aging_status": "stale", + "attention_age_bands": { + "0-1 days": 0, + "2-7 days": 0, + "22+ days": 0, + "8-21 days": 2 + }, + "caution_class_hotspots": [], + "caution_pending_debt_hotspots": [], + "chronic_item_count": 0, + "class_decay_summary": "Older class lessons are aging out around blocked:security, so trust posture there should rely less on stale carry-forward.", + "class_decay_window_runs": 4, + "class_memory_summary": "Class memory is aging out most visibly around blocked:security, so older class lessons should not keep carrying forward there.", + "class_momentum_summary": "Class momentum is still too lightly exercised to say whether recent class guidance is sustained or unstable.", + "class_normalization_window_runs": 4, + "class_pending_debt_summary": "No class pending-debt pattern is strong enough to change how pending signals are interpreted yet.", + "class_pending_debt_window_runs": 10, + "class_pending_resolution_summary": "No class-level pending-resolution pattern is strong enough to call out yet.", + "class_reweight_stability_summary": "Class guidance for RepoA: Harden auth is still settling and should be watched for one more stable stretch: neutral.", + "class_reweighting_summary": "Class evidence is informative, but not strong enough to move posture by itself yet.", + "class_reweighting_window_runs": 4, + "class_transition_age_window_runs": 4, + "class_transition_health_summary": "No active pending class transition is building or stalling right now.", + "class_transition_resolution_summary": "No pending class transition has just confirmed, cleared, or expired in the recent window.", + "class_transition_window_runs": 4, + "closure_forecast_decay_summary": "No strong closure-forecast freshness trend is dominating the live hysteresis posture yet.", + "closure_forecast_decay_window_runs": 4, + "closure_forecast_freshness_summary": "Closure-forecast memory is still too lightly exercised to say whether fresh or stale forecast evidence should lead the current posture.", + "closure_forecast_hysteresis_summary": "No closure-forecast hysteresis adjustment is changing the live pending forecast right now.", + "closure_forecast_momentum_summary": "Closure-forecast momentum is still too lightly exercised to say whether recent pending-resolution behavior is sustained or unstable.", + "closure_forecast_persistence_reset_summary": "No persistence reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reacquisition_decay_window_runs": 4, + "closure_forecast_reacquisition_freshness_summary": "Reacquired closure-forecast memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reacquisition_persistence_summary": "No reacquired closure-forecast posture is active enough yet to judge whether it can hold.", + "closure_forecast_reacquisition_summary": "No closure-forecast reacquisition is re-earning stronger carry-forward right now.", + "closure_forecast_reacquisition_window_runs": 4, + "closure_forecast_recovery_churn_summary": "No meaningful recovery churn is active right now.", + "closure_forecast_refresh_recovery_summary": "No closure-forecast refresh recovery is strong enough yet to re-earn stronger carry-forward.", + "closure_forecast_refresh_window_runs": 4, + "closure_forecast_reset_reentry_churn_summary": "No meaningful reset re-entry churn is active right now.", + "closure_forecast_reset_reentry_decay_window_runs": 4, + "closure_forecast_reset_reentry_freshness_summary": "Reset re-entry memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_persistence_summary": "No reset re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_churn_summary": "No meaningful reset re-entry rebuild churn is active right now.", + "closure_forecast_reset_reentry_rebuild_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_freshness_summary": "Rebuilt reset re-entry memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_persistence_summary": "No rebuilt reset re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_churn_summary": "No meaningful rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_freshness_summary": "Rebuilt re-entry memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_reentry_persistence_summary": "No rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_summary": "No rebuilt re-entry recovery attempt is active enough yet to restore stronger posture.", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_reset_summary": "No rebuilt re-entry reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_summary": "No meaningful restored rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_summary": "Restored rebuilt re-entry memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_summary": "No restored rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_summary": "No restored rebuilt re-entry recovery attempt is active enough yet to re-restore stronger posture.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_summary": "No meaningful re-re-re-restored rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_summary": "No re-re-re-restored rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_summary": "No re-re-restored rebuilt re-entry re-re-re-restore control is changing the current closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_summary": "No meaningful re-re-restored rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_summary": "Re-re-restored rebuilt re-entry memory is still too lightly exercised to say whether stronger re-re-restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_summary": "No re-re-restored rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_summary": "No re-re-restored rebuilt re-entry recovery attempt is active enough yet to re-re-re-restore stronger posture.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_summary": "No re-re-restored rebuilt re-entry reset is changing the current stronger closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_summary": "No rerestored rebuilt re-entry re-re-restore control is changing the current closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_summary": "No meaningful re-restored rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_summary": "Rerestored rebuilt re-entry memory is still too lightly exercised to say whether stronger rerestored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_summary": "No re-restored rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_summary": "No rerestored rebuilt re-entry recovery attempt is active enough yet to re-re-restore stronger posture.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_summary": "No rerestored rebuilt re-entry reset is changing the current stronger closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_summary": "No restored rebuilt re-entry re-restore control is changing the current closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_summary": "No restored rebuilt re-entry reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_summary": "No rebuilt re-entry restore control is changing the current closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_summary": "No rebuilt re-entry control is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_refresh_recovery_summary": "No rebuilt reset re-entry recovery attempt is active enough yet to re-earn stronger restored posture.", + "closure_forecast_reset_reentry_rebuild_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reset_summary": "No rebuilt reset re-entry reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_summary": "No reset re-entry rebuild is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_window_runs": 4, + "closure_forecast_reset_reentry_refresh_recovery_summary": "No reset re-entry rebuild attempt is active enough yet to re-earn stronger restored posture.", + "closure_forecast_reset_reentry_refresh_window_runs": 4, + "closure_forecast_reset_reentry_reset_summary": "No reset re-entry reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_summary": "No reset re-entry is strong enough yet to restore stronger reacquisition.", + "closure_forecast_reset_reentry_window_runs": 4, + "closure_forecast_reset_refresh_recovery_summary": "No reset-refresh recovery is strong enough yet to re-enter the reacquisition ladder.", + "closure_forecast_reset_refresh_window_runs": 4, + "closure_forecast_reweighting_summary": "Class evidence is informative, but it is not strong enough to move the closure forecast by itself yet.", + "closure_forecast_reweighting_window_runs": 4, + "closure_forecast_stability_summary": "Closure forecasting for RepoA: Harden auth is still settling and should be watched for one more stable stretch: neutral.", + "closure_forecast_transition_window_runs": 4, + "closure_guidance": "Treat this as done only when complete the recommended action and confirm the item exits the blocked or urgent queue on the next run.", + "confirmed_resolved_count": 0, + "decision_memory_map": { + "RepoA:Harden auth": { + "decision_memory_status": "new", + "last_intervention": { + "generated_at": "2026-04-07T12:00:00Z", + "item_id": "RepoA:Harden auth", + "kind": "intervention", + "magnitude": 0.8, + "outcome": "in-progress" + }, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet." + }, + "RepoB:Ship migration": { + "decision_memory_status": "new", + "last_intervention": {}, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet." + }, + "RepoC:Polish docs": { + "decision_memory_status": "new", + "last_intervention": {}, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet." + }, + "__summary__": { + "confirmed_resolved_count": 0, + "decision_memory_window_runs": 9, + "recent_interventions": [ + { + "event_type": "", + "item_id": "RepoA:Harden auth", + "outcome": "in-progress", + "recorded_at": "", + "repo": "", + "title": "" + }, + { + "event_type": "", + "item_id": "RepoA:Harden auth", + "outcome": "confirmed", + "recorded_at": "", + "repo": "", + "title": "" + } + ], + "recently_quieted_count": 0, + "reopened_after_resolution_count": 0 + } + }, + "decision_memory_status": "new", + "decision_memory_window_runs": 9, + "exception_pattern_summary": "Recent exception behavior does not yet show a strong overcautious or recovery pattern.", + "exception_retirement_summary": "Recent exception retirement behavior does not yet show a strong retire-or-stay pattern.", + "exception_retirement_window_runs": 4, + "false_positive_exception_hotspots": [], + "fresh_class_signal_hotspots": [], + "fresh_closure_forecast_signal_hotspots": [], + "fresh_pending_resolution_hotspots": [], + "fresh_reacquisition_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_restore_rererestore_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_restore_rerestore_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_restore_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_signal_hotspots": [], + "fresh_reset_reentry_rebuild_signal_hotspots": [], + "fresh_reset_reentry_signal_hotspots": [], + "healthy_pending_resolution_hotspots": [], + "history_window_runs": 9, + "holding_reacquisition_hotspots": [], + "holding_reset_reentry_hotspots": [], + "holding_reset_reentry_rebuild_hotspots": [], + "holding_reset_reentry_rebuild_reentry_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_rerererestore_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_rererestore_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_rerestore_hotspots": [], + "just_reacquired_hotspots": [], + "just_rebuilt_hotspots": [], + "just_reentered_hotspots": [], + "just_reentered_rebuild_hotspots": [], + "just_rerererestored_rebuild_reentry_hotspots": [], + "just_rererestored_rebuild_reentry_hotspots": [], + "just_rerestored_rebuild_reentry_hotspots": [], + "just_restored_rebuild_reentry_hotspots": [], + "longest_persisting_item": { + "age_days": 12, + "aging_status": "stale", + "item_id": "RepoA:Harden auth", + "lane": "blocked", + "repo": "RepoA", + "title": "Harden auth" + }, + "new_attention_count": 2, + "newly_stale_count": 2, + "normalized_class_hotspots": [], + "oscillating_class_hotspots": [], + "oscillating_closure_forecast_hotspots": [], + "pending_debt_decay_summary": "No strong pending-debt freshness trend is dominating the closure forecast yet.", + "pending_debt_decay_window_runs": 4, + "pending_debt_freshness_summary": "Pending-transition memory is still too lightly exercised to say whether fresh or stale class debt should lead the forecast.", + "pending_debt_hotspots": [], + "persisting_attention_count": 0, + "policy_debt_hotspots": [], + "policy_debt_summary": "Recent class behavior does not yet show meaningful policy debt.", + "policy_flip_hotspots": [], + "primary_target": { + "age_days": 12, + "aging_status": "stale", + "base_trust_policy": "monitor", + "base_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "calibration_adjustment": 0.0, + "calibration_adjustment_reason": "Calibration is too lightly exercised to change the live score yet.", + "class_decay_reason": "", + "class_decay_status": "none", + "class_memory_freshness_reason": "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal.", + "class_memory_freshness_status": "insufficient-data", + "class_memory_weight": 0.0, + "class_normalization_reason": "", + "class_normalization_status": "none", + "class_pending_debt_rate": 0.0, + "class_pending_debt_reason": "", + "class_pending_debt_status": "none", + "class_pending_resolution_rate": 0.0, + "class_retirement_rate": 0.0, + "class_reweight_stability_status": "watch", + "class_reweight_transition_reason": "", + "class_reweight_transition_status": "none", + "class_sticky_rate": 0.0, + "class_transition_age_runs": 0, + "class_transition_health_reason": "", + "class_transition_health_status": "none", + "class_transition_resolution_reason": "", + "class_transition_resolution_status": "none", + "class_trust_momentum_score": 0.0, + "class_trust_momentum_status": "insufficient-data", + "class_trust_reweight_direction": "neutral", + "class_trust_reweight_effect": "none", + "class_trust_reweight_effect_reason": "", + "class_trust_reweight_reasons": [ + "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal." + ], + "class_trust_reweight_score": 0.0, + "closure_forecast_decay_reason": "", + "closure_forecast_decay_status": "none", + "closure_forecast_freshness_reason": "Closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted forecast run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_freshness_status": "insufficient-data", + "closure_forecast_hysteresis_reason": "", + "closure_forecast_hysteresis_status": "none", + "closure_forecast_memory_weight": 0.0, + "closure_forecast_momentum_score": 0.0, + "closure_forecast_momentum_status": "insufficient-data", + "closure_forecast_persistence_reset_reason": "", + "closure_forecast_persistence_reset_status": "none", + "closure_forecast_reacquisition_age_runs": 0, + "closure_forecast_reacquisition_freshness_reason": "Reacquired closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted reacquisition run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reacquisition_freshness_status": "insufficient-data", + "closure_forecast_reacquisition_memory_weight": 0.0, + "closure_forecast_reacquisition_persistence_reason": "", + "closure_forecast_reacquisition_persistence_score": 0.0, + "closure_forecast_reacquisition_persistence_status": "none", + "closure_forecast_reacquisition_reason": "", + "closure_forecast_reacquisition_status": "none", + "closure_forecast_recovery_churn_reason": "", + "closure_forecast_recovery_churn_score": 0.0, + "closure_forecast_recovery_churn_status": "none", + "closure_forecast_refresh_recovery_score": 0.0, + "closure_forecast_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_age_runs": 0, + "closure_forecast_reset_reentry_churn_reason": "", + "closure_forecast_reset_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_churn_status": "none", + "closure_forecast_reset_reentry_freshness_reason": "Reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted reset re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_freshness_reason": "Rebuilt reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_reason": "Rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_reason": "Restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_reason": "Re-re-restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted re-re-restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_reason": "Rerestored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rerestored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_status": "none", + "closure_forecast_reset_reentry_rebuild_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_status": "none", + "closure_forecast_reset_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_reset_reason": "", + "closure_forecast_reset_reentry_reset_status": "none", + "closure_forecast_reset_reentry_status": "none", + "closure_forecast_reset_refresh_recovery_score": 0.0, + "closure_forecast_reset_refresh_recovery_status": "none", + "closure_forecast_reweight_direction": "neutral", + "closure_forecast_reweight_effect": "none", + "closure_forecast_reweight_effect_reason": "", + "closure_forecast_reweight_reasons": [], + "closure_forecast_reweight_score": 0.0, + "closure_forecast_stability_status": "watch", + "closure_guidance": "Treat this as done only when complete the recommended action and confirm the item exits the blocked or urgent queue on the next run.", + "confidence_label": "medium", + "confidence_reasons": [ + "Blocked operator work outranks urgent and ready items.", + "This item is stale and should be closed before it gets older.", + "The suggested next step is still generic rather than tightly item-specific." + ], + "confidence_score": 0.6, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "decayed_clearance_forecast_rate": 0.0, + "decayed_confirmation_forecast_rate": 0.0, + "decayed_pending_debt_rate": 0.0, + "decayed_pending_resolution_rate": 0.0, + "decayed_reacquired_clearance_rate": 0.0, + "decayed_reacquired_confirmation_rate": 0.0, + "decayed_rebuilt_clearance_reentry_rate": 0.0, + "decayed_rebuilt_confirmation_reentry_rate": 0.0, + "decayed_reentered_rebuild_clearance_rate": 0.0, + "decayed_reentered_rebuild_confirmation_rate": 0.0, + "decayed_rererestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rererestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_rerestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rerestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_reset_reentered_clearance_rate": 0.0, + "decayed_reset_reentered_confirmation_rate": 0.0, + "decayed_restored_rebuild_reentry_clearance_rate": 0.0, + "decayed_restored_rebuild_reentry_confirmation_rate": 0.0, + "decision_memory_status": "new", + "done_criteria": "Complete the recommended action and confirm the item exits the blocked or urgent queue on the next run.", + "exception_pattern_reason": "", + "exception_pattern_status": "none", + "exception_retirement_reason": "", + "exception_retirement_status": "none", + "item_id": "RepoA:Harden auth", + "kind": "security", + "lane": "blocked", + "lane_label": "Blocked", + "last_intervention": { + "generated_at": "2026-04-07T12:00:00Z", + "item_id": "RepoA:Harden auth", + "kind": "intervention", + "magnitude": 0.8, + "outcome": "in-progress" + }, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "newly_stale": true, + "pending_debt_freshness_reason": "Pending-transition memory is still too lightly exercised to judge freshness, with 0.00 weighted pending-entry run(s), 0% debt-like signal, and 0% healthy-resolution signal.", + "pending_debt_freshness_status": "insufficient-data", + "pending_debt_memory_weight": 0.0, + "policy_debt_reason": "", + "policy_debt_status": "none", + "policy_flip_count": 0, + "pre_class_normalization_trust_policy": "monitor", + "pre_class_normalization_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "pre_retirement_trust_policy": "monitor", + "pre_retirement_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "priority": 0, + "reason": "This is the highest blocked item, so it outranks urgent and ready work.", + "recent_class_policy_path": "monitor", + "recent_class_reweight_path": "neutral", + "recent_class_signal_mix": "0.00 weighted exception run(s) with 0.00 retired-like, 0.00 sticky-like, and 0% of the signal from the freshest runs.", + "recent_closure_forecast_path": "neutral", + "recent_closure_forecast_refresh_path": "neutral", + "recent_closure_forecast_signal_mix": "0.00 weighted forecast run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_exception_path": "", + "recent_pending_debt_path": "", + "recent_pending_signal_mix": "0.00 weighted pending-entry run(s) with 0.00 debt-like, 0.00 healthy-resolution, and 0% of the signal from the freshest runs.", + "recent_policy_path": "monitor", + "recent_reacquisition_persistence_path": "hold", + "recent_reacquisition_signal_mix": "0.00 weighted reacquisition run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_recovery_churn_path": "hold", + "recent_reset_reentry_churn_path": "hold", + "recent_reset_reentry_persistence_path": "hold", + "recent_reset_reentry_rebuild_churn_path": "hold", + "recent_reset_reentry_rebuild_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_signal_mix": "0.00 weighted re-re-restored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_signal_mix": "0.00 weighted rerestored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_restore_signal_mix": "0.00 weighted restored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_signal_mix": "0.00 weighted rebuilt re-entry run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_refresh_path": "hold", + "recent_reset_reentry_rebuild_signal_mix": "0.00 weighted rebuilt run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_refresh_path": "hold", + "recent_reset_reentry_signal_mix": "0.00 weighted reset re-entry run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_refresh_path": "hold", + "recent_retirement_path": "monitor", + "recent_transition_path": "none", + "recent_transition_score_path": "0.00", + "recommendation_drift_status": "stable", + "recommended_action": "", + "recovery_confidence_label": "medium", + "recovery_confidence_reasons": [ + "Calibration is still lightly exercised, so retirement confidence stays softer.", + "Recent runs are stabilizing, but the retirement window is still short.", + "Calibration history is still too light to prove the softer posture can retire." + ], + "recovery_confidence_score": 0.55, + "reopened": false, + "repeat_urgent": false, + "repo": "RepoA", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "stable_after_exception_runs": 1, + "stable_policy_run_count": 1, + "stale": true, + "summary": "", + "title": "Harden auth", + "transition_closure_confidence_label": "low", + "transition_closure_confidence_reasons": [], + "transition_closure_confidence_score": 0.05, + "transition_closure_likely_outcome": "none", + "transition_score_delta": 0.0, + "trust_exception_reason": "", + "trust_exception_status": "none", + "trust_policy": "monitor", + "trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "trust_recovery_reason": "", + "trust_recovery_status": "none", + "weighted_class_caution_score": 0.0, + "weighted_class_support_score": 0.0, + "weighted_pending_debt_caution_score": 0.0, + "weighted_pending_resolution_support_score": 0.0 + }, + "primary_target_class_decay_reason": "", + "primary_target_class_decay_status": "none", + "primary_target_class_memory_freshness_reason": "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal.", + "primary_target_class_memory_freshness_status": "insufficient-data", + "primary_target_class_normalization_reason": "", + "primary_target_class_normalization_status": "none", + "primary_target_class_pending_debt_reason": "", + "primary_target_class_pending_debt_status": "none", + "primary_target_class_reweight_stability_status": "watch", + "primary_target_class_reweight_transition_reason": "", + "primary_target_class_reweight_transition_status": "none", + "primary_target_class_transition_health_reason": "", + "primary_target_class_transition_health_status": "none", + "primary_target_class_transition_resolution_reason": "", + "primary_target_class_transition_resolution_status": "none", + "primary_target_class_trust_momentum_score": 0.0, + "primary_target_class_trust_momentum_status": "insufficient-data", + "primary_target_class_trust_reweight_direction": "neutral", + "primary_target_class_trust_reweight_reasons": [ + "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal." + ], + "primary_target_class_trust_reweight_score": 0.0, + "primary_target_closure_forecast_decay_reason": "", + "primary_target_closure_forecast_decay_status": "none", + "primary_target_closure_forecast_freshness_reason": "Closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted forecast run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_freshness_status": "insufficient-data", + "primary_target_closure_forecast_hysteresis_reason": "", + "primary_target_closure_forecast_hysteresis_status": "none", + "primary_target_closure_forecast_momentum_score": 0.0, + "primary_target_closure_forecast_momentum_status": "insufficient-data", + "primary_target_closure_forecast_persistence_reset_reason": "", + "primary_target_closure_forecast_persistence_reset_status": "none", + "primary_target_closure_forecast_reacquisition_age_runs": 0, + "primary_target_closure_forecast_reacquisition_freshness_reason": "Reacquired closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted reacquisition run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reacquisition_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reacquisition_persistence_reason": "", + "primary_target_closure_forecast_reacquisition_persistence_score": 0.0, + "primary_target_closure_forecast_reacquisition_persistence_status": "none", + "primary_target_closure_forecast_reacquisition_reason": "", + "primary_target_closure_forecast_reacquisition_status": "none", + "primary_target_closure_forecast_recovery_churn_reason": "", + "primary_target_closure_forecast_recovery_churn_score": 0.0, + "primary_target_closure_forecast_recovery_churn_status": "none", + "primary_target_closure_forecast_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_freshness_reason": "Reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted reset re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_freshness_reason": "Rebuilt reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_freshness_reason": "Rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_reason": "Restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_reason": "Re-re-restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted re-re-restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_reason": "Rerestored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rerestored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_status": "none", + "primary_target_closure_forecast_reset_reentry_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_status": "none", + "primary_target_closure_forecast_reset_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_refresh_recovery_status": "none", + "primary_target_closure_forecast_reweight_direction": "neutral", + "primary_target_closure_forecast_reweight_reasons": [], + "primary_target_closure_forecast_reweight_score": 0.0, + "primary_target_closure_forecast_stability_status": "watch", + "primary_target_done_criteria": "Complete the recommended action and confirm the item exits the blocked or urgent queue on the next run.", + "primary_target_exception_pattern_reason": "", + "primary_target_exception_pattern_status": "none", + "primary_target_exception_reason": "", + "primary_target_exception_retirement_reason": "", + "primary_target_exception_retirement_status": "none", + "primary_target_exception_status": "none", + "primary_target_last_intervention": { + "generated_at": "2026-04-07T12:00:00Z", + "item_id": "RepoA:Harden auth", + "kind": "intervention", + "magnitude": 0.8, + "outcome": "in-progress" + }, + "primary_target_last_outcome": "no-change", + "primary_target_last_seen_at": "2026-04-09T12:00:00Z", + "primary_target_pending_debt_freshness_reason": "Pending-transition memory is still too lightly exercised to judge freshness, with 0.00 weighted pending-entry run(s), 0% debt-like signal, and 0% healthy-resolution signal.", + "primary_target_pending_debt_freshness_status": "insufficient-data", + "primary_target_policy_debt_reason": "", + "primary_target_policy_debt_status": "none", + "primary_target_reason": "This is the highest blocked item, so it outranks urgent and ready work.", + "primary_target_recovery_confidence_label": "medium", + "primary_target_recovery_confidence_reasons": [ + "Calibration is still lightly exercised, so retirement confidence stays softer.", + "Recent runs are stabilizing, but the retirement window is still short.", + "Calibration history is still too light to prove the softer posture can retire." + ], + "primary_target_recovery_confidence_score": 0.55, + "primary_target_resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "primary_target_transition_closure_confidence_label": "low", + "primary_target_transition_closure_confidence_reasons": [], + "primary_target_transition_closure_confidence_score": 0.05, + "primary_target_transition_closure_likely_outcome": "none", + "primary_target_trust_recovery_reason": "", + "primary_target_trust_recovery_status": "none", + "primary_target_weighted_class_caution_score": 0.0, + "primary_target_weighted_class_support_score": 0.0, + "primary_target_weighted_pending_debt_caution_score": 0.0, + "primary_target_weighted_pending_resolution_support_score": 0.0, + "quiet_streak_runs": 0, + "recent_interventions": [ + { + "event_type": "", + "item_id": "RepoA:Harden auth", + "outcome": "in-progress", + "recorded_at": "", + "repo": "", + "title": "" + }, + { + "event_type": "", + "item_id": "RepoA:Harden auth", + "outcome": "confirmed", + "recorded_at": "", + "repo": "", + "title": "" + } + ], + "recently_quieted_count": 0, + "recommendation_drift_status": "stable", + "recommendation_drift_summary": "Recent trust-policy behavior is stable enough that no meaningful recommendation drift is recorded.", + "recovering_clearance_hotspots": [], + "recovering_confirmation_hotspots": [], + "recovering_from_clearance_rebuild_reentry_rererestore_reset_hotspots": [], + "recovering_from_clearance_rebuild_reentry_rerestore_reset_hotspots": [], + "recovering_from_clearance_rebuild_reentry_reset_hotspots": [], + "recovering_from_clearance_rebuild_reentry_restore_reset_hotspots": [], + "recovering_from_clearance_rebuild_reset_hotspots": [], + "recovering_from_clearance_reentry_reset_hotspots": [], + "recovering_from_clearance_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_rererestore_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_rerestore_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_restore_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reset_hotspots": [], + "recovering_from_confirmation_reentry_reset_hotspots": [], + "recovering_from_confirmation_reset_hotspots": [], + "recovery_churn_hotspots": [], + "recovery_confidence_summary": "RepoA: Harden auth has medium recovery confidence (0.55), so caution may relax soon but still needs more proof.", + "reopened_after_resolution_count": 0, + "reopened_attention_count": 0, + "reset_reentry_churn_hotspots": [], + "reset_reentry_rebuild_churn_hotspots": [], + "reset_reentry_rebuild_reentry_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_rerererestore_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_rererestore_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_rerestore_churn_hotspots": [], + "resolution_evidence_summary": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "resolution_targets": [ + { + "age_days": 12, + "aging_status": "stale", + "base_trust_policy": "monitor", + "base_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "calibration_adjustment": 0.0, + "calibration_adjustment_reason": "Calibration is too lightly exercised to change the live score yet.", + "class_decay_reason": "", + "class_decay_status": "none", + "class_memory_freshness_reason": "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal.", + "class_memory_freshness_status": "insufficient-data", + "class_memory_weight": 0.0, + "class_normalization_reason": "", + "class_normalization_status": "none", + "class_pending_debt_rate": 0.0, + "class_pending_debt_reason": "", + "class_pending_debt_status": "none", + "class_pending_resolution_rate": 0.0, + "class_retirement_rate": 0.0, + "class_reweight_stability_status": "watch", + "class_reweight_transition_reason": "", + "class_reweight_transition_status": "none", + "class_sticky_rate": 0.0, + "class_transition_age_runs": 0, + "class_transition_health_reason": "", + "class_transition_health_status": "none", + "class_transition_resolution_reason": "", + "class_transition_resolution_status": "none", + "class_trust_momentum_score": 0.0, + "class_trust_momentum_status": "insufficient-data", + "class_trust_reweight_direction": "neutral", + "class_trust_reweight_effect": "none", + "class_trust_reweight_effect_reason": "", + "class_trust_reweight_reasons": [ + "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal." + ], + "class_trust_reweight_score": 0.0, + "closure_forecast_decay_reason": "", + "closure_forecast_decay_status": "none", + "closure_forecast_freshness_reason": "Closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted forecast run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_freshness_status": "insufficient-data", + "closure_forecast_hysteresis_reason": "", + "closure_forecast_hysteresis_status": "none", + "closure_forecast_memory_weight": 0.0, + "closure_forecast_momentum_score": 0.0, + "closure_forecast_momentum_status": "insufficient-data", + "closure_forecast_persistence_reset_reason": "", + "closure_forecast_persistence_reset_status": "none", + "closure_forecast_reacquisition_age_runs": 0, + "closure_forecast_reacquisition_freshness_reason": "Reacquired closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted reacquisition run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reacquisition_freshness_status": "insufficient-data", + "closure_forecast_reacquisition_memory_weight": 0.0, + "closure_forecast_reacquisition_persistence_reason": "", + "closure_forecast_reacquisition_persistence_score": 0.0, + "closure_forecast_reacquisition_persistence_status": "none", + "closure_forecast_reacquisition_reason": "", + "closure_forecast_reacquisition_status": "none", + "closure_forecast_recovery_churn_reason": "", + "closure_forecast_recovery_churn_score": 0.0, + "closure_forecast_recovery_churn_status": "none", + "closure_forecast_refresh_recovery_score": 0.0, + "closure_forecast_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_age_runs": 0, + "closure_forecast_reset_reentry_churn_reason": "", + "closure_forecast_reset_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_churn_status": "none", + "closure_forecast_reset_reentry_freshness_reason": "Reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted reset re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_freshness_reason": "Rebuilt reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_reason": "Rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_reason": "Restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_reason": "Re-re-restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted re-re-restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_reason": "Rerestored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rerestored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_status": "none", + "closure_forecast_reset_reentry_rebuild_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_status": "none", + "closure_forecast_reset_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_reset_reason": "", + "closure_forecast_reset_reentry_reset_status": "none", + "closure_forecast_reset_reentry_status": "none", + "closure_forecast_reset_refresh_recovery_score": 0.0, + "closure_forecast_reset_refresh_recovery_status": "none", + "closure_forecast_reweight_direction": "neutral", + "closure_forecast_reweight_effect": "none", + "closure_forecast_reweight_effect_reason": "", + "closure_forecast_reweight_reasons": [], + "closure_forecast_reweight_score": 0.0, + "closure_forecast_stability_status": "watch", + "confidence_label": "medium", + "confidence_reasons": [ + "Blocked operator work outranks urgent and ready items.", + "This item is stale and should be closed before it gets older.", + "The suggested next step is still generic rather than tightly item-specific." + ], + "confidence_score": 0.6, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "decayed_clearance_forecast_rate": 0.0, + "decayed_confirmation_forecast_rate": 0.0, + "decayed_pending_debt_rate": 0.0, + "decayed_pending_resolution_rate": 0.0, + "decayed_reacquired_clearance_rate": 0.0, + "decayed_reacquired_confirmation_rate": 0.0, + "decayed_rebuilt_clearance_reentry_rate": 0.0, + "decayed_rebuilt_confirmation_reentry_rate": 0.0, + "decayed_reentered_rebuild_clearance_rate": 0.0, + "decayed_reentered_rebuild_confirmation_rate": 0.0, + "decayed_rererestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rererestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_rerestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rerestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_reset_reentered_clearance_rate": 0.0, + "decayed_reset_reentered_confirmation_rate": 0.0, + "decayed_restored_rebuild_reentry_clearance_rate": 0.0, + "decayed_restored_rebuild_reentry_confirmation_rate": 0.0, + "decision_memory_status": "new", + "exception_pattern_reason": "", + "exception_pattern_status": "none", + "exception_retirement_reason": "", + "exception_retirement_status": "none", + "item_id": "RepoA:Harden auth", + "kind": "security", + "lane": "blocked", + "lane_label": "Blocked", + "last_intervention": { + "generated_at": "2026-04-07T12:00:00Z", + "item_id": "RepoA:Harden auth", + "kind": "intervention", + "magnitude": 0.8, + "outcome": "in-progress" + }, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "newly_stale": true, + "pending_debt_freshness_reason": "Pending-transition memory is still too lightly exercised to judge freshness, with 0.00 weighted pending-entry run(s), 0% debt-like signal, and 0% healthy-resolution signal.", + "pending_debt_freshness_status": "insufficient-data", + "pending_debt_memory_weight": 0.0, + "policy_debt_reason": "", + "policy_debt_status": "none", + "policy_flip_count": 0, + "pre_class_normalization_trust_policy": "monitor", + "pre_class_normalization_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "pre_retirement_trust_policy": "monitor", + "pre_retirement_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "priority": 0, + "recent_class_policy_path": "monitor", + "recent_class_reweight_path": "neutral", + "recent_class_signal_mix": "0.00 weighted exception run(s) with 0.00 retired-like, 0.00 sticky-like, and 0% of the signal from the freshest runs.", + "recent_closure_forecast_path": "neutral", + "recent_closure_forecast_refresh_path": "neutral", + "recent_closure_forecast_signal_mix": "0.00 weighted forecast run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_exception_path": "", + "recent_pending_debt_path": "", + "recent_pending_signal_mix": "0.00 weighted pending-entry run(s) with 0.00 debt-like, 0.00 healthy-resolution, and 0% of the signal from the freshest runs.", + "recent_policy_path": "monitor", + "recent_reacquisition_persistence_path": "hold", + "recent_reacquisition_signal_mix": "0.00 weighted reacquisition run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_recovery_churn_path": "hold", + "recent_reset_reentry_churn_path": "hold", + "recent_reset_reentry_persistence_path": "hold", + "recent_reset_reentry_rebuild_churn_path": "hold", + "recent_reset_reentry_rebuild_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_signal_mix": "0.00 weighted re-re-restored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_signal_mix": "0.00 weighted rerestored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_restore_signal_mix": "0.00 weighted restored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_signal_mix": "0.00 weighted rebuilt re-entry run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_refresh_path": "hold", + "recent_reset_reentry_rebuild_signal_mix": "0.00 weighted rebuilt run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_refresh_path": "hold", + "recent_reset_reentry_signal_mix": "0.00 weighted reset re-entry run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_refresh_path": "hold", + "recent_retirement_path": "monitor", + "recent_transition_path": "none", + "recent_transition_score_path": "0.00", + "recommended_action": "", + "recovery_confidence_label": "medium", + "recovery_confidence_reasons": [ + "Calibration is still lightly exercised, so retirement confidence stays softer.", + "Recent runs are stabilizing, but the retirement window is still short.", + "Calibration history is still too light to prove the softer posture can retire." + ], + "recovery_confidence_score": 0.55, + "reopened": false, + "repeat_urgent": false, + "repo": "RepoA", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "stable_after_exception_runs": 1, + "stable_policy_run_count": 1, + "stale": true, + "summary": "", + "title": "Harden auth", + "transition_closure_confidence_label": "low", + "transition_closure_confidence_reasons": [], + "transition_closure_confidence_score": 0.05, + "transition_closure_likely_outcome": "none", + "transition_score_delta": 0.0, + "trust_exception_reason": "", + "trust_exception_status": "none", + "trust_policy": "monitor", + "trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "trust_recovery_reason": "", + "trust_recovery_status": "none", + "weighted_class_caution_score": 0.0, + "weighted_class_support_score": 0.0, + "weighted_pending_debt_caution_score": 0.0, + "weighted_pending_resolution_support_score": 0.0 + }, + { + "age_days": 9, + "aging_status": "stale", + "base_trust_policy": "monitor", + "base_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "calibration_adjustment": 0.0, + "calibration_adjustment_reason": "Calibration is too lightly exercised to change the live score yet.", + "class_decay_reason": "", + "class_decay_status": "none", + "class_memory_freshness_reason": "", + "class_memory_freshness_status": "insufficient-data", + "class_memory_weight": 0.0, + "class_normalization_reason": "", + "class_normalization_status": "none", + "class_pending_debt_rate": 0.0, + "class_pending_debt_reason": "", + "class_pending_debt_status": "none", + "class_pending_resolution_rate": 0.0, + "class_retirement_rate": 0.0, + "class_reweight_stability_status": "watch", + "class_reweight_transition_reason": "", + "class_reweight_transition_status": "none", + "class_sticky_rate": 0.0, + "class_transition_age_runs": 0, + "class_transition_health_reason": "", + "class_transition_health_status": "none", + "class_transition_resolution_reason": "", + "class_transition_resolution_status": "none", + "class_trust_momentum_score": 0.0, + "class_trust_momentum_status": "insufficient-data", + "class_trust_reweight_direction": "neutral", + "class_trust_reweight_effect": "none", + "class_trust_reweight_effect_reason": "", + "class_trust_reweight_reasons": [], + "class_trust_reweight_score": 0.0, + "closure_forecast_decay_reason": "", + "closure_forecast_decay_status": "none", + "closure_forecast_freshness_reason": "", + "closure_forecast_freshness_status": "insufficient-data", + "closure_forecast_hysteresis_reason": "", + "closure_forecast_hysteresis_status": "none", + "closure_forecast_memory_weight": 0.0, + "closure_forecast_momentum_score": 0.0, + "closure_forecast_momentum_status": "insufficient-data", + "closure_forecast_persistence_reset_reason": "", + "closure_forecast_persistence_reset_status": "none", + "closure_forecast_reacquisition_age_runs": 0, + "closure_forecast_reacquisition_freshness_reason": "", + "closure_forecast_reacquisition_freshness_status": "insufficient-data", + "closure_forecast_reacquisition_memory_weight": 0.0, + "closure_forecast_reacquisition_persistence_reason": "", + "closure_forecast_reacquisition_persistence_score": 0.0, + "closure_forecast_reacquisition_persistence_status": "none", + "closure_forecast_reacquisition_reason": "", + "closure_forecast_reacquisition_status": "none", + "closure_forecast_recovery_churn_reason": "", + "closure_forecast_recovery_churn_score": 0.0, + "closure_forecast_recovery_churn_status": "none", + "closure_forecast_refresh_recovery_score": 0.0, + "closure_forecast_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_age_runs": 0, + "closure_forecast_reset_reentry_churn_reason": "", + "closure_forecast_reset_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_churn_status": "none", + "closure_forecast_reset_reentry_freshness_reason": "", + "closure_forecast_reset_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_status": "none", + "closure_forecast_reset_reentry_rebuild_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_status": "none", + "closure_forecast_reset_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_reset_reason": "", + "closure_forecast_reset_reentry_reset_status": "none", + "closure_forecast_reset_reentry_status": "none", + "closure_forecast_reset_refresh_recovery_score": 0.0, + "closure_forecast_reset_refresh_recovery_status": "none", + "closure_forecast_reweight_direction": "neutral", + "closure_forecast_reweight_effect": "none", + "closure_forecast_reweight_effect_reason": "", + "closure_forecast_reweight_reasons": [], + "closure_forecast_reweight_score": 0.0, + "closure_forecast_stability_status": "watch", + "confidence_label": "medium", + "confidence_reasons": [ + "Urgent drift or regression needs attention before ready work.", + "This item is stale and should be closed before it gets older.", + "The suggested next step is still generic rather than tightly item-specific." + ], + "confidence_score": 0.5, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "decayed_clearance_forecast_rate": 0.0, + "decayed_confirmation_forecast_rate": 0.0, + "decayed_pending_debt_rate": 0.0, + "decayed_pending_resolution_rate": 0.0, + "decayed_reacquired_clearance_rate": 0.0, + "decayed_reacquired_confirmation_rate": 0.0, + "decayed_rebuilt_clearance_reentry_rate": 0.0, + "decayed_rebuilt_confirmation_reentry_rate": 0.0, + "decayed_reentered_rebuild_clearance_rate": 0.0, + "decayed_reentered_rebuild_confirmation_rate": 0.0, + "decayed_rererestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rererestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_rerestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rerestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_reset_reentered_clearance_rate": 0.0, + "decayed_reset_reentered_confirmation_rate": 0.0, + "decayed_restored_rebuild_reentry_clearance_rate": 0.0, + "decayed_restored_rebuild_reentry_confirmation_rate": 0.0, + "decision_memory_status": "new", + "exception_pattern_reason": "", + "exception_pattern_status": "none", + "exception_retirement_reason": "", + "exception_retirement_status": "none", + "item_id": "RepoB:Ship migration", + "kind": "migration", + "lane": "urgent", + "lane_label": "Needs Attention Now", + "last_intervention": {}, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "newly_stale": true, + "pending_debt_freshness_reason": "", + "pending_debt_freshness_status": "insufficient-data", + "pending_debt_memory_weight": 0.0, + "policy_debt_reason": "", + "policy_debt_status": "none", + "policy_flip_count": 0, + "pre_class_normalization_trust_policy": "monitor", + "pre_class_normalization_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "pre_retirement_trust_policy": "monitor", + "pre_retirement_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "priority": 0, + "recent_class_policy_path": "", + "recent_class_reweight_path": "", + "recent_class_signal_mix": "", + "recent_closure_forecast_path": "", + "recent_closure_forecast_refresh_path": "", + "recent_closure_forecast_signal_mix": "", + "recent_exception_path": "", + "recent_pending_debt_path": "", + "recent_pending_signal_mix": "", + "recent_policy_path": "", + "recent_reacquisition_persistence_path": "", + "recent_reacquisition_signal_mix": "", + "recent_recovery_churn_path": "", + "recent_reset_reentry_churn_path": "", + "recent_reset_reentry_persistence_path": "", + "recent_reset_reentry_rebuild_churn_path": "", + "recent_reset_reentry_rebuild_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_churn_path": "", + "recent_reset_reentry_rebuild_reentry_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_refresh_path": "", + "recent_reset_reentry_rebuild_reentry_restore_churn_path": "", + "recent_reset_reentry_rebuild_reentry_restore_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_restore_refresh_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_churn_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_churn_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_refresh_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_signal_mix": "", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_churn_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_refresh_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_signal_mix": "", + "recent_reset_reentry_rebuild_reentry_restore_signal_mix": "", + "recent_reset_reentry_rebuild_reentry_signal_mix": "", + "recent_reset_reentry_rebuild_refresh_path": "", + "recent_reset_reentry_rebuild_signal_mix": "", + "recent_reset_reentry_refresh_path": "", + "recent_reset_reentry_signal_mix": "", + "recent_reset_refresh_path": "", + "recent_retirement_path": "", + "recent_transition_path": "", + "recent_transition_score_path": "", + "recommended_action": "", + "recovery_confidence_label": "low", + "recovery_confidence_reasons": [], + "recovery_confidence_score": 0.05, + "reopened": false, + "repeat_urgent": false, + "repo": "RepoB", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "stable_after_exception_runs": 0, + "stable_policy_run_count": 0, + "stale": true, + "summary": "", + "title": "Ship migration", + "transition_closure_confidence_label": "low", + "transition_closure_confidence_reasons": [], + "transition_closure_confidence_score": 0.05, + "transition_closure_likely_outcome": "none", + "transition_score_delta": 0.0, + "trust_exception_reason": "", + "trust_exception_status": "none", + "trust_policy": "monitor", + "trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "trust_recovery_reason": "", + "trust_recovery_status": "none", + "weighted_class_caution_score": 0.0, + "weighted_class_support_score": 0.0, + "weighted_pending_debt_caution_score": 0.0, + "weighted_pending_resolution_support_score": 0.0 + }, + { + "age_days": 2, + "aging_status": "fresh", + "base_trust_policy": "monitor", + "base_trust_policy_reason": "This is low-pressure work, so monitoring is safer than forcing a strong closure move.", + "calibration_adjustment": 0.0, + "calibration_adjustment_reason": "Calibration is too lightly exercised to change the live score yet.", + "class_decay_reason": "", + "class_decay_status": "none", + "class_memory_freshness_reason": "", + "class_memory_freshness_status": "insufficient-data", + "class_memory_weight": 0.0, + "class_normalization_reason": "", + "class_normalization_status": "none", + "class_pending_debt_rate": 0.0, + "class_pending_debt_reason": "", + "class_pending_debt_status": "none", + "class_pending_resolution_rate": 0.0, + "class_retirement_rate": 0.0, + "class_reweight_stability_status": "watch", + "class_reweight_transition_reason": "", + "class_reweight_transition_status": "none", + "class_sticky_rate": 0.0, + "class_transition_age_runs": 0, + "class_transition_health_reason": "", + "class_transition_health_status": "none", + "class_transition_resolution_reason": "", + "class_transition_resolution_status": "none", + "class_trust_momentum_score": 0.0, + "class_trust_momentum_status": "insufficient-data", + "class_trust_reweight_direction": "neutral", + "class_trust_reweight_effect": "none", + "class_trust_reweight_effect_reason": "", + "class_trust_reweight_reasons": [], + "class_trust_reweight_score": 0.0, + "closure_forecast_decay_reason": "", + "closure_forecast_decay_status": "none", + "closure_forecast_freshness_reason": "", + "closure_forecast_freshness_status": "insufficient-data", + "closure_forecast_hysteresis_reason": "", + "closure_forecast_hysteresis_status": "none", + "closure_forecast_memory_weight": 0.0, + "closure_forecast_momentum_score": 0.0, + "closure_forecast_momentum_status": "insufficient-data", + "closure_forecast_persistence_reset_reason": "", + "closure_forecast_persistence_reset_status": "none", + "closure_forecast_reacquisition_age_runs": 0, + "closure_forecast_reacquisition_freshness_reason": "", + "closure_forecast_reacquisition_freshness_status": "insufficient-data", + "closure_forecast_reacquisition_memory_weight": 0.0, + "closure_forecast_reacquisition_persistence_reason": "", + "closure_forecast_reacquisition_persistence_score": 0.0, + "closure_forecast_reacquisition_persistence_status": "none", + "closure_forecast_reacquisition_reason": "", + "closure_forecast_reacquisition_status": "none", + "closure_forecast_recovery_churn_reason": "", + "closure_forecast_recovery_churn_score": 0.0, + "closure_forecast_recovery_churn_status": "none", + "closure_forecast_refresh_recovery_score": 0.0, + "closure_forecast_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_age_runs": 0, + "closure_forecast_reset_reentry_churn_reason": "", + "closure_forecast_reset_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_churn_status": "none", + "closure_forecast_reset_reentry_freshness_reason": "", + "closure_forecast_reset_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_status": "none", + "closure_forecast_reset_reentry_rebuild_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_status": "none", + "closure_forecast_reset_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_reset_reason": "", + "closure_forecast_reset_reentry_reset_status": "none", + "closure_forecast_reset_reentry_status": "none", + "closure_forecast_reset_refresh_recovery_score": 0.0, + "closure_forecast_reset_refresh_recovery_status": "none", + "closure_forecast_reweight_direction": "neutral", + "closure_forecast_reweight_effect": "none", + "closure_forecast_reweight_effect_reason": "", + "closure_forecast_reweight_reasons": [], + "closure_forecast_reweight_score": 0.0, + "closure_forecast_stability_status": "watch", + "confidence_label": "low", + "confidence_reasons": [ + "Ready work is actionable, but lower pressure than blocked or urgent items.", + "This is a lower-priority ready item, so the recommendation is less certain." + ], + "confidence_score": 0.05, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "decayed_clearance_forecast_rate": 0.0, + "decayed_confirmation_forecast_rate": 0.0, + "decayed_pending_debt_rate": 0.0, + "decayed_pending_resolution_rate": 0.0, + "decayed_reacquired_clearance_rate": 0.0, + "decayed_reacquired_confirmation_rate": 0.0, + "decayed_rebuilt_clearance_reentry_rate": 0.0, + "decayed_rebuilt_confirmation_reentry_rate": 0.0, + "decayed_reentered_rebuild_clearance_rate": 0.0, + "decayed_reentered_rebuild_confirmation_rate": 0.0, + "decayed_rererestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rererestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_rerestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rerestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_reset_reentered_clearance_rate": 0.0, + "decayed_reset_reentered_confirmation_rate": 0.0, + "decayed_restored_rebuild_reentry_clearance_rate": 0.0, + "decayed_restored_rebuild_reentry_confirmation_rate": 0.0, + "decision_memory_status": "new", + "exception_pattern_reason": "", + "exception_pattern_status": "none", + "exception_retirement_reason": "", + "exception_retirement_status": "none", + "item_id": "RepoC:Polish docs", + "kind": "docs", + "lane": "ready", + "lane_label": "Ready for Manual Action", + "last_intervention": {}, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "newly_stale": false, + "pending_debt_freshness_reason": "", + "pending_debt_freshness_status": "insufficient-data", + "pending_debt_memory_weight": 0.0, + "policy_debt_reason": "", + "policy_debt_status": "none", + "policy_flip_count": 0, + "pre_class_normalization_trust_policy": "monitor", + "pre_class_normalization_trust_policy_reason": "This is low-pressure work, so monitoring is safer than forcing a strong closure move.", + "pre_retirement_trust_policy": "monitor", + "pre_retirement_trust_policy_reason": "This is low-pressure work, so monitoring is safer than forcing a strong closure move.", + "priority": 0, + "recent_class_policy_path": "", + "recent_class_reweight_path": "", + "recent_class_signal_mix": "", + "recent_closure_forecast_path": "", + "recent_closure_forecast_refresh_path": "", + "recent_closure_forecast_signal_mix": "", + "recent_exception_path": "", + "recent_pending_debt_path": "", + "recent_pending_signal_mix": "", + "recent_policy_path": "", + "recent_reacquisition_persistence_path": "", + "recent_reacquisition_signal_mix": "", + "recent_recovery_churn_path": "", + "recent_reset_reentry_churn_path": "", + "recent_reset_reentry_persistence_path": "", + "recent_reset_reentry_rebuild_churn_path": "", + "recent_reset_reentry_rebuild_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_churn_path": "", + "recent_reset_reentry_rebuild_reentry_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_refresh_path": "", + "recent_reset_reentry_rebuild_reentry_restore_churn_path": "", + "recent_reset_reentry_rebuild_reentry_restore_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_restore_refresh_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_churn_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_churn_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_refresh_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_signal_mix": "", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_churn_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_persistence_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_refresh_path": "", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_signal_mix": "", + "recent_reset_reentry_rebuild_reentry_restore_signal_mix": "", + "recent_reset_reentry_rebuild_reentry_signal_mix": "", + "recent_reset_reentry_rebuild_refresh_path": "", + "recent_reset_reentry_rebuild_signal_mix": "", + "recent_reset_reentry_refresh_path": "", + "recent_reset_reentry_signal_mix": "", + "recent_reset_refresh_path": "", + "recent_retirement_path": "", + "recent_transition_path": "", + "recent_transition_score_path": "", + "recommended_action": "", + "recovery_confidence_label": "low", + "recovery_confidence_reasons": [], + "recovery_confidence_score": 0.05, + "reopened": false, + "repeat_urgent": false, + "repo": "RepoC", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "stable_after_exception_runs": 0, + "stable_policy_run_count": 0, + "stale": false, + "summary": "", + "title": "Polish docs", + "transition_closure_confidence_label": "low", + "transition_closure_confidence_reasons": [], + "transition_closure_confidence_score": 0.05, + "transition_closure_likely_outcome": "none", + "transition_score_delta": 0.0, + "trust_exception_reason": "", + "trust_exception_status": "none", + "trust_policy": "monitor", + "trust_policy_reason": "This is low-pressure work, so monitoring is safer than forcing a strong closure move.", + "trust_recovery_reason": "", + "trust_recovery_status": "none", + "weighted_class_caution_score": 0.0, + "weighted_class_support_score": 0.0, + "weighted_pending_debt_caution_score": 0.0, + "weighted_pending_resolution_support_score": 0.0 + } + ], + "resolved_attention_count": 0, + "resolving_transition_hotspots": [], + "retired_exception_hotspots": [], + "stale_class_memory_hotspots": [ + { + "class_memory_weight": 0.0, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "freshness_status": "insufficient-data", + "label": "blocked:security", + "recent_class_signal_mix": "0.00 weighted exception run(s) with 0.00 retired-like, 0.00 sticky-like, and 0% of the signal from the freshest runs.", + "scope": "class", + "weighted_exception_count": 0.0 + }, + { + "class_memory_weight": 0.0, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "freshness_status": "insufficient-data", + "label": "ready:docs", + "recent_class_signal_mix": "", + "scope": "class", + "weighted_exception_count": 0.0 + }, + { + "class_memory_weight": 0.0, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "freshness_status": "insufficient-data", + "label": "urgent:migration", + "recent_class_signal_mix": "", + "scope": "class", + "weighted_exception_count": 0.0 + } + ], + "stale_closure_forecast_hotspots": [], + "stale_pending_debt_hotspots": [], + "stale_reacquisition_hotspots": [], + "stale_reset_reentry_hotspots": [], + "stale_reset_reentry_rebuild_hotspots": [], + "stale_reset_reentry_rebuild_reentry_hotspots": [], + "stale_reset_reentry_rebuild_reentry_restore_hotspots": [], + "stale_reset_reentry_rebuild_reentry_restore_rererestore_hotspots": [], + "stale_reset_reentry_rebuild_reentry_restore_rerestore_hotspots": [], + "stalled_transition_hotspots": [], + "sticky_exception_hotspots": [], + "supporting_class_hotspots": [], + "supporting_pending_resolution_hotspots": [], + "sustained_class_hotspots": [], + "sustained_clearance_hotspots": [], + "sustained_confirmation_hotspots": [], + "transition_closure_confidence_summary": "No active pending class transition needs closure-confidence scoring right now.", + "transition_closure_window_runs": 4, + "trend_status": "worsening", + "trend_summary": "The operator picture is worsening: 2 new attention item(s) appeared, 0 still remain open, and 0 reopened inside the recent window. Focus first on RepoA: Harden auth.", + "trust_normalization_summary": "Recent class behavior does not yet show a strong normalization pattern.", + "trust_recovery_window_runs": 3 + }, + "single_blocked_stale": { + "accountability_summary": "This is the highest blocked item, so it outranks urgent and ready work. Treat this as done only when complete the recommended action and confirm the item exits the blocked or urgent queue on the next run. Aging pressure: 0 chronic item(s) and 1 newly stale item(s).", + "aging_status": "stale", + "attention_age_bands": { + "0-1 days": 0, + "2-7 days": 0, + "22+ days": 0, + "8-21 days": 1 + }, + "caution_class_hotspots": [], + "caution_pending_debt_hotspots": [], + "chronic_item_count": 0, + "class_decay_summary": "Older class lessons are aging out around blocked:security, so trust posture there should rely less on stale carry-forward.", + "class_decay_window_runs": 4, + "class_memory_summary": "Class memory is aging out most visibly around blocked:security, so older class lessons should not keep carrying forward there.", + "class_momentum_summary": "Class momentum is still too lightly exercised to say whether recent class guidance is sustained or unstable.", + "class_normalization_window_runs": 4, + "class_pending_debt_summary": "No class pending-debt pattern is strong enough to change how pending signals are interpreted yet.", + "class_pending_debt_window_runs": 10, + "class_pending_resolution_summary": "No class-level pending-resolution pattern is strong enough to call out yet.", + "class_reweight_stability_summary": "Class guidance for RepoA: Harden auth is still settling and should be watched for one more stable stretch: neutral.", + "class_reweighting_summary": "Class evidence is informative, but not strong enough to move posture by itself yet.", + "class_reweighting_window_runs": 4, + "class_transition_age_window_runs": 4, + "class_transition_health_summary": "No active pending class transition is building or stalling right now.", + "class_transition_resolution_summary": "No pending class transition has just confirmed, cleared, or expired in the recent window.", + "class_transition_window_runs": 4, + "closure_forecast_decay_summary": "No strong closure-forecast freshness trend is dominating the live hysteresis posture yet.", + "closure_forecast_decay_window_runs": 4, + "closure_forecast_freshness_summary": "Closure-forecast memory is still too lightly exercised to say whether fresh or stale forecast evidence should lead the current posture.", + "closure_forecast_hysteresis_summary": "No closure-forecast hysteresis adjustment is changing the live pending forecast right now.", + "closure_forecast_momentum_summary": "Closure-forecast momentum is still too lightly exercised to say whether recent pending-resolution behavior is sustained or unstable.", + "closure_forecast_persistence_reset_summary": "No persistence reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reacquisition_decay_window_runs": 4, + "closure_forecast_reacquisition_freshness_summary": "Reacquired closure-forecast memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reacquisition_persistence_summary": "No reacquired closure-forecast posture is active enough yet to judge whether it can hold.", + "closure_forecast_reacquisition_summary": "No closure-forecast reacquisition is re-earning stronger carry-forward right now.", + "closure_forecast_reacquisition_window_runs": 4, + "closure_forecast_recovery_churn_summary": "No meaningful recovery churn is active right now.", + "closure_forecast_refresh_recovery_summary": "No closure-forecast refresh recovery is strong enough yet to re-earn stronger carry-forward.", + "closure_forecast_refresh_window_runs": 4, + "closure_forecast_reset_reentry_churn_summary": "No meaningful reset re-entry churn is active right now.", + "closure_forecast_reset_reentry_decay_window_runs": 4, + "closure_forecast_reset_reentry_freshness_summary": "Reset re-entry memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_persistence_summary": "No reset re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_churn_summary": "No meaningful reset re-entry rebuild churn is active right now.", + "closure_forecast_reset_reentry_rebuild_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_freshness_summary": "Rebuilt reset re-entry memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_persistence_summary": "No rebuilt reset re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_churn_summary": "No meaningful rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_freshness_summary": "Rebuilt re-entry memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_reentry_persistence_summary": "No rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_summary": "No rebuilt re-entry recovery attempt is active enough yet to restore stronger posture.", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_reset_summary": "No rebuilt re-entry reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_summary": "No meaningful restored rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_summary": "Restored rebuilt re-entry memory is still too lightly exercised to say whether restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_summary": "No restored rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_summary": "No restored rebuilt re-entry recovery attempt is active enough yet to re-restore stronger posture.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_summary": "No meaningful re-re-re-restored rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_summary": "No re-re-re-restored rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_summary": "No re-re-restored rebuilt re-entry re-re-re-restore control is changing the current closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_summary": "No meaningful re-re-restored rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_summary": "Re-re-restored rebuilt re-entry memory is still too lightly exercised to say whether stronger re-re-restored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_summary": "No re-re-restored rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_summary": "No re-re-restored rebuilt re-entry recovery attempt is active enough yet to re-re-re-restore stronger posture.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_summary": "No re-re-restored rebuilt re-entry reset is changing the current stronger closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_summary": "No rerestored rebuilt re-entry re-re-restore control is changing the current closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_summary": "No meaningful re-restored rebuilt re-entry churn is active right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_decay_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_summary": "Rerestored rebuilt re-entry memory is still too lightly exercised to say whether stronger rerestored posture is being reinforced by fresh evidence or older carry-forward.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_summary": "No re-restored rebuilt re-entry posture is active enough yet to judge whether it can hold.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_summary": "No rerestored rebuilt re-entry recovery attempt is active enough yet to re-re-restore stronger posture.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_summary": "No rerestored rebuilt re-entry reset is changing the current stronger closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_summary": "No restored rebuilt re-entry re-restore control is changing the current closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_summary": "No restored rebuilt re-entry reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_summary": "No rebuilt re-entry restore control is changing the current closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reentry_summary": "No rebuilt re-entry control is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_reentry_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_refresh_recovery_summary": "No rebuilt reset re-entry recovery attempt is active enough yet to re-earn stronger restored posture.", + "closure_forecast_reset_reentry_rebuild_refresh_window_runs": 4, + "closure_forecast_reset_reentry_rebuild_reset_summary": "No rebuilt reset re-entry reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_summary": "No reset re-entry rebuild is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_rebuild_window_runs": 4, + "closure_forecast_reset_reentry_refresh_recovery_summary": "No reset re-entry rebuild attempt is active enough yet to re-earn stronger restored posture.", + "closure_forecast_reset_reentry_refresh_window_runs": 4, + "closure_forecast_reset_reentry_reset_summary": "No reset re-entry reset is changing the current restored closure-forecast posture right now.", + "closure_forecast_reset_reentry_summary": "No reset re-entry is strong enough yet to restore stronger reacquisition.", + "closure_forecast_reset_reentry_window_runs": 4, + "closure_forecast_reset_refresh_recovery_summary": "No reset-refresh recovery is strong enough yet to re-enter the reacquisition ladder.", + "closure_forecast_reset_refresh_window_runs": 4, + "closure_forecast_reweighting_summary": "Class evidence is informative, but it is not strong enough to move the closure forecast by itself yet.", + "closure_forecast_reweighting_window_runs": 4, + "closure_forecast_stability_summary": "Closure forecasting for RepoA: Harden auth is still settling and should be watched for one more stable stretch: neutral.", + "closure_forecast_transition_window_runs": 4, + "closure_guidance": "Treat this as done only when complete the recommended action and confirm the item exits the blocked or urgent queue on the next run.", + "confirmed_resolved_count": 0, + "decision_memory_map": { + "RepoA:Harden auth": { + "decision_memory_status": "new", + "last_intervention": { + "generated_at": "2026-04-07T12:00:00Z", + "item_id": "RepoA:Harden auth", + "kind": "intervention", + "magnitude": 0.8, + "outcome": "in-progress" + }, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet." + }, + "__summary__": { + "confirmed_resolved_count": 0, + "decision_memory_window_runs": 9, + "recent_interventions": [ + { + "event_type": "", + "item_id": "RepoA:Harden auth", + "outcome": "in-progress", + "recorded_at": "", + "repo": "", + "title": "" + }, + { + "event_type": "", + "item_id": "RepoA:Harden auth", + "outcome": "confirmed", + "recorded_at": "", + "repo": "", + "title": "" + } + ], + "recently_quieted_count": 0, + "reopened_after_resolution_count": 0 + } + }, + "decision_memory_status": "new", + "decision_memory_window_runs": 9, + "exception_pattern_summary": "Recent exception behavior does not yet show a strong overcautious or recovery pattern.", + "exception_retirement_summary": "Recent exception retirement behavior does not yet show a strong retire-or-stay pattern.", + "exception_retirement_window_runs": 4, + "false_positive_exception_hotspots": [], + "fresh_class_signal_hotspots": [], + "fresh_closure_forecast_signal_hotspots": [], + "fresh_pending_resolution_hotspots": [], + "fresh_reacquisition_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_restore_rererestore_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_restore_rerestore_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_restore_signal_hotspots": [], + "fresh_reset_reentry_rebuild_reentry_signal_hotspots": [], + "fresh_reset_reentry_rebuild_signal_hotspots": [], + "fresh_reset_reentry_signal_hotspots": [], + "healthy_pending_resolution_hotspots": [], + "history_window_runs": 9, + "holding_reacquisition_hotspots": [], + "holding_reset_reentry_hotspots": [], + "holding_reset_reentry_rebuild_hotspots": [], + "holding_reset_reentry_rebuild_reentry_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_rerererestore_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_rererestore_hotspots": [], + "holding_reset_reentry_rebuild_reentry_restore_rerestore_hotspots": [], + "just_reacquired_hotspots": [], + "just_rebuilt_hotspots": [], + "just_reentered_hotspots": [], + "just_reentered_rebuild_hotspots": [], + "just_rerererestored_rebuild_reentry_hotspots": [], + "just_rererestored_rebuild_reentry_hotspots": [], + "just_rerestored_rebuild_reentry_hotspots": [], + "just_restored_rebuild_reentry_hotspots": [], + "longest_persisting_item": { + "age_days": 12, + "aging_status": "stale", + "item_id": "RepoA:Harden auth", + "lane": "blocked", + "repo": "RepoA", + "title": "Harden auth" + }, + "new_attention_count": 1, + "newly_stale_count": 1, + "normalized_class_hotspots": [], + "oscillating_class_hotspots": [], + "oscillating_closure_forecast_hotspots": [], + "pending_debt_decay_summary": "No strong pending-debt freshness trend is dominating the closure forecast yet.", + "pending_debt_decay_window_runs": 4, + "pending_debt_freshness_summary": "Pending-transition memory is still too lightly exercised to say whether fresh or stale class debt should lead the forecast.", + "pending_debt_hotspots": [], + "persisting_attention_count": 0, + "policy_debt_hotspots": [], + "policy_debt_summary": "Recent class behavior does not yet show meaningful policy debt.", + "policy_flip_hotspots": [], + "primary_target": { + "age_days": 12, + "aging_status": "stale", + "base_trust_policy": "monitor", + "base_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "calibration_adjustment": 0.0, + "calibration_adjustment_reason": "Calibration is too lightly exercised to change the live score yet.", + "class_decay_reason": "", + "class_decay_status": "none", + "class_memory_freshness_reason": "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal.", + "class_memory_freshness_status": "insufficient-data", + "class_memory_weight": 0.0, + "class_normalization_reason": "", + "class_normalization_status": "none", + "class_pending_debt_rate": 0.0, + "class_pending_debt_reason": "", + "class_pending_debt_status": "none", + "class_pending_resolution_rate": 0.0, + "class_retirement_rate": 0.0, + "class_reweight_stability_status": "watch", + "class_reweight_transition_reason": "", + "class_reweight_transition_status": "none", + "class_sticky_rate": 0.0, + "class_transition_age_runs": 0, + "class_transition_health_reason": "", + "class_transition_health_status": "none", + "class_transition_resolution_reason": "", + "class_transition_resolution_status": "none", + "class_trust_momentum_score": 0.0, + "class_trust_momentum_status": "insufficient-data", + "class_trust_reweight_direction": "neutral", + "class_trust_reweight_effect": "none", + "class_trust_reweight_effect_reason": "", + "class_trust_reweight_reasons": [ + "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal." + ], + "class_trust_reweight_score": 0.0, + "closure_forecast_decay_reason": "", + "closure_forecast_decay_status": "none", + "closure_forecast_freshness_reason": "Closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted forecast run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_freshness_status": "insufficient-data", + "closure_forecast_hysteresis_reason": "", + "closure_forecast_hysteresis_status": "none", + "closure_forecast_memory_weight": 0.0, + "closure_forecast_momentum_score": 0.0, + "closure_forecast_momentum_status": "insufficient-data", + "closure_forecast_persistence_reset_reason": "", + "closure_forecast_persistence_reset_status": "none", + "closure_forecast_reacquisition_age_runs": 0, + "closure_forecast_reacquisition_freshness_reason": "Reacquired closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted reacquisition run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reacquisition_freshness_status": "insufficient-data", + "closure_forecast_reacquisition_memory_weight": 0.0, + "closure_forecast_reacquisition_persistence_reason": "", + "closure_forecast_reacquisition_persistence_score": 0.0, + "closure_forecast_reacquisition_persistence_status": "none", + "closure_forecast_reacquisition_reason": "", + "closure_forecast_reacquisition_status": "none", + "closure_forecast_recovery_churn_reason": "", + "closure_forecast_recovery_churn_score": 0.0, + "closure_forecast_recovery_churn_status": "none", + "closure_forecast_refresh_recovery_score": 0.0, + "closure_forecast_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_age_runs": 0, + "closure_forecast_reset_reentry_churn_reason": "", + "closure_forecast_reset_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_churn_status": "none", + "closure_forecast_reset_reentry_freshness_reason": "Reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted reset re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_freshness_reason": "Rebuilt reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_reason": "Rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_reason": "Restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_reason": "Re-re-restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted re-re-restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_reason": "Rerestored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rerestored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_status": "none", + "closure_forecast_reset_reentry_rebuild_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_status": "none", + "closure_forecast_reset_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_reset_reason": "", + "closure_forecast_reset_reentry_reset_status": "none", + "closure_forecast_reset_reentry_status": "none", + "closure_forecast_reset_refresh_recovery_score": 0.0, + "closure_forecast_reset_refresh_recovery_status": "none", + "closure_forecast_reweight_direction": "neutral", + "closure_forecast_reweight_effect": "none", + "closure_forecast_reweight_effect_reason": "", + "closure_forecast_reweight_reasons": [], + "closure_forecast_reweight_score": 0.0, + "closure_forecast_stability_status": "watch", + "closure_guidance": "Treat this as done only when complete the recommended action and confirm the item exits the blocked or urgent queue on the next run.", + "confidence_label": "medium", + "confidence_reasons": [ + "Blocked operator work outranks urgent and ready items.", + "This item is stale and should be closed before it gets older.", + "The suggested next step is still generic rather than tightly item-specific." + ], + "confidence_score": 0.6, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "decayed_clearance_forecast_rate": 0.0, + "decayed_confirmation_forecast_rate": 0.0, + "decayed_pending_debt_rate": 0.0, + "decayed_pending_resolution_rate": 0.0, + "decayed_reacquired_clearance_rate": 0.0, + "decayed_reacquired_confirmation_rate": 0.0, + "decayed_rebuilt_clearance_reentry_rate": 0.0, + "decayed_rebuilt_confirmation_reentry_rate": 0.0, + "decayed_reentered_rebuild_clearance_rate": 0.0, + "decayed_reentered_rebuild_confirmation_rate": 0.0, + "decayed_rererestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rererestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_rerestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rerestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_reset_reentered_clearance_rate": 0.0, + "decayed_reset_reentered_confirmation_rate": 0.0, + "decayed_restored_rebuild_reentry_clearance_rate": 0.0, + "decayed_restored_rebuild_reentry_confirmation_rate": 0.0, + "decision_memory_status": "new", + "done_criteria": "Complete the recommended action and confirm the item exits the blocked or urgent queue on the next run.", + "exception_pattern_reason": "", + "exception_pattern_status": "none", + "exception_retirement_reason": "", + "exception_retirement_status": "none", + "item_id": "RepoA:Harden auth", + "kind": "security", + "lane": "blocked", + "lane_label": "Blocked", + "last_intervention": { + "generated_at": "2026-04-07T12:00:00Z", + "item_id": "RepoA:Harden auth", + "kind": "intervention", + "magnitude": 0.8, + "outcome": "in-progress" + }, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "newly_stale": true, + "pending_debt_freshness_reason": "Pending-transition memory is still too lightly exercised to judge freshness, with 0.00 weighted pending-entry run(s), 0% debt-like signal, and 0% healthy-resolution signal.", + "pending_debt_freshness_status": "insufficient-data", + "pending_debt_memory_weight": 0.0, + "policy_debt_reason": "", + "policy_debt_status": "none", + "policy_flip_count": 0, + "pre_class_normalization_trust_policy": "monitor", + "pre_class_normalization_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "pre_retirement_trust_policy": "monitor", + "pre_retirement_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "priority": 0, + "reason": "This is the highest blocked item, so it outranks urgent and ready work.", + "recent_class_policy_path": "monitor", + "recent_class_reweight_path": "neutral", + "recent_class_signal_mix": "0.00 weighted exception run(s) with 0.00 retired-like, 0.00 sticky-like, and 0% of the signal from the freshest runs.", + "recent_closure_forecast_path": "neutral", + "recent_closure_forecast_refresh_path": "neutral", + "recent_closure_forecast_signal_mix": "0.00 weighted forecast run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_exception_path": "", + "recent_pending_debt_path": "", + "recent_pending_signal_mix": "0.00 weighted pending-entry run(s) with 0.00 debt-like, 0.00 healthy-resolution, and 0% of the signal from the freshest runs.", + "recent_policy_path": "monitor", + "recent_reacquisition_persistence_path": "hold", + "recent_reacquisition_signal_mix": "0.00 weighted reacquisition run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_recovery_churn_path": "hold", + "recent_reset_reentry_churn_path": "hold", + "recent_reset_reentry_persistence_path": "hold", + "recent_reset_reentry_rebuild_churn_path": "hold", + "recent_reset_reentry_rebuild_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_signal_mix": "0.00 weighted re-re-restored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_signal_mix": "0.00 weighted rerestored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_restore_signal_mix": "0.00 weighted restored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_signal_mix": "0.00 weighted rebuilt re-entry run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_refresh_path": "hold", + "recent_reset_reentry_rebuild_signal_mix": "0.00 weighted rebuilt run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_refresh_path": "hold", + "recent_reset_reentry_signal_mix": "0.00 weighted reset re-entry run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_refresh_path": "hold", + "recent_retirement_path": "monitor", + "recent_transition_path": "none", + "recent_transition_score_path": "0.00", + "recommendation_drift_status": "stable", + "recommended_action": "", + "recovery_confidence_label": "medium", + "recovery_confidence_reasons": [ + "Calibration is still lightly exercised, so retirement confidence stays softer.", + "Recent runs are stabilizing, but the retirement window is still short.", + "Calibration history is still too light to prove the softer posture can retire." + ], + "recovery_confidence_score": 0.55, + "reopened": false, + "repeat_urgent": false, + "repo": "RepoA", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "stable_after_exception_runs": 1, + "stable_policy_run_count": 1, + "stale": true, + "summary": "", + "title": "Harden auth", + "transition_closure_confidence_label": "low", + "transition_closure_confidence_reasons": [], + "transition_closure_confidence_score": 0.05, + "transition_closure_likely_outcome": "none", + "transition_score_delta": 0.0, + "trust_exception_reason": "", + "trust_exception_status": "none", + "trust_policy": "monitor", + "trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "trust_recovery_reason": "", + "trust_recovery_status": "none", + "weighted_class_caution_score": 0.0, + "weighted_class_support_score": 0.0, + "weighted_pending_debt_caution_score": 0.0, + "weighted_pending_resolution_support_score": 0.0 + }, + "primary_target_class_decay_reason": "", + "primary_target_class_decay_status": "none", + "primary_target_class_memory_freshness_reason": "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal.", + "primary_target_class_memory_freshness_status": "insufficient-data", + "primary_target_class_normalization_reason": "", + "primary_target_class_normalization_status": "none", + "primary_target_class_pending_debt_reason": "", + "primary_target_class_pending_debt_status": "none", + "primary_target_class_reweight_stability_status": "watch", + "primary_target_class_reweight_transition_reason": "", + "primary_target_class_reweight_transition_status": "none", + "primary_target_class_transition_health_reason": "", + "primary_target_class_transition_health_status": "none", + "primary_target_class_transition_resolution_reason": "", + "primary_target_class_transition_resolution_status": "none", + "primary_target_class_trust_momentum_score": 0.0, + "primary_target_class_trust_momentum_status": "insufficient-data", + "primary_target_class_trust_reweight_direction": "neutral", + "primary_target_class_trust_reweight_reasons": [ + "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal." + ], + "primary_target_class_trust_reweight_score": 0.0, + "primary_target_closure_forecast_decay_reason": "", + "primary_target_closure_forecast_decay_status": "none", + "primary_target_closure_forecast_freshness_reason": "Closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted forecast run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_freshness_status": "insufficient-data", + "primary_target_closure_forecast_hysteresis_reason": "", + "primary_target_closure_forecast_hysteresis_status": "none", + "primary_target_closure_forecast_momentum_score": 0.0, + "primary_target_closure_forecast_momentum_status": "insufficient-data", + "primary_target_closure_forecast_persistence_reset_reason": "", + "primary_target_closure_forecast_persistence_reset_status": "none", + "primary_target_closure_forecast_reacquisition_age_runs": 0, + "primary_target_closure_forecast_reacquisition_freshness_reason": "Reacquired closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted reacquisition run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reacquisition_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reacquisition_persistence_reason": "", + "primary_target_closure_forecast_reacquisition_persistence_score": 0.0, + "primary_target_closure_forecast_reacquisition_persistence_status": "none", + "primary_target_closure_forecast_reacquisition_reason": "", + "primary_target_closure_forecast_reacquisition_status": "none", + "primary_target_closure_forecast_recovery_churn_reason": "", + "primary_target_closure_forecast_recovery_churn_score": 0.0, + "primary_target_closure_forecast_recovery_churn_status": "none", + "primary_target_closure_forecast_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_freshness_reason": "Reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted reset re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_freshness_reason": "Rebuilt reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_freshness_reason": "Rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_reason": "Restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_reason": "Re-re-restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted re-re-restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_age_runs": 0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_reason": "Rerestored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rerestored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_status": "insufficient-data", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_restore_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reentry_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_rebuild_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_rebuild_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_rebuild_status": "none", + "primary_target_closure_forecast_reset_reentry_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_reentry_refresh_recovery_status": "none", + "primary_target_closure_forecast_reset_reentry_reset_reason": "", + "primary_target_closure_forecast_reset_reentry_reset_status": "none", + "primary_target_closure_forecast_reset_reentry_status": "none", + "primary_target_closure_forecast_reset_refresh_recovery_score": 0.0, + "primary_target_closure_forecast_reset_refresh_recovery_status": "none", + "primary_target_closure_forecast_reweight_direction": "neutral", + "primary_target_closure_forecast_reweight_reasons": [], + "primary_target_closure_forecast_reweight_score": 0.0, + "primary_target_closure_forecast_stability_status": "watch", + "primary_target_done_criteria": "Complete the recommended action and confirm the item exits the blocked or urgent queue on the next run.", + "primary_target_exception_pattern_reason": "", + "primary_target_exception_pattern_status": "none", + "primary_target_exception_reason": "", + "primary_target_exception_retirement_reason": "", + "primary_target_exception_retirement_status": "none", + "primary_target_exception_status": "none", + "primary_target_last_intervention": { + "generated_at": "2026-04-07T12:00:00Z", + "item_id": "RepoA:Harden auth", + "kind": "intervention", + "magnitude": 0.8, + "outcome": "in-progress" + }, + "primary_target_last_outcome": "no-change", + "primary_target_last_seen_at": "2026-04-09T12:00:00Z", + "primary_target_pending_debt_freshness_reason": "Pending-transition memory is still too lightly exercised to judge freshness, with 0.00 weighted pending-entry run(s), 0% debt-like signal, and 0% healthy-resolution signal.", + "primary_target_pending_debt_freshness_status": "insufficient-data", + "primary_target_policy_debt_reason": "", + "primary_target_policy_debt_status": "none", + "primary_target_reason": "This is the highest blocked item, so it outranks urgent and ready work.", + "primary_target_recovery_confidence_label": "medium", + "primary_target_recovery_confidence_reasons": [ + "Calibration is still lightly exercised, so retirement confidence stays softer.", + "Recent runs are stabilizing, but the retirement window is still short.", + "Calibration history is still too light to prove the softer posture can retire." + ], + "primary_target_recovery_confidence_score": 0.55, + "primary_target_resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "primary_target_transition_closure_confidence_label": "low", + "primary_target_transition_closure_confidence_reasons": [], + "primary_target_transition_closure_confidence_score": 0.05, + "primary_target_transition_closure_likely_outcome": "none", + "primary_target_trust_recovery_reason": "", + "primary_target_trust_recovery_status": "none", + "primary_target_weighted_class_caution_score": 0.0, + "primary_target_weighted_class_support_score": 0.0, + "primary_target_weighted_pending_debt_caution_score": 0.0, + "primary_target_weighted_pending_resolution_support_score": 0.0, + "quiet_streak_runs": 0, + "recent_interventions": [ + { + "event_type": "", + "item_id": "RepoA:Harden auth", + "outcome": "in-progress", + "recorded_at": "", + "repo": "", + "title": "" + }, + { + "event_type": "", + "item_id": "RepoA:Harden auth", + "outcome": "confirmed", + "recorded_at": "", + "repo": "", + "title": "" + } + ], + "recently_quieted_count": 0, + "recommendation_drift_status": "stable", + "recommendation_drift_summary": "Recent trust-policy behavior is stable enough that no meaningful recommendation drift is recorded.", + "recovering_clearance_hotspots": [], + "recovering_confirmation_hotspots": [], + "recovering_from_clearance_rebuild_reentry_rererestore_reset_hotspots": [], + "recovering_from_clearance_rebuild_reentry_rerestore_reset_hotspots": [], + "recovering_from_clearance_rebuild_reentry_reset_hotspots": [], + "recovering_from_clearance_rebuild_reentry_restore_reset_hotspots": [], + "recovering_from_clearance_rebuild_reset_hotspots": [], + "recovering_from_clearance_reentry_reset_hotspots": [], + "recovering_from_clearance_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_rererestore_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_rerestore_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reentry_restore_reset_hotspots": [], + "recovering_from_confirmation_rebuild_reset_hotspots": [], + "recovering_from_confirmation_reentry_reset_hotspots": [], + "recovering_from_confirmation_reset_hotspots": [], + "recovery_churn_hotspots": [], + "recovery_confidence_summary": "RepoA: Harden auth has medium recovery confidence (0.55), so caution may relax soon but still needs more proof.", + "reopened_after_resolution_count": 0, + "reopened_attention_count": 0, + "reset_reentry_churn_hotspots": [], + "reset_reentry_rebuild_churn_hotspots": [], + "reset_reentry_rebuild_reentry_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_rerererestore_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_rererestore_churn_hotspots": [], + "reset_reentry_rebuild_reentry_restore_rerestore_churn_hotspots": [], + "resolution_evidence_summary": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "resolution_targets": [ + { + "age_days": 12, + "aging_status": "stale", + "base_trust_policy": "monitor", + "base_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "calibration_adjustment": 0.0, + "calibration_adjustment_reason": "Calibration is too lightly exercised to change the live score yet.", + "class_decay_reason": "", + "class_decay_status": "none", + "class_memory_freshness_reason": "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal.", + "class_memory_freshness_status": "insufficient-data", + "class_memory_weight": 0.0, + "class_normalization_reason": "", + "class_normalization_status": "none", + "class_pending_debt_rate": 0.0, + "class_pending_debt_reason": "", + "class_pending_debt_status": "none", + "class_pending_resolution_rate": 0.0, + "class_retirement_rate": 0.0, + "class_reweight_stability_status": "watch", + "class_reweight_transition_reason": "", + "class_reweight_transition_status": "none", + "class_sticky_rate": 0.0, + "class_transition_age_runs": 0, + "class_transition_health_reason": "", + "class_transition_health_status": "none", + "class_transition_resolution_reason": "", + "class_transition_resolution_status": "none", + "class_trust_momentum_score": 0.0, + "class_trust_momentum_status": "insufficient-data", + "class_trust_reweight_direction": "neutral", + "class_trust_reweight_effect": "none", + "class_trust_reweight_effect_reason": "", + "class_trust_reweight_reasons": [ + "Class memory is still too lightly exercised to judge freshness, with 0.00 weighted exception run(s), 0% retired-like signal, and 0% sticky signal." + ], + "class_trust_reweight_score": 0.0, + "closure_forecast_decay_reason": "", + "closure_forecast_decay_status": "none", + "closure_forecast_freshness_reason": "Closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted forecast run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_freshness_status": "insufficient-data", + "closure_forecast_hysteresis_reason": "", + "closure_forecast_hysteresis_status": "none", + "closure_forecast_memory_weight": 0.0, + "closure_forecast_momentum_score": 0.0, + "closure_forecast_momentum_status": "insufficient-data", + "closure_forecast_persistence_reset_reason": "", + "closure_forecast_persistence_reset_status": "none", + "closure_forecast_reacquisition_age_runs": 0, + "closure_forecast_reacquisition_freshness_reason": "Reacquired closure-forecast memory is still too lightly exercised to judge freshness, with 0.00 weighted reacquisition run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reacquisition_freshness_status": "insufficient-data", + "closure_forecast_reacquisition_memory_weight": 0.0, + "closure_forecast_reacquisition_persistence_reason": "", + "closure_forecast_reacquisition_persistence_score": 0.0, + "closure_forecast_reacquisition_persistence_status": "none", + "closure_forecast_reacquisition_reason": "", + "closure_forecast_reacquisition_status": "none", + "closure_forecast_recovery_churn_reason": "", + "closure_forecast_recovery_churn_score": 0.0, + "closure_forecast_recovery_churn_status": "none", + "closure_forecast_refresh_recovery_score": 0.0, + "closure_forecast_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_age_runs": 0, + "closure_forecast_reset_reentry_churn_reason": "", + "closure_forecast_reset_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_churn_status": "none", + "closure_forecast_reset_reentry_freshness_reason": "Reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted reset re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_freshness_reason": "Rebuilt reset re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_reason": "Rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rebuilt re-entry run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_reason": "Restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_reason": "Re-re-restored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted re-re-restored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rererestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_age_runs": 0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_churn_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_reason": "Rerestored rebuilt re-entry memory is still too lightly exercised to judge freshness, with 0.00 weighted rerestored run(s), 0% confirmation-like signal, and 0% clearance-like signal.", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_freshness_status": "insufficient-data", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_memory_weight": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_persistence_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_rerestore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reentry_restore_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_restore_status": "none", + "closure_forecast_reset_reentry_rebuild_reentry_status": "none", + "closure_forecast_reset_reentry_rebuild_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_rebuild_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_rebuild_reset_reason": "", + "closure_forecast_reset_reentry_rebuild_reset_status": "none", + "closure_forecast_reset_reentry_rebuild_status": "none", + "closure_forecast_reset_reentry_refresh_recovery_score": 0.0, + "closure_forecast_reset_reentry_refresh_recovery_status": "none", + "closure_forecast_reset_reentry_reset_reason": "", + "closure_forecast_reset_reentry_reset_status": "none", + "closure_forecast_reset_reentry_status": "none", + "closure_forecast_reset_refresh_recovery_score": 0.0, + "closure_forecast_reset_refresh_recovery_status": "none", + "closure_forecast_reweight_direction": "neutral", + "closure_forecast_reweight_effect": "none", + "closure_forecast_reweight_effect_reason": "", + "closure_forecast_reweight_reasons": [], + "closure_forecast_reweight_score": 0.0, + "closure_forecast_stability_status": "watch", + "confidence_label": "medium", + "confidence_reasons": [ + "Blocked operator work outranks urgent and ready items.", + "This item is stale and should be closed before it gets older.", + "The suggested next step is still generic rather than tightly item-specific." + ], + "confidence_score": 0.6, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "decayed_clearance_forecast_rate": 0.0, + "decayed_confirmation_forecast_rate": 0.0, + "decayed_pending_debt_rate": 0.0, + "decayed_pending_resolution_rate": 0.0, + "decayed_reacquired_clearance_rate": 0.0, + "decayed_reacquired_confirmation_rate": 0.0, + "decayed_rebuilt_clearance_reentry_rate": 0.0, + "decayed_rebuilt_confirmation_reentry_rate": 0.0, + "decayed_reentered_rebuild_clearance_rate": 0.0, + "decayed_reentered_rebuild_confirmation_rate": 0.0, + "decayed_rererestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rererestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_rerestored_rebuild_reentry_clearance_rate": 0.0, + "decayed_rerestored_rebuild_reentry_confirmation_rate": 0.0, + "decayed_reset_reentered_clearance_rate": 0.0, + "decayed_reset_reentered_confirmation_rate": 0.0, + "decayed_restored_rebuild_reentry_clearance_rate": 0.0, + "decayed_restored_rebuild_reentry_confirmation_rate": 0.0, + "decision_memory_status": "new", + "exception_pattern_reason": "", + "exception_pattern_status": "none", + "exception_retirement_reason": "", + "exception_retirement_status": "none", + "item_id": "RepoA:Harden auth", + "kind": "security", + "lane": "blocked", + "lane_label": "Blocked", + "last_intervention": { + "generated_at": "2026-04-07T12:00:00Z", + "item_id": "RepoA:Harden auth", + "kind": "intervention", + "magnitude": 0.8, + "outcome": "in-progress" + }, + "last_outcome": "no-change", + "last_seen_at": "2026-04-09T12:00:00Z", + "newly_stale": true, + "pending_debt_freshness_reason": "Pending-transition memory is still too lightly exercised to judge freshness, with 0.00 weighted pending-entry run(s), 0% debt-like signal, and 0% healthy-resolution signal.", + "pending_debt_freshness_status": "insufficient-data", + "pending_debt_memory_weight": 0.0, + "policy_debt_reason": "", + "policy_debt_status": "none", + "policy_flip_count": 0, + "pre_class_normalization_trust_policy": "monitor", + "pre_class_normalization_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "pre_retirement_trust_policy": "monitor", + "pre_retirement_trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "priority": 0, + "recent_class_policy_path": "monitor", + "recent_class_reweight_path": "neutral", + "recent_class_signal_mix": "0.00 weighted exception run(s) with 0.00 retired-like, 0.00 sticky-like, and 0% of the signal from the freshest runs.", + "recent_closure_forecast_path": "neutral", + "recent_closure_forecast_refresh_path": "neutral", + "recent_closure_forecast_signal_mix": "0.00 weighted forecast run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_exception_path": "", + "recent_pending_debt_path": "", + "recent_pending_signal_mix": "0.00 weighted pending-entry run(s) with 0.00 debt-like, 0.00 healthy-resolution, and 0% of the signal from the freshest runs.", + "recent_policy_path": "monitor", + "recent_reacquisition_persistence_path": "hold", + "recent_reacquisition_signal_mix": "0.00 weighted reacquisition run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_recovery_churn_path": "hold", + "recent_reset_reentry_churn_path": "hold", + "recent_reset_reentry_persistence_path": "hold", + "recent_reset_reentry_rebuild_churn_path": "hold", + "recent_reset_reentry_rebuild_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerererestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rererestore_signal_mix": "0.00 weighted re-re-restored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_churn_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_persistence_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_refresh_path": "hold", + "recent_reset_reentry_rebuild_reentry_restore_rerestore_signal_mix": "0.00 weighted rerestored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_restore_signal_mix": "0.00 weighted restored run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_reentry_signal_mix": "0.00 weighted rebuilt re-entry run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_rebuild_refresh_path": "hold", + "recent_reset_reentry_rebuild_signal_mix": "0.00 weighted rebuilt run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_reentry_refresh_path": "hold", + "recent_reset_reentry_signal_mix": "0.00 weighted reset re-entry run(s) with 0.00 confirmation-like, 0.00 clearance-like, and 0% of the signal from the freshest runs.", + "recent_reset_refresh_path": "hold", + "recent_retirement_path": "monitor", + "recent_transition_path": "none", + "recent_transition_score_path": "0.00", + "recommended_action": "", + "recovery_confidence_label": "medium", + "recovery_confidence_reasons": [ + "Calibration is still lightly exercised, so retirement confidence stays softer.", + "Recent runs are stabilizing, but the retirement window is still short.", + "Calibration history is still too light to prove the softer posture can retire." + ], + "recovery_confidence_score": 0.55, + "reopened": false, + "repeat_urgent": false, + "repo": "RepoA", + "resolution_evidence": "No earlier intervention or durable recovery evidence is recorded in the recent window yet.", + "stable_after_exception_runs": 1, + "stable_policy_run_count": 1, + "stale": true, + "summary": "", + "title": "Harden auth", + "transition_closure_confidence_label": "low", + "transition_closure_confidence_reasons": [], + "transition_closure_confidence_score": 0.05, + "transition_closure_likely_outcome": "none", + "transition_score_delta": 0.0, + "trust_exception_reason": "", + "trust_exception_status": "none", + "trust_policy": "monitor", + "trust_policy_reason": "The current signal is not strong enough to force immediate action, so monitor and reassess on the next cycle.", + "trust_recovery_reason": "", + "trust_recovery_status": "none", + "weighted_class_caution_score": 0.0, + "weighted_class_support_score": 0.0, + "weighted_pending_debt_caution_score": 0.0, + "weighted_pending_resolution_support_score": 0.0 + } + ], + "resolved_attention_count": 0, + "resolving_transition_hotspots": [], + "retired_exception_hotspots": [], + "stale_class_memory_hotspots": [ + { + "class_memory_weight": 0.0, + "decayed_class_retirement_rate": 0.0, + "decayed_class_sticky_rate": 0.0, + "freshness_status": "insufficient-data", + "label": "blocked:security", + "recent_class_signal_mix": "0.00 weighted exception run(s) with 0.00 retired-like, 0.00 sticky-like, and 0% of the signal from the freshest runs.", + "scope": "class", + "weighted_exception_count": 0.0 + } + ], + "stale_closure_forecast_hotspots": [], + "stale_pending_debt_hotspots": [], + "stale_reacquisition_hotspots": [], + "stale_reset_reentry_hotspots": [], + "stale_reset_reentry_rebuild_hotspots": [], + "stale_reset_reentry_rebuild_reentry_hotspots": [], + "stale_reset_reentry_rebuild_reentry_restore_hotspots": [], + "stale_reset_reentry_rebuild_reentry_restore_rererestore_hotspots": [], + "stale_reset_reentry_rebuild_reentry_restore_rerestore_hotspots": [], + "stalled_transition_hotspots": [], + "sticky_exception_hotspots": [], + "supporting_class_hotspots": [], + "supporting_pending_resolution_hotspots": [], + "sustained_class_hotspots": [], + "sustained_clearance_hotspots": [], + "sustained_confirmation_hotspots": [], + "transition_closure_confidence_summary": "No active pending class transition needs closure-confidence scoring right now.", + "transition_closure_window_runs": 4, + "trend_status": "worsening", + "trend_summary": "The operator picture is worsening: 1 new attention item(s) appeared, 0 still remain open, and 0 reopened inside the recent window. Focus first on RepoA: Harden auth.", + "trust_normalization_summary": "Recent class behavior does not yet show a strong normalization pattern.", + "trust_recovery_window_runs": 3 + } +} diff --git a/tests/test_resolution_trend_golden_contract.py b/tests/test_resolution_trend_golden_contract.py new file mode 100644 index 0000000..8083395 --- /dev/null +++ b/tests/test_resolution_trend_golden_contract.py @@ -0,0 +1,85 @@ +"""Characterization (golden) test for ``_build_resolution_trend``'s assembled +payload — the top-level operator resolution-trend dict (320+ keys) built by the +god-function's 1,676-line ``payload.update({...})``. + +This pins the EXACT current assembled output across a representative input corpus +to a frozen golden. It is the safety net for the god-function decomposition: +extracting the payload-assembly seam into its own module, then collapsing the +per-tier blocks onto a parametrized base, must reproduce this byte-for-byte. Any +dropped key, mis-wired source, or per-tier drift shows up here as a diff before it +can reach a consumer (``operator_control_center`` / ``operator_decision_quality``). + +The corpus + projection live in the enumerator so there is one source of truth; +this test re-runs it against the frozen golden. Regenerate the golden only with an +intentional, reviewed behavior change:: + + uv run python tests/golden/enumerate_resolution_trend_contract.py +""" + +from __future__ import annotations + +import importlib.util +import json +from pathlib import Path +from typing import Any + +_GOLDEN_DIR = Path(__file__).parent / "golden" +GOLDEN_PATH = _GOLDEN_DIR / "resolution_trend_contract.golden.json" +_ENUMERATOR_PATH = _GOLDEN_DIR / "enumerate_resolution_trend_contract.py" + + +def _load_enumerator() -> Any: + # Load by path (tests/golden is not a package). Module name is NOT + # "__main__", so the enumerator's main()/golden-write never fires here. + spec = importlib.util.spec_from_file_location( + "_enumerate_resolution_trend_contract", _ENUMERATOR_PATH + ) + assert spec and spec.loader + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +_ENUM = _load_enumerator() +GOLDEN: dict[str, dict[str, Any]] = json.loads(GOLDEN_PATH.read_text()) + +_DEFAULTISH = ("", "none", 0, 0.0, [], {}, None, False) + + +def test_golden_is_non_degenerate() -> None: + # Guard against a corpus that captures only empty/default structure. + assert GOLDEN, "golden contract is empty" + assert {"empty", "single_blocked_stale"} <= set(GOLDEN) + assert not GOLDEN["empty"]["primary_target"], ( + "empty case must have falsy primary_target" + ) + assert GOLDEN["single_blocked_stale"]["primary_target"], ( + "stale case must select a target" + ) + + populated = GOLDEN["single_blocked_stale"] + assert len(populated) >= 380, f"assembled payload too small ({len(populated)} keys)" + nondefault = sum(1 for value in populated.values() if value not in _DEFAULTISH) + assert nondefault >= 100, ( + f"golden exercises too few populated values ({nondefault})" + ) + + # The empty and populated cases must genuinely diverge (real branches fired). + differing = sum( + 1 for key in populated if populated.get(key) != GOLDEN["empty"].get(key) + ) + assert differing >= 50, f"empty vs populated barely diverge ({differing} keys)" + + +def test_build_resolution_trend_reproduces_golden() -> None: + actual = _ENUM.build_contract() + assert set(actual) == set(GOLDEN), "corpus case set drifted from the golden" + for label in sorted(GOLDEN): + expected = GOLDEN[label] + got = actual[label] + assert set(got) == set(expected), f"payload key set drifted in case {label!r}" + # Per-key compare for a readable first divergence on failure. + for key in expected: + assert got[key] == expected[key], ( + f"payload value drift: case {label!r}, key {key!r}" + )