Chore(hygiene): Four v0.11 H6 deferrals — #18 advisory diff, SI schema gate, demo hash-pin, cflite cap#189
Merged
Merged
Conversation
…a gate, demo hash-pin, cflite cap Four small deferred-queue items from the v0.10.17 close-out, each independently verified: 1. #18 changelog-vs-commits ADVISORY diff: scripts/check_changelog_vs_commits.py — at release-prep time (version bumped, not yet tagged) lists commits since the last release tag whose (#NNN) PR ref the new CHANGELOG block never mentions. Always exits 0 (a curated block folds/omits deliberately; entry-COMPLETE cannot be a hard gate without lying). Wired into verify-changelog.yml (checkout gains fetch-depth: 0 for the tag baseline; script fail-softs on shallow clones). Self-skips outside release-prep — verified live (v0.10.17 tagged -> skip). 13 unit tests. 2. security-insights.yml CI-validate gate: the spec publishes CUE (not JSON Schema) and si-tooling v2 is a Go library, so the gate is 'cue vet -d #SecurityInsights' with cue v0.17.0 (sha256- pinned install) against a vendored, byte-identical copy of spec/schema.cue @ ossf/security-insights-spec v2.2.0 (.github/schemas/, sha256 in the workflow comment). Wired into verify-osps-conformance.yml. OBSERVED FIRING first (lesson 9): the real manifest failed vet — security.tools[].rulesets is REQUIRED — fixed honestly (osv-scanner.toml allowlist / dependabot.yml named as the customized rulesets) + last-updated bumped; now vets clean. 3. Demo-image pyyaml hash-pin (alert #180, precedent: the main Dockerfile's --require-hashes closure): committed docker/demo/requirements.txt with PyPI-sourced sha256 hashes (cp313 manylinux x86_64 + aarch64 + sdist); Dockerfile.demo installs with --require-hashes. Smoke-built locally against python:3.13-slim: build green, sh + 'collect okta' refusals still exit 2 per the run contract. 4. cflite-batch.yml timeout-minutes: 60 (PR #172 rationale: 1800s fuzz budget + build time fits well under 60; a wedged daily run must not burn the 6-hour default). zizmor + audit_workflow_permissions --strict clean across all touched workflows.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
allenfbyrd
enabled auto-merge
July 13, 2026 20:20
The strict workflow-tools gate (CI-only) flagged cue as missing -- it is installed by the prior checksum-verified curl step in the same job; the release.yml-precedent '# tool-check: ok' waiver annotation records that. Checker re-run locally: 0 findings.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
v0.11 hygiene H6 — four small deferred-queue items from the v0.10.17 close-out, each independently verified:
1. #18 — changelog-vs-commits ADVISORY diff
scripts/check_changelog_vs_commits.py, wired intoverify-changelog.yml(whose checkout gainsfetch-depth: 0for the tag baseline). At release-prep time (version bumped, not yet tagged) it lists commits since the last release tag whose(#NNN)PR ref the new CHANGELOG block never mentions — the shape of a shipped-but-undocumented change. Always exits 0: a curated block folds/omits deliberately, so entry-COMPLETE cannot be a hard gate without lying; the value is the visible checklist in the release-prep PR's CI log. Self-skips outside release-prep (verified live: v0.10.17 tagged → skip) and fail-softs on shallow clones. 13 unit tests.2. security-insights.yml CI-validate gate
The spec publishes CUE (not JSON Schema) and si-tooling v2 is a Go library, so the gate is
cue vet -d '#SecurityInsights'with cue v0.17.0 (sha256-pinned install) against a vendored, byte-identical copy ofspec/schema.cue@ ossf/security-insights-spec v2.2.0 (.github/schemas/, upstream sha256 in the workflow comment). Wired intoverify-osps-conformance.yml. Observed firing first (lesson 9): the real manifest failed vet —security.tools[].rulesetsis a required field — fixed honestly (the osv-scanner.toml allowlist / dependabot.yml named as the customized rulesets) +last-updatedbumped; now vets clean.3. Demo-image pyyaml hash-pin (alert #180)
Committed
docker/demo/requirements.txtwith PyPI-sourced sha256 hashes (cp313 manylinux x86_64 + aarch64 + sdist);Dockerfile.demoinstalls with--require-hashes(same mechanism as the main Dockerfile's pip-compile closure and the verify-osps requirements file). Smoke-built locally againstpython:3.13-slim: build green;shandcollect oktarefusals still exit 2 per the run contract.4. cflite-batch runtime cap
timeout-minutes: 60(PR #172 rationale): the 1800s fuzz budget + build time fits well under 60 — a wedged daily run must not burn the 6-hour default ceiling.Verification
13 + existing unit tests green · ruff clean · zizmor across all touched workflows: no findings ·
audit_workflow_permissions.py --strictPASS · full local gate suite green.