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
PY-PORT-2f: port model_ladder_cells_produce.py to aprender-ci-tools ladder-cells-produce (C301) #5225
Sub-ticket of #4741 (PY-PORT-2, C301: the build is Rust only; Python stays only as an external oracle). Carries #4986.
Port scripts/lib/model_ladder_cells_produce.py (494 lines; stdlib argparse/hashlib/json/os/re/signal/socket/subprocess/time/urllib, plus the judge model_ladder_cells.py for the owed-set enumeration) to an aprender-ci-tools ladder-cells-produce subcommand, same shape as #4799.
Why now: #4986 (measure_code must read apr code's backend.ran / backend.fell_back, the shape measure_chat reads) cannot be committed to the .py. The pre-commit complexity check refuses any staged copy of the file on functions already over the limits on main (measure_item, cmd_measure, finish; the test double's main). The fix is written and passes scripts/check_ladder_cells_producer.sh (all cases and mutants, plus a new case and a new mutant for the code verb); it lands in the port instead.
Acceptance:
Same subcommands and argv, byte-identical stdout (Python json.dumps key order and escaping) and the same exit status as the .py on a case table: every verb (run, chat, code, serve), every fake-apr mode (good, fellback, noneedle, refuse, noclose, undercount), and bad inputs.
The .py and its callers stay (N-1): scripts/model_ladder.sh calls it on a certification path, and scripts/check_ladder_cells_producer.sh mutates it. They switch once a released aprender-ci-tools carries the port.
Folded into #4741 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it. Pushed branch: PMAT-5225-ladder-cells-produce-port.
Folded into #4741 by the cop batch at 10:31Z (triage cap 100; clerk proposal 1015 row). Tracked as a checklist row there; reopen if it needs its own owner.
Reopened by the cop: this is a protected 0.72 floor row (handoff/protected-072-floor.txt), so it must not be folded. The 10:30Z fold was the cop's error. Its master link stays as a cross-ref.
Activity
fix(ci-tools): ladder-cells-produce test expects ensure_ascii escapes…
fix(ci-tools): ladder-cells-produce code row keeps reason_backend whe…
test(ci-tools): pyjson depth case runs on an 8 MiB thread, as the CLI…
noahgift commentedon Oct 14, 2026
Folded into #4741 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it. Pushed branch:
PMAT-5225-ladder-cells-produce-port.Agent: aprender-clerk
noahgift commentedon Oct 14, 2026
0.72 floor row, closed in error
fix(ladder): measure_code reads apr code's backend.ran and backend.fe…
test(ci-tools): parity case for a code envelope with a null backend (#…
test(ci-tools): kill the ladder-cells port's missed mutants (Refs #5225)
test(ci-tools): drive the ladder-cells port end to end; fix a \u erro…
fix(ci-tools): code rows carry no reason_backend, as the #4986 .py wr…
test(ci-tools): bound the e2e fake apr's lifetime; a shorter serve ce…
noahgift commentedon Oct 15, 2026
Folded into #4741 by the cop batch at 10:31Z (triage cap 100; clerk proposal 1015 row). Tracked as a checklist row there; reopen if it needs its own owner.
noahgift commentedon Oct 15, 2026
Reopened by the cop: this is a protected 0.72 floor row (handoff/protected-072-floor.txt), so it must not be folded. The 10:30Z fold was the cop's error. Its master link stays as a cross-ref.
test(ci-tools): kill the ladder-cells port's surviving mutants (Refs #…
test(ci-tools): pyjson string escapes and error positions under test …
test(ci-tools): the io test server drains the request before it repli…
test(ci-tools): the surrogate tests carry real \u escapes; backend_na…
fix(ci-tools): ladder-cells e2e fake apr without python3 (#5225)
fix(ci-tools): #5410 CI reds -- fake serve 503 body, dogfood baseline…
feat(ci-tools): port model_ladder_cells_produce.py to ladder-cells-pr…