Repository navigation
ci: narrow host tools for Python guard jobs - #1539
Conversation
Role review
|
overtrue
left a comment
There was a problem hiding this comment.
Reviewed head 5b54448. The four job profiles match their executed tools, while the six general guard shards retain Ruby and the default build-tool profile is unchanged. The CI checker still requires each job's exact profile and preserves all commands, deadlines and failure propagation. No actionable finding.
Independent verification: all 19 host-tool tests, the unchanged CI time-gate checker and diff whitespace check passed. All three quirk shards completed their 10 assigned cases exactly once, and the target-consolidation suite completed 116 cases. Each ran with a Ruby sentinel that would record invocation and exit 93; none invoked it. These local concurrent runs are dependency controls, not a controlled performance comparison. Actual completed CI logs for all four affected jobs report host tools already present and their case suites passed. This confirms those setup paths avoided installation on this run; it does not reproduce or prove the root cause of the older package-install timeout.
The author records the full ordered local gate. I did not repeat the independent workspace gate. At the latest readback, 30 remote checks passed and the two transport parity jobs were still running, so final CI acceptance remains pending.
Role Verdicts
- simplicity-adversary: attacked job/profile mapping, missing-tool and installer-error paths, opt-in rejection, exact diagnostic attribution, unchanged gate commands and Ruby reachability in all four affected suites — no break found.
Summary
Quirk ledger jobs only use Python and shell, but their setup installs Ruby and its package dependencies. On run 40315690990 package installation exhausted the job deadline before any mutation ran. Give those three jobs and the target-consolidation job a Python-only host-tool profile; keep the Ruby profile for full guard shards and require each job's actual profile in the CI check.
Related to #1506. The earlier hosted setup failure has not yet been reproduced with this candidate.
Verification
The complete verifier exited zero but its reported 753.85 seconds exceeds the documented 600-second whole-command feedback target; phase budgets passed separately. The observation is recorded in #1462. Earlier full-verifier attempts failed independently: one guard census stopped with 28 cases unexecuted, one slow-reader RSS reuse assertion failed, and one unread-body refusal lacked the expected XML response. No cause for these failures has been established.
The first workspace run on this base failed eight conformance socket and HTTP/2 tests. Each exact test passed once with the unchanged main scripts, and the later complete workspace run passed; these controls do not establish the original failure cause.
The three quirk shards each completed all 10 assigned cases with a Ruby sentinel that would fail and record invocation; none was invoked. The target-consolidation suite completed 108 cases. Controlled mutations replaced the installation scope independently in each of the four affected jobs and verified its specific diagnostic, including a diagnostic-attribution fault and a broken CI checker. Existing tool-presence, missing-tool, installation-failure and opt-in rejection controls were retained.
Role Verdicts
Breaking Change
Checklist
cargo xtask verify)went red. The PR description names which ones
BREAKINGand a migration pathunsafeintroducedinventory/linkmeintroduced#[non_exhaustive]added to a DTO