You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ci: master is red on duplicate-bodies -- seven widget-logic helper groups (digits_val, ws_*) are in no ledger #11013
Master of gHashTag/t27 is red on the duplicate-bodies check (workflow .github/workflows/dupe-ratchet.yml, tool tools/dupe_scan.py) and every open PR inherits it. The first brief for this fix named hex_digit (copy added by 6dd449e, PR #10278); that copy was already removed by #10296 (Closes #10294), so it is not the cause any more.
Measured on master 882fcff, run 39243687990: seven groups are "copied [2] time(s) and in no ledger": digits_val, ws_at, ws_back, ws_before, ws_fwd, ws_len_at, ws_len_before. They arrived with b92f6f1 (PR #10965, widget logic ports, epic #10937): lut_explain_logic and lut_treemap_logic share the ws_* byte scanners, fasm_skyline_logic and stat_card_logic share ws_len_at and ws_len_before, fasm_skyline_logic and lut_depth_logic share digits_val.
Each widget logic spec compiles to its own wasm module with module-level state and one parse per instance, so a cross-module use is a design change owned by the widget epic, not a one-line fix. The smallest correct change is to record the seven copies as deliberate with python3 tools/dupe_scan.py --bless in one commit, run on the Railway lab.
Boundary
tools/duplicate_bodies_baseline.txt
User Scenarios
Given master with seven unledgered duplicate groups, when the ledger records them and python3 tools/dupe_scan.py runs, then it exits 0.
Given a PR that adds a new duplicate body, when the check runs after this change, then it still fails.
Requirements
FR-001: The ledger MUST list exactly the seven groups above, each with count 2, and no other line may change.
FR-002: The change MUST NOT add hand-written code in any language other than t27.
Success Criteria
python3 tools/dupe_scan.py exits 0 on the branch, run on the lab.
Activity
ci(dupe-ratchet): record the seven widget-logic helper copies as deli…