You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Decide Whether checks/ and scripts/ Converge on the Hub's One Tooling Directory #538
Blog keeps its Python tooling in two directories: checks/ holds the gates and the browser trial, and scripts/ holds the media and text utilities. Both are declared in the validator's python-directories input. The hub keeps all of its tooling in one scripts/ directory, with its tests in tests/. Decide whether Blog converges on the hub's layout or keeps the split, and record why.
The file-name rule in the hub's CODESTYLE.md, "Script and Utility File Names", puts directories out of scope, so no carried rule settles this. The maintainer asked that the decision rest on conformance, or on divergence with a stated reason, and that "it is different today" not count as a reason.
Inputs to the decision
What a merge touches.deploy/make-release.sh, the workflows and their python-directories input, .vscode/tasks.json, the CI validate hook, OPERATIONS.md, deploy/README.md, checks/README.md, and every cross-directory load, such as a scripts/ utility loading a checks/ gate.
What the split holds apart.checks/ is standard library only, and scripts/ installs Pillow and pytest from its requirements.txt. These are the two Python profiles, lint-only and build, so a merge also has to settle which profile the merged directory takes.
The hub's view. The hub session on this machine was asked for its opinion on conformance against divergence, and its answer is recorded here as a comment.
Done
A comment here records the decision and its reason. Where it converges, the move lands as its own pull request, and the decision is then closed.
The hub session's view, read from hub main at 1b5b6772: keep the split. A Python profile belongs to a declared directory, and the trait that decides it is whether the Python has third-party runtime dependencies or is the deliverable. checks/ is standard library only, so it is lint-only. scripts/ imports Pillow at runtime, so it is build. A split by profile is a legitimate shape. A split by purpose alone, such as two stdlib-only directories, would not be. Purpose is carried by the file name instead, with the _gate or _lint suffix.
A merged directory would have to take the build profile, which puts every stdlib gate behind the Pillow install. That cost is the argument against merging, and it is a reason rather than "it is different today".
Decided by the maintainer on 2026-10-26: keep checks/ and scripts/. The two differ by Python profile, stdlib-only lint-only against a Pillow build, which is the trait the hub uses to define a profile, and merging them would make every stdlib gate wait on the Pillow install. ptr727/ProjectTemplate#3492 tracks the hub stating this rule.
Activity
ptr727 commentedon Oct 26, 2026
The hub session's view, read from hub main at 1b5b6772: keep the split. A Python profile belongs to a declared directory, and the trait that decides it is whether the Python has third-party runtime dependencies or is the deliverable.
checks/is standard library only, so it is lint-only.scripts/imports Pillow at runtime, so it is build. A split by profile is a legitimate shape. A split by purpose alone, such as two stdlib-only directories, would not be. Purpose is carried by the file name instead, with the_gateor_lintsuffix.A merged directory would have to take the build profile, which puts every stdlib gate behind the Pillow install. That cost is the argument against merging, and it is a reason rather than "it is different today".
The hub's text does not state this yet, which is filed as ptr727/ProjectTemplate#3492.
Recommendation: keep
checks/andscripts/, and close this issue on that reason once the maintainer agrees.ptr727 commentedon Oct 26, 2026
Decided by the maintainer on 2026-10-26: keep
checks/andscripts/. The two differ by Python profile, stdlib-only lint-only against a Pillow build, which is the trait the hub uses to define a profile, and merging them would make every stdlib gate wait on the Pillow install. ptr727/ProjectTemplate#3492 tracks the hub stating this rule.