feat
BREAKING
ISR
feat/isr-independent-second-reviewer
#2 / 2
feat(ISR): independent second reviewer (ISR-a freeze + ISR-b build)
Ledger kind independent_second_review; Mode D + exit 38; require default off / kit dogfood warn; active-slice surface; paste doc + twin skill; BV V9; seven-tier test_isr_ 48 green (ISR-b-BV-r1). No model dispatch; no consumer require.
sha256:5fcab52b1edc64e9e97993269e7feaa615aa29fcb272f2119ab8b70a3b03f713
sha
+558
~75
−10
symbols
sha256:a45337870ec73e2042c2c0e86aa8334352cdc9d563b90cfa1956a0258b0941df
snapshot
+558
symbols added
~75
symbols modified
−10
symbols removed
0
dead code introduced
Semantic Changes
643 symbols
+
Independent second reviewer — portable paste (any AI tool)
section Independent second reviewer — portable paste (any AI tool) L1–72
+
Phase ISR — Independent second reviewer (Thinking freeze)
section Phase ISR — Independent second reviewer (Thinking freeze) L1–849
+
1 — Verified problem (do not redesign)
section §ISR.1 — Verified problem (do not redesign) L131–149
+
10 — SPEC §5 additive row (ISR-b writes)
section §ISR.10 — SPEC §5 additive row (ISR-b writes) L774–796
+
13 — Operator paste for ISR-b (informational; GS-PASTE may regen)
section §ISR.13 — Operator paste for ISR-b (informational; GS-PASTE may regen) L831–839
+
3 — Ledger kind independent_second_review (frozen schema)
section §ISR.3 — Ledger kind independent_second_review (frozen schema) L192–286
+
require_independent_second_reviewer (frozen)
section §ISR.4 — Config: honesty.require_independent_second_reviewer (frozen) L286–328
+
4 — Mode D JSON + error token (frozen)
section §ISR.5.4 — Mode D JSON + error token (frozen) L440–504
+
6 — Active-slice status / governance-sync surface (frozen)
section §ISR.6 — Active-slice status / governance-sync surface (frozen) L504–578
+
7 — Portable primary (CLI + docs) + optional host niceties
section §ISR.7 — Portable primary (CLI + docs) + optional host niceties L578–709
+
1 — Portable contract (complete without Cursor)
section §ISR.7.1 — Portable contract (complete without Cursor) L580–594
+
4 — Build-verification skill + always-on rule (ISR-b amends)
section §ISR.7.4 — Build-verification skill + always-on rule (ISR-b amends) L646–678
+
5 — Other doc pointers (ISR-b writes)
section §ISR.7.5 — Other doc pointers (ISR-b writes) L678–694
+
9 — Boundary, capability, rejection (governance, not runtime)
section §ISR.9 — Boundary, capability, rejection (governance, not runtime) L737–774
+
1 — Verified problem (do not redesign)
section §LT.1 — Verified problem (do not redesign) L113–133
+
12 — Operator paste for LT-b (informational; GS-PASTE may regen)
section §LT.12 — Operator paste for LT-b (informational; GS-PASTE may regen) L547–554
+
Footprint coverage + dogfood sync + workspace-root
section §LT.3 — Slice 1. Footprint coverage + dogfood sync + workspace-root L166–227
+
1 — Footprint coverage gate (closes the “lock never heard of new files” twin of KH3)
section §LT.3.1 — Footprint coverage gate (closes the “lock never heard of new files” twin of KH3) L168–199
+
3 — Workspace-root honesty (docs only)
section §LT.3.3 — Workspace-root honesty (docs only) L208–227
+
Session bookends (portable primary + optional Cursor hooks)
section §LT.4 — Slice 2. Session bookends (portable primary + optional Cursor hooks) L227–358
+
1 — Portable primary (unchanged, still required)
section §LT.4.1 — Portable primary (unchanged, still required) L229–240
+
3 — When enabled: true, ok sync / ok init vendors these files
section §LT.4.3 — When enabled: true, ok sync / ok init vendors these files L258–285
+
5 — Hook behavior (fail-open, loop_limit: 1 on stop)
section §LT.4.5 — Hook behavior (fail-open, loop_limit: 1 on stop) L293–350
+
6 — Agent rules (already in source; become live after slice 1 sync)
section §LT.4.6 — Agent rules (already in source; become live after slice 1 sync) L350–358
+
Mechanical DONE — kit dogfood only, warn first
section §LT.5 — Slice 3. Mechanical DONE — kit dogfood only, warn first L358–419
+
1 — Kit config (LT-b writes; consumers untouched)
section §LT.5.1 — Kit config (LT-b writes; consumers untouched) L360–381
+
2 — Active-slice Mode B surface (reuse P-evidence)
section §LT.5.2 — Active-slice Mode B surface (reuse P-evidence) L381–410
+
8 — SPEC §5 additive rows (LT-b writes)
section §LT.8 — SPEC §5 additive rows (LT-b writes) L492–503
+
test_append_does_not_embed_chat_transcript
function
function test_append_does_not_embed_chat_transcript L47–60
+
test_canonical_hash_includes_isr_fields
function
function test_canonical_hash_includes_isr_fields L32–44
+
test_mode_d_omit_vs_pin_does_not_rewrite_ledger
function
function test_mode_d_omit_vs_pin_does_not_rewrite_ledger L75–104
+
test_tamper_producer_session_breaks_verify
function
function test_tamper_producer_session_breaks_verify L15–29
+
test_mode_d_cli_with_producer_session_match
function
function test_mode_d_cli_with_producer_session_match L105–134
+
test_ok_next_still_extracts_fence_after_docs_pointer
function
function test_ok_next_still_extracts_fence_after_docs_pointer L153–172
+
test_require_mode_done_without_ledger_status_exit_2
function
function test_require_mode_done_without_ledger_status_exit_2 L87–102
+
test_same_session_ids_refused_at_append
function
function test_same_session_ids_refused_at_append L137–150
+
test_warn_mode_done_without_ledger_status_exit_0
function
function test_warn_mode_done_without_ledger_status_exit_0 L67–84
+
test_require_mode_done_without_ledger_status_exit_2
function
function test_require_mode_done_without_ledger_status_exit_2 L85–100
+
test_warn_mode_done_without_ledger_status_exit_0
function
function test_warn_mode_done_without_ledger_status_exit_0 L65–82
+
EXIT_MISSING_INDEPENDENT_SECOND_REVIEW
import
import EXIT_MISSING_INDEPENDENT_SECOND_REVIEW L14–14
+
test_mode_a_without_mode_d_unchanged
function
function test_mode_a_without_mode_d_unchanged L143–155
+
test_mode_d_warn_missing_exit_0_with_warning
function
function test_mode_d_warn_missing_exit_0_with_warning L84–96
+
test_status_require_after_append_not_forced_2
function
function test_status_require_after_append_not_forced_2 L236–254
+
test_status_require_done_without_isr_exit_2
function
function test_status_require_done_without_isr_exit_2 L216–233
+
test_handover_compact_both_flags_exit_2
function
function test_handover_compact_both_flags_exit_2 L116–124
+
test_session_bookends_in_resolve_when_enabled
function
function test_session_bookends_in_resolve_when_enabled L60–77
+
test_status_exit_2_when_coverage_missing_dest
function
function test_status_exit_2_when_coverage_missing_dest L36–47
+
test_status_json_includes_footprint_coverage
function
function test_status_json_includes_footprint_coverage L127–137
+
test_status_not_2_from_coverage_after_lock_updated
function
function test_status_not_2_from_coverage_after_lock_updated L50–57
+
build_independent_second_reviewer_gate
import
import build_independent_second_reviewer_gate L11–11
+
test_append_mode_d_and_gate_within_bound
function
function test_append_mode_d_and_gate_within_bound L16–50
+
test_coverage_and_compact_finish_quickly
function
function test_coverage_and_compact_finish_quickly L13–28
+
build_independent_second_reviewer_gate
import
import build_independent_second_reviewer_gate L15–15
+
independent_second_reviewer_gate_payload
import
import independent_second_reviewer_gate_payload L15–15
+
test_exit_38_not_waived_under_require
function
function test_exit_38_not_waived_under_require L74–85
+
test_gate_payload_no_absolute_machine_paths
function
function test_gate_payload_no_absolute_machine_paths L88–108
+
test_no_network_or_model_imports_on_isr_paths
function
function test_no_network_or_model_imports_on_isr_paths L35–47
+
test_compact_archive_path_repo_relative
function
function test_compact_archive_path_repo_relative L41–55
+
test_coverage_missing_paths_are_repo_relative
function
function test_coverage_missing_paths_are_repo_relative L16–38
+
test_git_only_handover_compact_zero_muse_argv
function
function test_git_only_handover_compact_zero_muse_argv L77–111
+
test_hook_scripts_are_executable_in_kit_source
function
function test_hook_scripts_are_executable_in_kit_source L132–136
+
test_session_start_hook_fail_open_without_ok
function
function test_session_start_hook_fail_open_without_ok L58–74
+
test_session_start_hook_fail_open_without_python3
function
function test_session_start_hook_fail_open_without_python3 L114–129
+
find_matching_independent_second_review
import
import find_matching_independent_second_review L9–9
+
test_fifty_isr_entries_last_wins_match
function
function test_fifty_isr_entries_last_wins_match L12–53
+
find_matching_independent_second_review
import
import find_matching_independent_second_review L16–16
+
test_error_token_includes_missing_isr
function
function test_error_token_includes_missing_isr L146–147
+
test_find_matching_isr_last_wins_and_pin
function
function test_find_matching_isr_last_wins_and_pin L237–276
+
test_frozen_spec_opaque_non_empty_no_must_exist
function
function test_frozen_spec_opaque_non_empty_no_must_exist L111–116
+
test_honesty_config_field_default_off
function
function test_honesty_config_field_default_off L142–143
+
test_missing_producer_session_exit_2
function
function test_missing_producer_session_exit_2 L54–59
+
test_compact_no_op_when_within_keep
function
function test_compact_no_op_when_within_keep L139–152
+
test_coverage_empty_lock_not_applicable
function
function test_coverage_empty_lock_not_applicable L28–32
+
test_optional_feature_tips_default_off
function
function test_optional_feature_tips_default_off L189–194
+
test_optional_feature_tips_empty_when_enabled
function
function test_optional_feature_tips_empty_when_enabled L197–209
+
test_session_bookends_enabled_non_bool
function
function test_session_bookends_enabled_non_bool L87–93
+
test_verification_gate_skips_active_auto_todo
function
function test_verification_gate_skips_active_auto_todo L162–186
+
test_verification_gate_skips_when_honesty_off
function
function test_verification_gate_skips_when_honesty_off L155–159
+
format_independent_second_reviewer_gate_line
import
import format_independent_second_reviewer_gate_line L3–3
+
independent_second_reviewer_gate_payload
import
import independent_second_reviewer_gate_payload L3–3
+
build_independent_second_reviewer_gate
function
function build_independent_second_reviewer_gate L44–109
+
format_independent_second_reviewer_gate_line
function
function format_independent_second_reviewer_gate_line L131–136
+
find_matching_independent_second_review
import
import find_matching_independent_second_review L20–20
+
independent_second_reviewer_gate_payload
function
function independent_second_reviewer_gate_payload L112–128
+
format_verification_evidence_gate_line
function
function format_verification_evidence_gate_line L120–123
+
build_independent_second_reviewer_gate
import
import build_independent_second_reviewer_gate L37–37
+
format_independent_second_reviewer_gate_line
import
import format_independent_second_reviewer_gate_line L37–37
+
format_verification_evidence_gate_line
import
import format_verification_evidence_gate_line L32–32
+
independent_second_reviewer_gate_payload
import
import independent_second_reviewer_gate_payload L37–37
−
Optional Cursor stop hook — print NEXT (ONS)
section Optional Cursor stop hook — print NEXT (ONS) L1–28
−
NEXT SESSION — Consumer LT rollout (Operator)
section NEXT SESSION — Consumer LT rollout (Operator) L11–64
+
THE ONE NEXT STEP — Model: Operator + Auto
section THE ONE NEXT STEP — Model: Operator + Auto L25–40
~
table
~
table
~
table
+
build_independent_second_reviewer_gate
import
import build_independent_second_reviewer_gate L32–32
+
format_independent_second_reviewer_gate_line
import
import format_independent_second_reviewer_gate_line L32–32
+
format_verification_evidence_gate_line
import
import format_verification_evidence_gate_line L28–28
+
EXIT_MISSING_INDEPENDENT_SECOND_REVIEW
variable
variable EXIT_MISSING_INDEPENDENT_SECOND_REVIEW L26–26
+
find_matching_independent_second_review
import
import find_matching_independent_second_review L20–20
~
to_dict
+
find_matching_independent_second_review
function
function find_matching_independent_second_review L120–155
← Older
Oldest on feat/isr-independent-second-reviewer
All commits
Newer
chore(ISR): retain live footprint twins + ISR ledger for bridge
sha256:f59d4cc6c3a626def07dbcd99e9d8dbe44801953ca3866e6ee1858c2ab5452e8
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:5fcab52b1edc64e9e97993269e7feaa615aa29fcb272f2119ab8b70a3b03f713 --body "your comment"
No comments yet. Be the first to start the discussion.