Repository navigation
Conversation
* Load the Search Page Only on a Run Over the Default List A run given another list with --urls, such as the family site's pages, no longer adds /search/, so it passes on its own pages. A list that wants the search page names it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Say in --help That Another List Names the Search Page Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Refuse a URL List That Names No Page Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Load Every Hyphenated Sibling Check From One Shared Helper checks/sibling.py holds the one loader. The three helper copies in check-csp.py, fuzz-media-parsers.py, and test_check_media_metadata.py, and the four inline copies at the top of the other check tests, now call it by name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Say Which Scripts Cannot Import the Sibling Loader Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Rename Every Python File to the Fleet's snake_case Names A hyphenated module cannot be named in an import, which is why the tooling needed a by-path loader at all. Every .py under checks/, scripts/, and capture/ now takes a snake_case name, and a gate takes the _gate suffix, so siblings import by name and checks/sibling.py goes. A test puts its directory on sys.path and imports the module, the way the hub's tests do, so running a test file directly works again. Each directory's mypy config ignores the one module it imports from the other declared directory. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Give the checks/ mypy Override Its Real Reason Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #541 +/- ##
==========================================
+ Coverage 53.24% 54.07% +0.82%
==========================================
Files 12 12
Lines 3418 3390 -28
==========================================
+ Hits 1820 1833 +13
+ Misses 1598 1557 -41
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
🟡 Changes recommended
The URL parity gate mishandles srcset candidates, and multiple path-bootstrap imports fail the configured Ruff E402 checks.
2 open issues
What changed in this PR
This pull request promotes the browser CSP URL-list behavior and repository-wide Python filename migration from develop to main, updating imports, tests, workflows, release tooling, and documentation.
Changes:
- Makes
/search/conditional on the selected browser-check URL list and rejects empty custom lists. - Renames Python gates, scripts, capture tools, and tests to snake_case with updated imports.
- Updates validation workflows, release commands, editor tasks, configuration, and documentation.
| File | Description |
|---|---|
themes/README.md |
Updates the CSP gate reference. |
sites/viljoen.family/README.md |
Updates the media metadata gate reference. |
scripts/tests/test_redact_media.py |
Imports the renamed redaction script. |
scripts/tests/test_normalize_text.py |
Imports the renamed text normalizer. |
scripts/redact_media.py |
Updates renamed script and gate imports. |
scripts/pyproject.toml |
Configures cross-directory mypy overrides. |
scripts/normalize_text.py |
Adds the snake_case text normalizer. |
scripts/normalize_media.py |
Updates the media gate import and documentation. |
README.md |
Updates gate, normalizer, and verification references. |
OPERATIONS.md |
Updates operational commands and browser-list behavior. |
GOVERNANCE.md |
Updates the archive normalizer reference. |
ENVIRONMENT.md |
Updates environment and capture-tool references. |
deploy/README.md |
Updates deployment tooling and gate references. |
deploy/make-release.sh |
Runs the renamed release gates. |
CONTENT.md |
Updates content verification references. |
checks/url_parity_gate.py |
Adds the snake_case URL parity gate. |
checks/text_pii_gate.py |
Adds the snake_case personal-data gate. |
checks/tests/test_text_pii_gate.py |
Imports the renamed text gate. |
checks/tests/test_media_metadata_gate.py |
Updates renamed media-tool imports. |
checks/tests/test_github_env_gate.py |
Imports the renamed GitHub environment gate. |
checks/tests/test_csp_gate.py |
Imports the renamed CSP gate. |
checks/tests/test_csp_browser_gate.py |
Tests custom URL-list behavior and empty-list validation. |
checks/README.md |
Updates the gate inventory and references. |
checks/pyproject.toml |
Configures cross-directory imports for mypy. |
checks/media_redactions_gate.py |
Updates the normalizer reference. |
checks/media_parser_fuzz_gate.py |
Uses renamed media modules. |
checks/media_metadata_gate.py |
Updates normalizer references. |
checks/github_env_gate.py |
Adds the renamed GitHub environment gate. |
checks/env_docs_gate.py |
Adds the renamed environment documentation gate. |
checks/csp_gate.py |
Imports URL-origin logic from the renamed parity gate. |
checks/csp_browser_gate.py |
Implements per-list search-page behavior and empty-list errors. |
capture/run-wp2hugo.sh |
Calls the renamed redirect generator. |
capture/restructure_content.py |
Updates redirect-generator references. |
capture/README.md |
Updates capture-tool names and commands. |
capture/localize_external.py |
Updates redirect-generator references. |
capture/enumerate_media.py |
Adds the snake_case media enumerator. |
capture/clean_content.py |
Updates capture-tool references. |
capture/build_redirects.py |
Adds the snake_case redirect generator. |
capture/build_golden.py |
Adds the snake_case golden-list generator. |
AUDIT.md |
Updates audit commands for renamed gates. |
.vscode/tasks.json |
Updates editor task commands. |
.secrets/example.env |
Updates gate and capture-tool references. |
.github/actions/validate/action.yml |
Runs the renamed validation gates. |
.editorconfig |
Updates the redirect-map generator reference. |
Review effort: Lite

Summary
This promotes
developtomain:/search/only on a run over the default list. A run given another list with--urls, such as the family site's pages, loads only that list's pages, and a list naming no page is a usage error._gatesuffix, sochecks/check-csp.pybecomeschecks/csp_gate.py. Every reference in the workflows,deploy/make-release.sh, the VS Code tasks, and the docs follows.Nothing the server sends changes. The pages, the headers, and the Caddyfile are the same, so a release is enough and no deploy is owed.
deploy/make-release.shwas run against the local staging mirror from develop at 9bd721a. Both build gates passed under their new names, and the live URL check passed 1296 URLs.Closes #532
Closes #535
🤖 Generated with Claude Code