Skip to content

NatSpec: repository-relative Git Source links via fix-links.py - #328

Merged
Greaker merged 1 commit into
developmentfrom
feature/docs-natspec-source-links
Oct 27, 2026
Merged

Greaker merged 1 commit into
developmentfrom
feature/docs-natspec-source-links

Conversation

@Greaker

@Greaker Greaker commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Slice 4 of docs/plans/documentation-refresh/. The 30 committed NatSpec pages linked their sources to blob/<commit>/src/… on GitHub; the path lacked the contracts/ prefix and the commit is on no branch, so every link was a 404 (the link checker skips http links).
  • contracts/docs/natspec/fix-links.py now rewrites each Git Source link into a page-relative link to contracts/src/, and rewrites the homepage's relative links only when they do not already resolve, so a second run changes nothing. Applied to the committed pages: one line per page.
  • Foundry 1.8.6 (the Contracts CI pin) no longer emits mdBook Markdown; forge doc now writes a Vocs site scaffold. The committed mdBook pages stay the maintained reference: the natspec README, contracts/README.md, and its homepage copy no longer tell readers to run forge doc.
  • progress.md marks Phase 3 merged as Docs: drop removed behaviour; refresh diagrams and known issues #327 and records the Foundry change as a deviation.

Documentation and one standard-library Python script; no Solidity changes.

Test plan

  • python3 scripts/verification/check-markdown-links.py (now validates the 30 source links)
  • python3 scripts/verification/check-public-repo-hygiene.py
  • grep -r "blob/" contracts/docs/natspec/src/src returns nothing
  • A second python3 contracts/docs/natspec/fix-links.py run reports 0 changed files
  • Homepage rewrite on a fresh contracts/README.md copy reproduces the hand-fixed links

Slice 4 of the documentation refresh plan. The 30 committed NatSpec
pages linked their sources to blob/<commit>/src/... on GitHub: the path
lacked the contracts/ prefix and the commit is on no branch, so every
link was a 404, and the link checker skips http links.

fix-links.py now rewrites each Git Source link into a link relative to
the page, pointing at contracts/src/, and rewrites the homepage's
relative links (a copy of contracts/README.md) only when they do not
already resolve, so a second run changes nothing. It is applied to the
committed pages: one line per page.

Foundry 1.8.6 no longer emits mdBook Markdown; forge doc now writes a
Vocs site scaffold. The committed mdBook pages stay the maintained
reference, so the natspec README, contracts/README.md, and its homepage
copy no longer tell readers to run forge doc. progress.md marks Phase 3
merged as #327 and records the Foundry change.
@Greaker
Greaker merged commit ede9e49 into development Oct 27, 2026
7 checks passed
@Greaker
Greaker deleted the feature/docs-natspec-source-links branch October 27, 2026 12:50
Greaker added a commit that referenced this pull request Oct 27, 2026
Slice 5 of the documentation refresh plan.

THIRD_PARTY_LICENSES.md: snapshot dated October 27, 2026; a new
nginxinc/nginx-unprivileged row (BSD-2-Clause, NB UI runtime stage);
the Node.js row covers the NB UI build stage; the Blockscout application
row says it is built locally from pinned source tags, since upstream no
longer publishes release images. Every image pinned in common/ now maps
to a row.

CONTRIBUTING.md: the NB Bond API block uses the root-workspace npm ci
that CI uses, a new NB UI block mirrors its workflow, the Contracts block
adds check-verify-latest-mapping.sh, and a Repository Checks block lists
the verification scripts CI runs and when each applies.

README.md lists services/nb-ui/AGENTS.md, and the ADR 0001 index entry
says it is superseded by ADR 0003. progress.md marks Phase 4 merged as
#328.
Sign up for free to 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.

1 participant