feat(KH3): footprint self-integrity hard gate (Thinking + Auto, same session)
sha256:c3cdd349369c343e2fa79c4405bf937ee2d15aa0177785760712651bcc32c7e4
sha
+134
~17
−2
symbols
sha256:8012514eb4263940b9042fe2643cec6e20ddc5dd6d4154f366d98071857135ce
snapshot
+134
symbols added
~17
symbols modified
−2
symbols removed
0
dead code introduced
Semantic Changes
153 symbols
+
Phase KH3 — Footprint self-integrity hard gate (Thinking freeze)
section Phase KH3 — Footprint self-integrity hard gate (Thinking freeze) L1–292
+
2 — What exists now (verified, do not redesign)
section §KH3.2 — What exists now (verified, do not redesign) L128–148
+
3 — Why "missing" only, never "content differs" (frozen scope boundary)
section §KH3.3 — Why "missing" only, never "content differs" (frozen scope boundary) L148–166
+
4 — FootprintIntegrityReport + check_footprint_integrity (frozen)
section §KH3.4 — FootprintIntegrityReport + check_footprint_integrity (frozen) L166–228
+
5 — Wiring: three fail-closed choke points (frozen)
section §KH3.5 — Wiring: three fail-closed choke points (frozen) L228–242
+
6 — Boundary: what this gate does and does not catch (frozen, stated plainly)
section §KH3.6 — Boundary: what this gate does and does not catch (frozen, stated plainly) L242–258
+
8 — Seven-tier test matrix (KH3b Auto build must satisfy)
section §KH3.8 — Seven-tier test matrix (KH3b Auto build must satisfy) L269–283
+
9 — Close-out (execute only when KH3 marked DONE)
section §KH3.9 — Close-out (execute only when KH3 marked DONE) L283–292
+
test_identical_state_yields_identical_report
function
function test_identical_state_yields_identical_report L20–31
+
test_no_partial_state_on_repeated_calls
function
function test_no_partial_state_on_repeated_calls L34–47
+
test_origin_reclassification_changes_report_deterministically
class
function test_origin_reclassification_changes_report_deterministically L65–72
+
test_varying_disk_state_yields_varying_report_deterministically
function
function test_varying_disk_state_yields_varying_report_deterministically L50–62
+
test_governance_sync_refuses_then_proceeds_across_a_simulated_sync
function
function test_governance_sync_refuses_then_proceeds_across_a_simulated_sync L75–96
+
test_review_freeze_refuses_then_proceeds_across_a_simulated_sync
function
function test_review_freeze_refuses_then_proceeds_across_a_simulated_sync L39–72
+
test_existing_opt_in_content_digest_check_unchanged
function
function test_existing_opt_in_content_digest_check_unchanged L62–75
+
test_status_exit_code_0_when_self_footprint_complete
function
function test_status_exit_code_0_when_self_footprint_complete L32–36
+
test_status_exit_code_2_when_self_footprint_file_missing
function
function test_status_exit_code_2_when_self_footprint_file_missing L22–29
+
test_status_json_payload_reports_missing_self_footprint
function
function test_status_json_payload_reports_missing_self_footprint L39–49
+
test_status_json_payload_reports_ok_when_complete
function
function test_status_json_payload_reports_ok_when_complete L52–59
+
test_passing_precomputed_lock_avoids_a_second_disk_read
function
function test_passing_precomputed_lock_avoids_a_second_disk_read L13–26
+
test_status_exit_code_adds_no_additional_shell_calls
function
function test_status_exit_code_adds_no_additional_shell_calls L29–51
+
test_corrupt_lock_fails_closed_not_ok
function
function test_corrupt_lock_fails_closed_not_ok L20–26
+
test_missing_paths_reported_never_leak_file_contents
function
function test_missing_paths_reported_never_leak_file_contents L39–50
+
test_ok_report_never_lists_any_paths
function
function test_ok_report_never_lists_any_paths L67–72
+
test_remediation_text_is_static_never_shell_invoked
function
function test_remediation_text_is_static_never_shell_invoked L29–36
+
test_unusual_lock_entry_paths_never_crash_or_execute
function
function test_unusual_lock_entry_paths_never_crash_or_execute L53–64
+
test_large_declared_footprint_resolves_in_bounded_time
function
function test_large_declared_footprint_resolves_in_bounded_time L14–44
+
test_missing_count_scales_linearly_not_quadratically
function
function test_missing_count_scales_linearly_not_quadratically L47–67
+
test_content_mismatch_is_never_missing
function
function test_content_mismatch_is_never_missing L97–105
+
test_mixed_missing_and_preserved_only_flags_kit_owned
function
function test_mixed_missing_and_preserved_only_flags_kit_owned L115–128
+
test_preserved_origin_absent_is_never_missing
function
function test_preserved_origin_absent_is_never_missing L82–94
Older
fix(hygiene): add 13 seeded self-footprint files (muse add -A mi…
sha256:4543518e7c13964b5690bbd71ea62eb02b276c372348a056686c7f816c2646f6
All commits
Newer
docs(P-cost): freeze cost-awareness surface (Thinking, reviewed …
sha256:e9f8f7370caf41bee4b1860162ce7f80e2c60d227a48b00eb458f1473e343287
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:c3cdd349369c343e2fa79c4405bf937ee2d15aa0177785760712651bcc32c7e4 --body "your comment"
No comments yet. Be the first to start the discussion.