Repository navigation
Complete ordinary-PR Dylint parity and cold/warm measurement through Bosn → act2 #1643
Description
Activity
Implementation checkpoint:
feat/local-dylint-pr-parityat7c54f5a32aae2eff41be71478763b5243131fd5e, based on default branchf2dca463. The existing local gate now runs its Ubuntu pair and then the entire existingdylint.ymlwith PR/minimal context and no job selector. No workflow was added or edited. Dylint acceptance requires policy/dylint/gate exactly once with completed success and completed-success evidence for the named policy, library and workspace steps. Dispatch/full, job-filtered, missing, skipped and duplicate evidence is rejected.The first actual replay at
d45e4146completed all three Ubuntu graph jobs successfully (verify,check,python-facade-tests), but exposed a verifier error: the selected Linux job also includes its prerequisite. The outer gate correctly failed before Dylint; it produced no passing attestation. The count was corrected to require the actual three-job graph, with a missing-verifier regression. The actual terminal record reproduces rejection by the old selection and acceptance by the dependency-aware selection.31 focused helper/fractional/status tests, configured C901/RUF100 and formatting passed. The same primary reviewer approved both the implementation and correction. A fresh complete gate is currently running at
7c54f5a3; no complete Dylint pass, PR merge, runtime adoption or speedup is claimed yet. Concurrent correctness runs will not be presented as controlled cold/warm performance evidence.PR #1646 now includes the complete ordinary-PR Dylint workflow in the existing local gate, with no job filter. The updated-main source tree
11880321d07c88b62fe67844f2fbd1c628d3ded9passed the original complete declared gate in 851 seconds, with every selected Ubuntu verifier/check/Python job and the independent Dylint workflow accepted. This was concurrent correctness validation, not a controlled cold/warm speed comparison.The remote branch independently merged the same main commit. Its tree and parents exactly matched the tested local merge. The normal checker reused the verified 3,370-input lane in under one second and issued fresh tree/parent-bound proof. A normal merge preserved the remote update; final head
c95e9f8e1aec61c68ae09f226b0203fb6ac5d554was pushed without force and passes explicit PR-context Local-Gate verification. This is positive unchanged-input proof reuse, not physical cache-handoff proof.The PR is still awaiting its latest remaining remote checks and normal landing. Keep this issue open for controlled Dylint/whole-workflow measurements, ancestor physical payload reuse, PR-to-main payload/attestation publication, a second fresh-checkout consumer, changed-input invalidation, and release fresh execution.
PR #1646 merged normally as
35f1b2292cf41153adf900e32745f42cb5e3cd64after every latest check completed successfully (with the existing conditional skips). The actual merged tree exactly matches the complete 851-second local-gate proof and the checker-issued unchanged-input reuse proof,11880321d07c88b62fe67844f2fbd1c628d3ded9. Both independent Ubuntu and ordinary-PR Dylint workflow selections are now part of the declared local gate. No workflow files were added and existing coverage selection was preserved.Keep #1643 open: this lands parity, not the remaining controlled cold/warm Dylint measurements, ancestor physical payload reuse, PR-to-main payload publication, second fresh-checkout consumer and release non-reuse validation. Unchanged-input local proof reuse completed in under one second, but the overlapping 851-second correctness run is not a controlled workflow speedup comparison.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsTriage
The adopted Linux local gate runs the two Ubuntu jobs from
ci-minimal.yml, and accurately declares that limited scope. It does not run the independent PR-triggereddylint.ymlworkflow. A successful declared local gate therefore does not establish complete ordinary-PR Dylint parity. The first migration remains tracked in #1635; this is the focused Dylint proof and measurement follow-up to the broader rollout in #1639.Evidence:
ci/local_gate.pyselects workflowci-minimal.yml, joblinux, with requiredcheckandpython-facade-tests.dylint.ymlindependently runs on PRs and requires its policy, Dylint execution, and aggregator. Ordinary PR execution checks the entire Linux workspace; dispatch/full selection adds platform-specific cross-target passes. Preserve those event-dependent choices rather than measuring dispatch as if it were an ordinary PR.Implement a separate source- and definition-bound local Dylint proof through Bosn → pinned act2, executing the unchanged existing workflow with the real PR context. Cover policy checks, shrink-only baselines, all lint libraries, all targets/features selected by the existing command, observed boundary evidence, and the final required Dylint status. Add no new GitHub workflow. Do not turn incomplete or skipped execution into a passing proof.
Measure complete cold, fresh-engine warm, changed-source warm, and identical-input attestation reuse separately, including checkout, setup, compiler, cache restore/save and aggregation overhead. Record exact source/tree, workflow closure, actual runtime/tool/target identity, executed steps, cache writer provenance and payload handoff. Ancestor reuse must preserve invalidation for changes. Retain remote checks until source-bound proof trust is validated; release validation always executes freshly.