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: dogfood_gates.py -> aprender-ci-tools dogfood-gates (child of #4741) #4811
Port scripts/lib/dogfood_gates.py (the one parser of [package.metadata.dogfood] in cargo metadata JSON) into crates/aprender-ci-tools as the dogfood-gates subcommand.
Done when:
the subcommand prints byte-identical stdout and the same exit code as the .py over a shared case table: NOPKG, NODECL (absent, null, non-table), BADSHAPE (non-list, non-string entry, blank entry), EMPTY, GATE lines (order kept, surrounding whitespace stripped, no-suffix and odd paths), the lone-package fallback, CRATE unset, and refusals (wrong argc, missing file, invalid JSON), which both sides refuse with rc 2 and empty stdout;
callers keep the .py for now (gate tools use already-released features); switching callers is a later child.
Parked to 0.71. dogfood_gates.py has a gate caller, and gate callers switch one train later (N-1). The port stays branch-only at fd026cea23 (quorum round 2: 3/3 PUSH). The intel receipt run is not queued yet.
The byte-identical case table against the .py can no longer run because the .py is gone. A Rust dogfood-gates subcommand would now be new scope, not a port.
park proposal: superseded, #5065 (923c5ca) deleted scripts/lib/dogfood_gates.py and replaced it with scripts/lib/dogfood_gates.jq plus scripts/tests/dogfood_jq_parsers_test.sh, so there is no .py left to port on main @7f9a15a52b (checked with git show --stat 923c5caa2c).
Activity
noahgift commentedon Oct 5, 2026
Parked to 0.71.
dogfood_gates.pyhas a gate caller, and gate callers switch one train later (N-1). The port stays branch-only at fd026cea23 (quorum round 2: 3/3 PUSH). The intel receipt run is not queued yet.noahgift commentedon Oct 12, 2026
park proposal: superseded, by #5065 / 923c5ca (on main), which deleted
scripts/lib/dogfood_gates.py, the file this ticket would port.[package.metadata.dogfood]parse isscripts/lib/dogfood_gates.jq, called fromscripts/check_verifier_pinning.sh:640. No Python is left on this path, so the C301 goal of PY-PORT-2: port publishable_crates / package_include_diff / coverage_report_scope to Rust (C301) #4741 is met for it.dogfood-gatessubcommand would now be new scope, not a port.noahgift commentedon Oct 13, 2026
park proposal: superseded, #5065 (923c5ca) deleted
scripts/lib/dogfood_gates.pyand replaced it withscripts/lib/dogfood_gates.jqplusscripts/tests/dogfood_jq_parsers_test.sh, so there is no .py left to port on main @7f9a15a52b (checked withgit show --stat 923c5caa2c).