Add decision assistant handoff proof tuning

This commit is contained in:
Codex
2026-05-13 08:58:59 +08:00
parent 567a51f714
commit 9d40e2d52b
5 changed files with 345 additions and 10 deletions
@@ -192,6 +192,10 @@ class OperatorWorkspaceServiceTests(unittest.TestCase):
self.assertIn("feedback_capture_needed_count", summary["review_entrypoints"]["template_reuse_metrics"]["template_outcome_summary"])
self.assertIn("feedback_loop_summary", summary["review_entrypoints"]["template_reuse_metrics"])
self.assertIn("next_feedback_template_id", summary["review_entrypoints"]["template_reuse_metrics"]["feedback_loop_summary"])
self.assertIn("template_feedback_aggregation", summary["review_entrypoints"]["template_reuse_metrics"])
self.assertIn("feedback_tuned_template_id", summary["review_entrypoints"]["template_reuse_metrics"])
self.assertIn("recommendation_tuning_status", summary["review_entrypoints"]["template_reuse_metrics"])
self.assertGreaterEqual(summary["review_entrypoints"]["template_reuse_metrics"]["template_feedback_aggregation"]["useful_feedback_count"], 1)
self.assertEqual(summary["review_entrypoints"]["note_templates"][0]["reuse_count"], 1)
self.assertEqual(summary["review_entrypoints"]["note_templates"][0]["reuse_status"], "saved_reuse")
self.assertEqual(summary["review_entrypoints"]["note_templates"][0]["outcome_status"], "useful_signal")
@@ -211,6 +215,8 @@ class OperatorWorkspaceServiceTests(unittest.TestCase):
self.assertIn("refresh_confirmation_needed_count", summary["digest_surface"]["history_summary"])
self.assertIn("freshness_proof_count", summary["digest_surface"]["history_summary"])
self.assertIn("freshness_proof_gap_count", summary["digest_surface"]["history_summary"])
self.assertIn("refresh_confirmation_trail_count", summary["digest_surface"]["history_summary"])
self.assertIn("refresh_confirmation_trail", summary["digest_surface"]["history_summary"])
self.assertIn("refresh_prompts", summary["digest_surface"]["history_summary"])
self.assertIn("digest_history_groups", summary)
self.assertIn("group_status", summary["digest_history_groups"][0])
@@ -226,6 +232,8 @@ class OperatorWorkspaceServiceTests(unittest.TestCase):
self.assertIn("refresh_confirmation_prompt", summary["digest_history_groups"][0])
self.assertIn("freshness_proof_status", summary["digest_history_groups"][0])
self.assertIn("freshness_proof_detail", summary["digest_history_groups"][0])
self.assertIn("refresh_confirmation_trail", summary["digest_history_groups"][0])
self.assertIn("latest_confirmation_trail_item", summary["digest_history_groups"][0])
self.assertTrue(summary["digest_history_preview"])
self.assertEqual(summary["digest_history_preview"][0]["kind"], "reminder")
self.assertEqual(summary["personalized_reminders"][0]["severity"], "high")
@@ -257,6 +265,11 @@ class OperatorWorkspaceServiceTests(unittest.TestCase):
self.assertIn("drift_severity", summary["setup_learning_rollup"]["replay_statistics"]["broader_baseline_summary"]["setup_family_trend_delta"])
self.assertIn("focus_recommendation", summary["setup_learning_rollup"]["replay_statistics"]["broader_baseline_summary"]["setup_family_trend_delta"])
self.assertTrue(summary["setup_learning_rollup"]["replay_statistics"]["broader_baseline_summary"]["setup_family_trend_delta"]["focus_reasons"])
self.assertIn("watchlist_status", summary["setup_learning_rollup"]["replay_statistics"]["broader_baseline_summary"]["setup_family_trend_delta"])
self.assertIn("watchlist_priority", summary["setup_learning_rollup"]["replay_statistics"]["broader_baseline_summary"]["setup_family_trend_delta"])
self.assertIn("sample_threshold", summary["setup_learning_rollup"]["replay_statistics"]["broader_baseline_summary"]["setup_family_trend_delta"])
self.assertIn("sample_gap", summary["setup_learning_rollup"]["replay_statistics"]["broader_baseline_summary"]["setup_family_trend_delta"])
self.assertTrue(summary["setup_learning_rollup"]["replay_statistics"]["broader_baseline_summary"]["setup_family_trend_delta"]["drift_watchlist_items"])
self.assertTrue(summary["setup_learning_rollup"]["replay_statistics"]["broader_baseline_summary"]["top_sessions"])
self.assertTrue(summary["setup_learning_rollup"]["replay_statistics"]["broader_baseline_summary"]["top_safe_sessions"])
self.assertTrue(summary["setup_learning_rollup"]["replay_statistics"]["broader_baseline_summary"]["top_composite_sessions"])
@@ -281,6 +294,10 @@ class OperatorWorkspaceServiceTests(unittest.TestCase):
self.assertIn("default_stale_after_seconds", summary["scan_handoff_summary"])
self.assertIn("stale_warning_count", summary["scan_handoff_summary"])
self.assertIn("handoff_stale_policy", summary["scan_handoff_summary"])
self.assertIn("cleanup_candidate_count", summary["scan_handoff_summary"])
self.assertIn("handoff_cleanup_recommendation", summary["scan_handoff_summary"])
self.assertTrue(summary["scan_handoff_summary"]["snooze_options"])
self.assertIn("snooze_seconds", summary["scan_handoff_summary"]["handoff_markers"][0])
self.assertTrue(summary["external_context_summary"]["operator_questions"])
self.assertTrue(summary["external_context_summary"]["source_cards"])
self.assertEqual(summary["external_context_summary"]["exchange_status"]["status"], "active")