Repository navigation
Conversation
Classify every deterministic assertion by the AGENTS.md "Checks" classes and remove the ones that protect no package, host, security, or release contract: - Delete tests/test_package.py: each test re-ran a validator that check.py already runs on the real tree, or pinned layout and wording. The discovery-matrix polarity check moves to test_evals_corpus.py. - Delete tests/test_host_pilot_capture.py (tests a one-off receipt driver) and the unreferenced synthetic receipt capture-synthetic-pilot.json. - In test_checks.py drop duplicates of the real-tree run, argv and call-order pins, source-reading and tautological tests, the bytecode and durations tests of the repo's own tooling, and redundant parameters. - In test_hosts.py drop argparse, header-sentence, and diff-formatting pins. - Replace the per-job release workflow pins with one rule: no job holding a write permission checks out or runs repository or dependency code. Keep SHA pinning, per-job permissions, read-only CI, the exact-ref site repair, and the tag-matches-VERSION-and-sits-on-main release guard. - Trim the corpus roster assertions that pinned spec section counts. - Demote site titles, descriptions, language, JSON-LD content, and the repository link to lint, as decision row 38 already says, and drop the .nojekyll requirement that an Actions Pages deploy does not use. - Correct the evidence.md hook line and the decisions.md row 38 citation. Full check: 426 tests in 44.2 s before, 345 in 17.1 s after. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
Summary
This audit covers the contributor side:
scripts/,tests/,evals/,docs/evidence.mdanddocs/decisions.md. Every deterministic assertion was sorted into an AGENTS.md "Checks" class: a contract (fails the run), lint (non-blocking), or shape (deleted). The yardstick was the 7.0.0 kernel Engineering standard andreferences/testing.md: name the production change that would make a test fail.This PR changes only tests, scripts and docs.
plugins/skiphow/is untouched, so VERSION stays where it is (PATCH, same as #151 and #152).python scripts/check.pytests/*.pylinesscripts/*.pylinesDelete
tests/test_package.py, the whole file. Each test either re-ran a validator thatcheck.py offline_checks()already runs on the real tree (plugin static, version, marketplaces, site, links, portability), or pinned shape: the dogfood symlink, release-not-in-README, marketing-description parity, and a hook test that returns early. The one unique check, that the skill-discovery matrix keeps both positive and negative cases, moved totest_evals_corpus.py.tests/test_host_pilot_capture.py. It tests the one-off driver of a finished receipt. The driver stays as part of the receipt record.evals/receipts/capture-synthetic-pilot.json. It is synthetic and nothing references it.tests/test_checks.py, 28 tests:git diff --checktriple,git ls-filesflags, version-delta call list);venvimport);tests/test_checks.py, parameters. Manifest-component cases went from 15 to 3: the validator is an allowlist with two error paths, and these three cases cover both. Kernel-link cases went from 9 to 4, and accepted-link cases from 2 to 1.tests/test_hosts.py, 6 tests. They pinned argparse behavior, the matrix header sentence, and diff-message formatting.tests/test_workflows.py, 7 per-job pins. They are replaced by one general rule: no job holding anywritepermission checks out code, sets up Python, or runs install, python or scripts. The SHA pin, per-job permissions and read-only CI tests are kept. So are the exact-SHA guard on the manual site repair and the release guard that the tag matches VERSION and sits on main.tests/test_activation.py, 1 test. It checked the helper's file mode.tests/test_evals_corpus.py. Removed the roster assertions that pinned spec section numbers and the journey count of 3. Kept the check that some case can tell activation from its absence.Demote to lint (
scripts/check.py validate_site)lang, nonempty and unique titles and descriptions, JSON-LD content (@type, url, description, parse), and the repository link. Decision row 38 already says presentation is lint or unchecked, so these blocking checks contradicted a live decision.site/.nojekyllrequirement is gone. Both deploy paths useupload-pages-artifact/deploy-pages, so no Jekyll build runs. The file itself stays.og:url, no client runtime, local link resolution, the sitemap, the robots.txt rule, and the evidence-scope binding.Keep (and the contract each protects)
tests/test_contract.pysecurity pins: the security boundary. Untouched.plugins/skiphow/cannot change without a VERSION bump.Docs
decisions.mdrow 38 cited a "Spec 11" that no longer exists. It now cites the AGENTS.md assertion classes and records the demotion.evidence.mdsaid "the absence of an executable package hook". It now says the safety shape of any shipped hook, which is what the check does.CONTRIBUTING.md: the sample focused-test target pointed at the deleted file. It now points attests/test_contract.py.Owner decisions (deferred, not done)
claim_eligibility.py,grade_catalog.pyand their tests (about 2,000 lines) be frozen as the 4.1/4.2 ledger, or kept as a script with about 10 tests?capture_evalprepare/capture/main lifecycle be retired?check_hosts.pyinstall/smoke path become a slim install on the release path, or should the staticUNVERIFIEDrows be accepted? Its remaining tests are tied to this answer.check.py(about 350 lines);runtime_portability_scan.evals/README.md(about 330 lines, some with unique operator instructions) and thespec_refsdata incases.json, which point at a missing spec, be cleaned up?cto-small-known-bugrequires a new focused regression check, while the 7.0.0 casebug-covered-by-existing-check-no-new-guardand the kernel rule say not to add one. Which wins?stewardship-read-only-operational-coststill cites the removedoperations.md. Should it be updated or dropped?host-validation-420-20260906.Verification
python scripts/check.pypassed on this candidate: 345 passed, 17.1 s.tests/test_workflows.pywas rerun alone after its last edit, and nothing else changed. 6 passed.git diff --checkis clean.check_hosts.pywas not run because package layout, manifests and installation are unchanged. Host rows stayUNVERIFIED.🤖 Generated with Claude Code