Skip to content

Tooling: fast guard for the 35 live-checkout files the selected #1094 replay hash-asserts, plus complete replay triggers (no new kappa) - #1361

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
thakrarsagar:tooling/selected-ci-inputs-seed94
Oct 14, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
thakrarsagar:tooling/selected-ci-inputs-seed94

Conversation

@thakrarsagar

Copy link
Copy Markdown
Contributor

Change and mathematical scope

Tooling only. No new κ, and no change to any construction, certificate,
selected record, pinned document or pinned verifier.
Three files:

  • scripts/check_selected_ci_inputs.py: a new standard-library guard.
  • tests/test_selected_ci_inputs.py: 21 tests, about 3 s. make verify-tests
    picks them up automatically in the generic matrix's tests group, on every
    Python version.
  • .github/workflows/frontier1094.yml: new path filters only; nothing existing
    is removed.

Gap. make frontier1094-verify passes --main ROOT to package stages. Those
stages hash-assert 35 repository files outside the selected package roots
through each root's data/UPSTREAM-PINS.json and construction/INPUTS.json
files.main. The replay's first stage also checks the #1042 checkpoint record
(certificates/checkpoints/frontier1042.json), meaning its certificate and its
12-root inventory.

The per-PR check of the selected record (verify_selected_result.py) covers
neither, and at dadfea6e none of these files triggers frontier1094.yml.
Which checks those files triggered:

So a one-byte change could pass every fast check and surface only inside the
roughly 2-hour cold replay. Reproduced on a scratch worktree by appending one
byte to .../baseline558/.../split-centres/CLIFFORD-RECIPES.json:

  • verify_selected_result.py printed PASS, and tests/test_selected_result.py
    passed.
  • research/gauge44-slots-t16/verify_t16.py --main . raised
    AssertionError: Upstream dependency changed.
  • The new guard printed FAIL_SELECTED_CI_INPUTS with that file in its drift
    list.

Guard. Everything is derived from certificates/selected-result.json.

Hard checks (exit 1):

  • Every live pin matches the checkout.
  • No two roots pin different bytes, and any in-root pin equals the selected
    source inventory.
  • Every selected-result-format record named by the driver's static script
    closure passes verify_selected_result.check. Today those records are
    checkpoints/frontier1042.json and selected-result.json.

Advisory, enforced by --require-triggers:

  • The one workflow whose run: commands invoke the driver, or its make target,
    must trigger on push and pull request for every required path:
    • every live pin;
    • every inventoried root file;
    • the driver's script closure and the files it names;
    • each named record's certificate, manifest and inventory.
  • Trigger forms the minimal reader cannot evaluate exactly are reported, never
    assumed. These include paths-ignore, types, tags, branch filters
    without main, flow-style on:, and ? + [] {} globs.
  • The test enforces complete coverage only while Conditional kappa 0.001672660197076918: rare-pattern T16 exchanges #1094 is selected, so a future
    selection commit is not blocked by trigger bookkeeping.

Remaining obligations / scope.

  • This is a drift and trigger guard, not a replay or a mathematical check.
  • The driver closure is static: imports plus string-literal repository paths.
  • Inputs read only by stages that route no pin through these manifests are out
    of scope.
  • I did not run the cold make frontier1094-verify (2 hours, and it needs
    Boost).

Task and overlap

Validation

python3 -I -B scripts/check_selected_ci_inputs.py --require-triggers
python3 -B -m unittest discover -s tests -p test_selected_ci_inputs.py

Credit

AI disclosure: prepared by Sagar Thakrar with substantial Anthropic Claude
assistance, including parallel explorer, judge and skeptic subagents. New work
is Apache-2.0.

Open next questions

  1. Should docs/ci-verification.md describe the Conditional kappa 0.001672660197076918: rare-pattern T16 exchanges #1094 chain?
  2. Should research-packages.yml trigger on non-research/ declared inputs?
  3. Should the closure be dynamic instead of static? Stages that read
    repository files without routing them through a pin manifest are out of
    scope. An audit-hook trace of one full cold run would bound them.

Workflow feedback (optional)

The selected-chain workflows (frontier1094.yml, frontier1042.yml) have
queued for hours without completing. This PR does not change that. Its hard
checks give a sub-second per-PR signal for the files the replay hash-asserts.

…te its CI triggers

The selected cold replay passes --main ROOT to package stages that hash-assert
35 repository files outside the selected roots (UPSTREAM-PINS / INPUTS main),
and first checks the CrocSwap#1042 checkpoint record. The per-PR selected-record check
covers neither and none triggers frontier1094.yml. For 15 of the 35 files and
for the checkpoint certificate and inventory, no fast check fired at all, so a
one-byte change surfaced only inside the cold replay.

Add a stdlib guard derived from selected-result.json. Pin drift and the
driver-named records are hard checks run on every PR by a new unit test; trigger
coverage of the replay workflow is advisory (--require-triggers enforces it, and
the test enforces it only while CrocSwap#1094 is selected). Extend frontier1094.yml path
filters, additive only. No construction, certificate, selected record, pinned
document or pinned verifier changes.

Seed 94, verifier-engineering / portable-replay (refined). Prepared with
substantial Anthropic Claude assistance.
@Mister-Meeseeks
Mister-Meeseeks merged commit e523fd5 into CrocSwap:main Oct 14, 2026
61 checks passed
@Mister-Meeseeks

Copy link
Copy Markdown
Contributor

100-PR batch review at 40965b228001a95c1f55054e5ed661fa85190813.

Merged to main, preserving the original contributor commits and package attribution.

Reviewed scope: Selected-source CI coverage guard checks live pins, named records and driver closure, with fail-closed workflow coverage under --require-triggers. Expanded path filters and 21 tests pass; this is trigger/provenance coverage, not a new mathematical replay or selected bound.

The pinned scoped command passed; the batch ledger contains its command, input hashes, environment and log. This incorporates the research/tooling contribution and does not change the selected κ or discharge the inherited multiplication-theorem assumptions.

Batch review, attribution and evidence. Thank you for the contribution.

Mister-Meeseeks pushed a commit that referenced this pull request Oct 14, 2026
Exact-head retention and overlap facts for #1101, #1108, #1142, #1151,
#1277, #1361, #1509 and #1646 against main 1f7a934, with a stdlib
checker. #1142 fails on current main (stale selected-record pin) and
re-adds an earlier copy of #1108's package (add/add conflict).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@thakrarsagar
thakrarsagar deleted the tooling/selected-ci-inputs-seed94 branch October 14, 2026 19:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants