Found while reviewing this pipeline against the new fleet hugo type (ptr727/ProjectTemplate#560), which asserts hugo.vendored.provenance.
What is there
themes/PaperMod is 125 tracked files, including the upstream repo's own .github/workflows/build-check.yml, committed wholesale in a single commit (b7c5590 Import blog.insanegenius.com as a Hugo site).
- No
.gitmodules; git submodule status is empty.
- No recorded upstream ref, tag, or commit anywhere.
themes/PaperMod/theme.toml carries name, license, and homepage only, no version.
- No Dependabot ecosystem covers it.
.github/dependabot.yml:3 states github-actions is the only ecosystem this repo ships, and :4 records the reason as "the theme is vendored rather than pulled by a manager".
The vendoring decision itself is stated in three places and is defensible. The gap is narrower than the decision: nothing records which upstream commit this is a copy of.
Why it matters
Without a recorded ref there is no way to answer "what changed upstream since we took this", "does this carry a fix we need", or "is our local modification still necessary". The fleet already requires a 40-hex SHA for every action and a committed state file for every upstream pin. A 125-file vendored tree with no recorded origin is the same hazard with a much larger surface.
This is not hypothetical here. TODO.md:86 records that PaperMod uses APIs Hugo deprecated in 0.158, so --panicOnWarning fails on the theme rather than on content, and two layouts/ overrides exist to keep that flag usable. Deciding whether those overrides can be dropped means diffing against a specific upstream revision, and there is currently nothing to diff against.
Two ways to close it
- Record the provenance. A committed record naming the upstream repository and the exact commit the copy was taken from, plus the local modifications and why. Satisfies the check, keeps the vendoring, cheapest.
- Convert to a submodule. Stronger: it pins by construction and brings Dependabot's
gitsubmodule ecosystem, so theme bumps become normal dual-targeted bot PRs the merge-bot auto-merges and CI validates. Costs a --recurse-submodules on every checkout in the pipeline, and the --panicOnWarning overrides still need their own home.
Option 1 is enough to clear the check. Option 2 is what actually keeps the theme current, and is worth considering given the deprecation situation above.
Recorded in the hub registry as a driftNote against hugo.vendored.provenance until it clears.
Found while reviewing this pipeline against the new fleet
hugotype (ptr727/ProjectTemplate#560), which assertshugo.vendored.provenance.What is there
themes/PaperModis 125 tracked files, including the upstream repo's own.github/workflows/build-check.yml, committed wholesale in a single commit (b7c5590 Import blog.insanegenius.com as a Hugo site)..gitmodules;git submodule statusis empty.themes/PaperMod/theme.tomlcarriesname,license, andhomepageonly, no version..github/dependabot.yml:3statesgithub-actionsis the only ecosystem this repo ships, and:4records the reason as "the theme is vendored rather than pulled by a manager".The vendoring decision itself is stated in three places and is defensible. The gap is narrower than the decision: nothing records which upstream commit this is a copy of.
Why it matters
Without a recorded ref there is no way to answer "what changed upstream since we took this", "does this carry a fix we need", or "is our local modification still necessary". The fleet already requires a 40-hex SHA for every action and a committed state file for every upstream pin. A 125-file vendored tree with no recorded origin is the same hazard with a much larger surface.
This is not hypothetical here.
TODO.md:86records that PaperMod uses APIs Hugo deprecated in 0.158, so--panicOnWarningfails on the theme rather than on content, and twolayouts/overrides exist to keep that flag usable. Deciding whether those overrides can be dropped means diffing against a specific upstream revision, and there is currently nothing to diff against.Two ways to close it
gitsubmoduleecosystem, so theme bumps become normal dual-targeted bot PRs the merge-bot auto-merges and CI validates. Costs a--recurse-submoduleson every checkout in the pipeline, and the--panicOnWarningoverrides still need their own home.Option 1 is enough to clear the check. Option 2 is what actually keeps the theme current, and is worth considering given the deprecation situation above.
Recorded in the hub registry as a driftNote against
hugo.vendored.provenanceuntil it clears.