Skip to content

PY-PORT: dogfood_gates.py -> aprender-ci-tools dogfood-gates (child of #4741) #4811

Closed as not planned

Description

@noahgift

Child of #4741 (C301: no Python in the build).

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.

Activity

  1. noahgift commented on Oct 5, 2026

    @noahgift
    MemberAuthor

    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.

  2. added this to the backlog milestone on Oct 8, 2026
  3. noahgift commented on Oct 12, 2026

    @noahgift
    MemberAuthor

    park proposal: superseded, by #5065 / 923c5ca (on main), which deleted scripts/lib/dogfood_gates.py, the file this ticket would port.

  4. noahgift commented on Oct 13, 2026

    @noahgift
    MemberAuthor

    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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions