Skip to content

Carry the Host Tool Declaration, and Declare Hugo In It - #91

Merged
ptr727 merged 1 commit into
developfrom
carry-the-host-tool-declaration
Aug 10, 2026
Merged

Carry the Host Tool Declaration, and Declare Hugo In It#91
ptr727 merged 1 commit into
developfrom
carry-the-host-tool-declaration

Conversation

@ptr727

Copy link
Copy Markdown
Owner

Step 3 of the resync. Follows #89 (instruction set) and #90 (the configure.sh retirement).

Not the empty stub

host-tools.json is a carried baseline file the hub added, so every repository owes one, and a repository with nothing to add carries a stub with an empty tools list. This repository is not that case, and I checked rather than defaulting.

Hugo is the site generator and this repo's whole output, and AUDIT.md section 3 runs it locally to prove the URL contract. So a host auditing this repository needs it, not only the CI runner. The fleet declaration does not carry it.

The floor, and what it cannot do

0.164.0, a target floor anchored to the version .github/actions/install-hugo pins. That action states the reason itself: "a minor bump can change rendered output" and "the site is reproducible only if the generator is".

The entry is explicit about the limit rather than implying more: a floor is a minimum and the pin is exact, so a host above 0.164.0 passes this check and can still build output CI would not. The checksum-verified install in that action is what guarantees reproducibility; this entry catches only the too-old half. The vendored PaperMod theme's own 0.146.0 minimum is recorded as the lower measured boundary, and the extended build requirement is noted as not expressible as a version.

Only Hugo is declared. The deploy reaches rsync and ssh, the live check reaches curl, but all three run on the CI runner or the VPS rather than on a maintainer's host, so declaring them would fail a host that never needed them.

No $schema pointer: the schemas are hub-only and a relative pointer would resolve to a path this repo does not have. The carried spec/secrets.json already omits its own for the same reason.

A miss from #90's sweep, corrected here

The Repository Layout bullet still described repo-config/ as holding "the apply script" — deleted in #90.

That sweep grepped for the path, and this bullet describes the file without naming it, so the grep structurally could not find it. Worth knowing generally: a path grep finds uses of a file and misses descriptions of it. Repository Layout is intent fidelity, so it is this repo's to edit.

Verification

The hub's gate, run from a hub checkout against this repo:

[ok ] host-tools 0 issue(s) over 8 declared tool(s)
note: /home/pieter/Blog/host-tools.json layered 1 local entry(s) over the hub declaration
note: hugo 0.164.0 meets the 0.164.0 floor

Tighten-only verified in both directions, not just the passing one: raising a floor is honoured, and a deliberate relaxation is refused with local tool jq tried to lower the floor from 1.7 to '1.0', which is a relaxation, so the hub floor stands.

All 18 verbatim GOVERNANCE.md sections re-checked by content hash after the Repository Layout edit: still matching. prose_lint, repo_gate --check eol, markdownlint-cli2, editorconfig-checker clean.

Remaining

README structure: a retired section name, unsorted link groups, and four 3rd Party Tools description mismatches.

🤖 Generated with Claude Code

host-tools.json is a carried baseline file the hub added, so every repository owes
one. This is not the empty stub, because this repository genuinely needs a tool the
fleet declaration does not carry.
Hugo is the site generator and this repository's whole output, and AUDIT.md section
3 runs it locally to prove the URL contract, so a host auditing this repository
needs it rather than only the CI runner. The floor is 0.164.0, a target anchored to
the version .github/actions/install-hugo pins, since that action states a minor bump
can change rendered output. The entry is honest that a floor cannot enforce a pin: a
floor is a minimum and the pin is exact, so a newer Hugo passes here and can still
build output CI would not, and the checksum-verified install is what guarantees
reproducibility. The vendored theme's own 0.146.0 minimum is recorded as the lower
measured boundary.
Only Hugo is declared. The deploy reaches rsync and ssh and the live check reaches
curl, but all three run on the CI runner or the VPS rather than on a maintainer's
host, so declaring them would fail a host that never needed them.
The file carries no $schema pointer, because the schemas are hub-only and a relative
pointer would resolve to a path this repository does not have. The carried
spec/secrets.json already omits its own for the same reason.
One correction the previous pull request's sweep missed: the Repository Layout
bullet still described repo-config/ as holding "the apply script", which was deleted
there. That sweep grepped for the path, and a bullet describing the file without
naming it cannot be found that way.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
CopilotAI lite review requested due to automatic review settings August 10, 2026 22:40

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds this repository’s local host tool declaration and documents it in the repository layout so hosts running the hub’s audit/gate tooling can validate they have an adequate Hugo version available.

Changes:

  • Add host-tools.json declaring Hugo (minimum 0.164.0) as a required host tool for local URL-contract auditing.
  • Update GOVERNANCE.md “Repository Layout” to reflect the removal of the old apply-script reference and to document host-tools.json.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

FileDescription
host-tools.jsonIntroduces the repo-local host tool overlay, requiring Hugo at a minimum version aligned with the CI-pinned installer.
GOVERNANCE.mdUpdates the repository layout bullets to remove the outdated “apply script” wording and to add host-tools.json.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ptr727
ptr727 merged commit 8a7b724 into developAug 10, 2026
5 checks passed
@ptr727
ptr727 deleted the carry-the-host-tool-declaration branch August 10, 2026 22:43
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ptr727