BREAKING feat/nxp-next-provenance #4 / 4
aaronrene · 6 days ago · Sep 5, 2026 · Diff

NXP-b: emit NEXT provenance + activate board-name advisories

Attribute every ok next paste block to its repo (N1/N2), stop silent check-next success when workspace is unconfigured (N3), and surface a non-blocking bare-board-name warn on ok status (N4). Injectable read_at clock keeps stdout goldens deterministic. DONE remains blocked on second-chat BV+ISR.

sha256:1ff4538ee872b096cd9ccd5faf93ac63c239dfaf9780496939ca3eb722197f71 sha
+98 ~47 −9 symbols
sha256:9ef8cb9e41b792179aae723bab6f8f67c6b78a01231c9d794d17f40506f60099 snapshot
+98
symbols added
~47
symbols modified
−9
symbols removed
0
dead code introduced
Semantic Changes 154 symbols
+ FIXTURES import import FIXTURES L9–9
+ Path import import Path L5–5
+ annotations import import annotations L3–3
+ check_next_unconfigured_advisory import import check_next_unconfigured_advisory L10–10
+ expected_handover_basename import import expected_handover_basename L10–10
+ git_status_runner import import git_status_runner L9–9
+ kit_root import import kit_root L8–8
+ load_config import import load_config L7–7
+ run_cli import import run_cli L9–9
+ status_board_name_advisory import import status_board_name_advisory L10–10
+ write_config import import write_config L9–9
+ test_advisory_helpers_unit function function test_advisory_helpers_unit L114–122
+ test_check_next_unconfigured_bare_advisory function function test_check_next_unconfigured_bare_advisory L17–27
+ test_check_next_unconfigured_compliant_advisory function function test_check_next_unconfigured_compliant_advisory L30–46
+ test_status_advisory_absent_when_prefixed function function test_status_advisory_absent_when_prefixed L79–111
+ test_status_advisory_when_bare function function test_status_advisory_when_bare L49–76
~ cli/commands/next.py .py 5 symbols added, 8 symbols modified
+ EXIT_CONFIG variable variable EXIT_CONFIG L25–25
+ _repo_name_or_none function function _repo_name_or_none L44–46
+ REASON_REPO_ROOT_UNRESOLVED import import REASON_REPO_ROOT_UNRESOLVED L13–13
+ absolute_repo_root import import absolute_repo_root L13–13
+ read_at_now import import read_at_now L13–13
~ cli/commands/status.py .py 1 symbol added, 1 symbol modified
+ status_board_name_advisory import import status_board_name_advisory L47–47
~ cli/commands/workspace.py .py 1 symbol added, 1 symbol modified
+ check_next_unconfigured_advisory import import check_next_unconfigured_advisory L21–21
~ docs/OVERSEER-HANDOVER.md .md 7 symbols added, 8 symbols removed, 2 symbols modified
NEXT SESSION — NXP-b NEXT provenance build section NEXT SESSION — NXP-b NEXT provenance build L11–84
Paste-ready prompt — NXP-b NEXT provenance build section Paste-ready prompt — NXP-b NEXT provenance build L46–84
code[text] variable variable code[text] L48–80
THE ONE NEXT STEP — Model: Auto section THE ONE NEXT STEP — Model: Auto L33–46
table section table L37–43
Verified root cause (do not re-derive) section Verified root cause (do not re-derive) L25–33
What just landed section What just landed L17–25
table section table L19–24
+ NEXT SESSION — NXP-b build verification (second chat) section NEXT SESSION — NXP-b build verification (second chat) L11–73
+ Paste-ready prompt — NXP-b build verification (second chat) section Paste-ready prompt — NXP-b build verification (second chat) L41–73
+ code[text] variable variable code[text] L43–69
+ THE ONE NEXT STEP — Model: thinking-high section THE ONE NEXT STEP — Model: thinking-high L27–41
+ table section table L31–38
+ What just landed section What just landed L17–27
+ table section table L19–26
~ tests/data_integrity/test_print_next_integrity.py .py 5 symbols added, 1 symbol modified
+ FIXED_READ_AT variable variable FIXED_READ_AT L13–13
+ CURRENT_NEXT_HEADING import import CURRENT_NEXT_HEADING L10–10
+ extract_paste_fence_body import import extract_paste_fence_body L11–11
+ set_read_at_clock import import set_read_at_clock L10–10
+ test_fence_body_and_heading_byte_identical_to_pre_nxp function function test_fence_body_and_heading_byte_identical_to_pre_nxp L56–89
~ tests/e2e/test_print_next_e2e.py .py 4 symbols added, 2 symbols modified
+ FIXED_READ_AT variable variable FIXED_READ_AT L16–16
+ set_read_at_clock import import set_read_at_clock L9–9
+ test_e2e_status_exit_code_unchanged_by_advisory function function test_e2e_status_exit_code_unchanged_by_advisory L103–141
+ test_e2e_two_repos_attributable function function test_e2e_two_repos_attributable L66–100
~ tests/integration/test_cli_workspace.py .py 1 symbol added, 1 symbol removed
test_check_next_not_configured_is_config_exit function function test_check_next_not_configured_is_config_exit L96–102
+ test_check_next_not_configured_advisory_exit_zero function function test_check_next_not_configured_advisory_exit_zero L96–104
~ tests/integration/test_print_next_cli.py .py 8 symbols added, 3 symbols modified
+ FIXED_READ_AT variable variable FIXED_READ_AT L13–13
+ _pin_clock function function _pin_clock L29–30
+ _unpin_clock function function _unpin_clock L33–34
+ json import import json L5–5
+ set_read_at_clock import import set_read_at_clock L11–11
+ test_json_carries_identity_keys function function test_json_carries_identity_keys L96–120
+ test_lane_flag_two_lane_fixture function function test_lane_flag_two_lane_fixture L123–153
+ test_quiet_includes_provenance function function test_quiet_includes_provenance L77–93
~ tests/performance/test_print_next_perf.py .py 3 symbols added, 1 symbol modified
+ FIXED_READ_AT variable variable FIXED_READ_AT L12–12
+ set_read_at_clock import import set_read_at_clock L10–10
+ test_ok_next_no_muse_git_subprocess function function test_ok_next_no_muse_git_subprocess L36–52
+ test_provenance_leaks_no_secrets function function test_provenance_leaks_no_secrets L117–150
~ tests/stress/test_print_next_stress.py .py 11 symbols added, 2 symbols modified
+ FIXED_READ_AT variable variable FIXED_READ_AT L20–20
+ CURRENT_NEXT_HEADING import import CURRENT_NEXT_HEADING L10–10
+ format_current_next import import format_current_next L10–10
+ git_status_runner import import git_status_runner L9–9
+ kit_root import import kit_root L8–8
+ run_cli import import run_cli L9–9
+ set_read_at_clock import import set_read_at_clock L10–10
+ write_config import import write_config L9–9
+ test_stress_format_at_filesystem_root_path function function test_stress_format_at_filesystem_root_path L90–99
+ test_stress_long_path_unicode_and_long_fence function function test_stress_long_path_unicode_and_long_fence L45–74
+ test_stress_many_lanes_status_advisory function function test_stress_many_lanes_status_advisory L77–87
~ tests/unit/test_print_next.py .py 10 symbols added, 6 symbols modified
+ FIXED_READ_AT variable variable FIXED_READ_AT L29–29
+ _format function function _format L39–46
+ PROVENANCE_LINE_TEMPLATE import import PROVENANCE_LINE_TEMPLATE L8–8
+ PROVENANCE_SEPARATOR import import PROVENANCE_SEPARATOR L8–8
+ format_provenance_line import import format_provenance_line L8–8
+ test_board_name_violation_reused_not_forked function function test_board_name_violation_reused_not_forked L168–186
+ test_provenance_fallbacks_unknown_name_and_dash_lane function function test_provenance_fallbacks_unknown_name_and_dash_lane L133–144
+ test_provenance_template_and_separator function function test_provenance_template_and_separator L125–130
+ test_read_at_format_second_precision_z function function test_read_at_format_second_precision_z L147–152
+ test_twelve_step_layout_byte_order function function test_twelve_step_layout_byte_order L155–165
~ tools/print_next/__init__.py .py 7 symbols added, 6 symbols modified
+ PROVENANCE_LINE_TEMPLATE import import PROVENANCE_LINE_TEMPLATE L5–5
+ PROVENANCE_SEPARATOR import import PROVENANCE_SEPARATOR L5–5
+ absolute_repo_root import import absolute_repo_root L5–5
+ format_provenance_line import import format_provenance_line L5–5
+ read_at_now import import read_at_now L5–5
+ set_read_at_clock import import set_read_at_clock L5–5
+ utc_read_at import import utc_read_at L5–5
~ tools/print_next/extract.py .py 13 symbols added, 3 symbols modified
+ PROVENANCE_LINE_TEMPLATE variable variable PROVENANCE_LINE_TEMPLATE L17–19
+ PROVENANCE_SEPARATOR variable variable PROVENANCE_SEPARATOR L20–20
+ REASON_REPO_ROOT_UNRESOLVED variable variable REASON_REPO_ROOT_UNRESOLVED L30–30
+ _Clock variable variable _Clock L45–45
+ _clock variable variable _clock L46–46
+ absolute_repo_root function function absolute_repo_root L67–75
+ format_provenance_line function function format_provenance_line L102–119
+ Callable import import Callable L5–5
+ datetime import import datetime L7–7
+ timezone import import timezone L7–7
+ read_at_now function function read_at_now L60–64
+ set_read_at_clock function function set_read_at_clock L54–57
+ utc_read_at function function utc_read_at L49–51
~ tools/workspace/__init__.py .py 2 symbols added, 6 symbols modified
+ check_next_unconfigured_advisory import import check_next_unconfigured_advisory L3–3
+ status_board_name_advisory import import status_board_name_advisory L3–3
~ tools/workspace/board_names.py .py 3 symbols added
+ _first_offending_pair function function _first_offending_pair L117–129
+ check_next_unconfigured_advisory function function check_next_unconfigured_advisory L132–152
+ status_board_name_advisory function function status_board_name_advisory L155–209

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:1ff4538ee872b096cd9ccd5faf93ac63c239dfaf9780496939ca3eb722197f71 --body "your comment"