feat
BREAKING
harmony
task/harmony-phase4
#1 / 1
feat(harmony): Phase 4 — Escalation Records + operator dashboard
- harmony.py: EscalationStatus (OPEN/RESOLVED), AuditEventType.ESCALATION_RESOLVED, EscalationRecord (frozen dataclass), _EscalationDict wire-format, compute_escalation_id (deterministic SHA-256(pattern_id:reason)), escalations_dir, record_escalation (atomic+idempotent), load_escalation, list_escalations (status filter, newest-first, symlink-safe, size-capped), resolve_escalation (OPEN→RESOLVED atomic update) - harmony.py CLI: _HarmonyEscalateJson, _HarmonyEscalationEntryJson, _HarmonyEscalationsJson, _HarmonyResolveEscalationJson TypedDicts; escalate / escalations / resolve-escalation subcommands; engine --auto-escalate flag (auto-records on Tier 4 trigger) - 482/482 tests green (Phases 1–4)
sha256:15f45fc12a3a99673d091797077c30b1ff75ecce7a6b1de4a1e2f6c90cc33622
sha
+218
~32
symbols
sha256:e88c2f3c4e2647e214ae159b663a8286ce7ffa2dab89034182175a4590daa8a7
snapshot
+218
symbols added
~32
symbols modified
0
dead code introduced
Semantic Changes
250 symbols
+
test_escalations_entry_all_fields_present
method
method test_escalations_entry_all_fields_present L486–493
+
test_resolve_escalation_all_fields_present
method
method test_resolve_escalation_all_fields_present L502–512
+
test_engine_auto_escalate_then_resolve
method
method test_engine_auto_escalate_then_resolve L437–451
+
test_escalate_resolve_escalation_audit
method
method test_escalate_resolve_escalation_audit L410–435
+
test_multiple_escalate_filter_independently
method
method test_multiple_escalate_filter_independently L453–468
+
test_auto_escalate_pattern_id_in_record
method
method test_auto_escalate_pattern_id_in_record L346–351
+
test_engine_without_flag_no_escalation_record
method
method test_engine_without_flag_no_escalation_record L353–358
+
test_escalate_already_existed_false_on_first
method
method test_escalate_already_existed_false_on_first L176–179
+
test_escalate_idempotent_already_existed_true
method
method test_escalate_idempotent_already_existed_true L181–186
+
test_escalate_unknown_pattern_still_works
method
method test_escalate_unknown_pattern_still_works L212–217
+
test_missing_resolution_id_flag_exits_non_zero
method
method test_missing_resolution_id_flag_exits_non_zero L396–399
+
test_resolve_escalation_id_in_response
method
method test_resolve_escalation_id_in_response L297–305
+
test_resolve_escalation_traversal_eid
method
method test_resolve_escalation_traversal_eid L536–541
+
test_resolve_escalation_traversal_res_id
method
method test_resolve_escalation_traversal_res_id L543–549
+
test_escalate_json_has_already_existed
method
method test_escalate_json_has_already_existed L113–114
+
test_escalation_entry_has_escalation_id
method
method test_escalation_entry_has_escalation_id L119–120
+
test_escalations_json_has_escalations
method
method test_escalations_json_has_escalations L128–129
+
test_resolve_escalation_json_has_escalation_id
method
method test_resolve_escalation_json_has_escalation_id L131–132
+
test_resolve_escalation_json_has_resolved
method
method test_resolve_escalation_json_has_resolved L134–135
+
test_escalation_recorded_still_present
method
method test_escalation_recorded_still_present L122–123
+
test_no_temp_files_in_escalations_dir
method
method test_no_temp_files_in_escalations_dir L574–578
+
test_multiple_patterns_independent_escalations
method
method test_multiple_patterns_independent_escalations L476–492
+
test_idempotent_returns_false_on_second_write
method
method test_idempotent_returns_false_on_second_write L220–225
+
test_idempotent_second_write_no_error
method
method test_idempotent_second_write_no_error L213–218
+
test_oversized_escalation_file_skipped
method
method test_oversized_escalation_file_skipped L628–637
+
test_symlinks_in_escalations_dir_skipped
method
method test_symlinks_in_escalations_dir_skipped L639–646
+
test_concurrent_record_same_id_idempotent
method
method test_concurrent_record_same_id_idempotent L510–528
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:15f45fc12a3a99673d091797077c30b1ff75ecce7a6b1de4a1e2f6c90cc33622 --body "your comment"
No comments yet. Be the first to start the discussion.