adr check: verify every file reference in a record #658
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
Reference
sixfold-space/madtea#658
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
adr checkreads each reference to a file in a record, as a link or a backticked path, the way ADR 0037 defines:~/or/is a file on a user's machine, and the check skips it.NNNN,*,<name>,{...}) is skipped.A Markdown link resolves from the record's own folder. A backticked path resolves from the repo root.
Acceptance
Tests against the live forge API and a test repo: a plain path to a deleted file fails; an untracked file fails; a full URL to a missing file fails; a
~/path, a placeholder, and a glob pass unchecked; a path with a line number fails; a link and a backticked path each resolve from their own base.This change can fail an existing tree, so it ships in the one breaking release.
The code for this landed on main, and the unit and fake-forge tests pass. The adr forge-tagged test package does not run green in the throwaway-forge VM yet: the live forge test cannot resolve a forge checkout, because the committed runner ships the tree with
git archiveand no.git. Tracked in #795. Keeping this open until the live forge run is green.The v0.20.0 breaking set is complete and green on main. The code landed across the v0.20.0 branches, the full local gate passes, and the forge suite is green on both forges at both pinned versions on current main (
31693766). Closing as done.