parity: enforce ADR 0023 with an analyzer, so no shipped string carries an internal code or reference #516
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
#518 Epic: accepted decisions are enforced by checks, not only recorded
sixfold-space/madtea
Reference
sixfold-space/madtea#516
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 happens
ADR 0023 says every shipped string states its rule in plain language, and never names ADR numbers, internal issue or PR numbers, or other internal references. v0.19.0 shipped
adr checkoutput such asdocs/decisions/x.md: C7: number 0002 is also used by 0002-b.md, and help text that lists "the MADR rules C1 to C11 and T1". The codes came from a build spec, and no check stopped them.Ask
go/analysisanalyzer, the frameworkgo vetuses, that walks the string literals in non-test code underinternal/andcmd/and reports:ADR 0013,ADR-0013) outside records and docs,#1964),C7,T1),with an explicit allow list for real, reader-visible IDs (version strings,
ADR-NNNNas a MADR status value, vulnerability IDs).scripts/gate.shlike the other analyzers.Acceptance
"C7: bad"fails the gate.adr checkcodes.Related: #492.