open-standards/scripts
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 8fc1d07940
All checks were successful
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 2m30s
standards workspaces build + test / macOS energy backends (pull_request) Has been skipped
standards workspaces build + test / smart-byte-rs (smart-byte/smart-byte-rs, smart-byte-rs, linux) (pull_request) Successful in 3m35s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 22m1s
sec: move crypto-bigint off a release that was yanked after I picked it, and say plainly why warnings are not gated
Two follow-ups to my own work in #449.

**The fix shipped on a yanked release.** #449 bumped crypto-bigint 0.7.3 ->
0.7.6 in smart-byte to clear RUSTSEC-2026-0387 (secret-dependent branches in
operations meant to be constant-time). The author has since yanked every 0.7.x
below 0.7.9 — 0.7.1 through 0.7.8, 0.7.6 among them — so the version chosen to
fix an advisory is now withdrawn. Moved to 0.7.10, which is not yanked and
still satisfies the advisory's `>=0.7.6`. No yanked dependency remains anywhere
in the tree.

The pin was correct when it was made and went stale for a reason outside the
tree, which is the argument for re-reading the yanked list after advisory work
rather than once.

**An omission in the gate, turned into a decision.** The header said warnings
are not gated because they are "advice about maintenance, not a reachable
defect". That is honest for `unmaintained` and evasive for the other two, both
of which have been worth acting on. It now says what is true:

  - unsound-with-a-fix is a real defect a bump would close; one was a
    use-after-free in `LruCache::pop()`. It is not gated *today* only because
    every current instance is either pinned by a dependent (zstd-safe under
    wasmtime 49's module cache, which nothing here configures) or needs a
    semver-major move of a transitive crate (lru, rand, glib). A gate that is
    red for things nobody can act on teaches people to bypass it, which costs
    more than it catches. The trigger to gate it is those becoming movable.
  - yanked can happen to a version that was correct when chosen, as above.
    Gating it would turn every PR red for a decision made outside the tree, so
    it stays a warning — but it is a standing review item, which is how this
    one was caught.

Recorded decisions with trigger conditions, rather than an unexamined gap.

60 lockfiles, the same 19 allowances, self-test green on all six cases,
lockfile check current, smart-byte checks clean.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-11-01 09:43:26 -05:00
..
check-advisories-selftest.sh sec: answer the gate's first catch — two constant-time advisories, and pin an allowance to the version it excuses 2026-10-24 20:06:05 -04:00
check-advisories.py sec: move crypto-bigint off a release that was yanked after I picked it, and say plainly why warnings are not gated 2026-11-01 09:43:26 -05:00
check-comparative-prose.sh Public-text checks: the OER/2 documents and corpus are checked like any other file 2026-10-29 22:28:00 -04:00
check-fabric-errors.py jouleclaw-omni: metal compiles — 45 -> 0, write the 21 missing kernels 2026-10-20 04:33:42 -04:00
check-lockfiles-selftest.sh scripts: no pipe into grep -q under pipefail 2026-10-15 01:52:03 -04:00
check-lockfiles.sh joule-code: vendor wtransport 0.7.2 as published, patched in 2026-10-20 04:54:03 -04:00
check-metal-shaders.py check-metal-shaders: stop being coupled to raw-string style, and refuse to check almost nothing 2026-10-20 08:52:06 -04:00
check-no-vanity-metrics.sh docs + no-vanity-metrics: reword two counts, fix scanner false positive 2026-06-13 22:14:13 -04:00
check-orphan-sources.py jouleclaw-omni: declare 23 modules that were compiled by nothing 2026-10-18 07:19:24 -04:00
check-public-names.sh Public-text checks: the OER/2 documents and corpus are checked like any other file 2026-10-29 22:28:00 -04:00
check-spec-refs-selftest.sh ci: a citation to a section that does not exist is now a failure 2026-10-13 03:07:23 -04:00
check-spec-refs.py ci: a citation to a section that does not exist is now a failure 2026-10-13 03:07:23 -04:00
check-tests-in-ci-selftest.sh scripts: no pipe into grep -q under pipefail 2026-10-15 01:52:03 -04:00
check-tests-in-ci.py ci: every wai-rs test file is run by a job or listed, and none can run empty 2026-10-13 01:20:48 -04:00
check-wai-ops-doors-selftest.sh wai ops: the command line carries only the operations it implements; the door check reads a tool table by operation 2026-10-27 05:12:08 -04:00
check-wai-ops-doors.py wai ops: the command line carries only the operations it implements; the door check reads a tool table by operation 2026-10-27 05:12:08 -04:00
check-wai-section-refs.py check-wai-section-refs: read wai/SECURITY.md too 2026-10-09 17:15:06 -04:00
check-workflow-concurrency-selftest.sh ci: one job for the repository's script checks 2026-10-14 12:05:46 -04:00
check-workflow-concurrency.sh ci: guard the concurrency groups, and stop the dev Mac serving 13 of 21 contexts 2026-10-05 12:18:21 -04:00
install-hooks.sh ci: no-vanity-metrics scanner + pre-commit hook + CHARTER policy 2026-06-02 10:39:43 -04:00
pr-touches-paths-selftest.sh pr-touches-paths: a comment inside a path list no longer ends it 2026-10-14 04:21:43 -04:00
pr-touches-paths.py pr-touches-paths: a comment inside a path list no longer ends it 2026-10-14 04:21:43 -04:00
standards-touched-selftest.sh scripts: no pipe into grep -q under pipefail 2026-10-15 01:52:03 -04:00
standards-touched.py ci: the standards build builds the workspaces a change touches 2026-10-14 03:40:08 -04:00
test-public-text-checks.sh check-public-names: read file arguments from the caller's directory; name a file it cannot read 2026-10-21 15:19:18 -04:00
wai-quantum-webgpu-member.sh wai-quantum fabric: run meters, metered calibration, place_for, and the Fabric wrapper 2026-10-12 05:08:11 -04:00