The comment
- Ask did autolink still report 0 errors
- Stamp Implements: STK-REQ-001 on a SYS-REQ-only tree; the scanner dropped the token
- Why an unconfigured prefix used to match nothing and warn nothing
Topic · autolink clean
Gist
Autolink clean is a scan that produced zero errors, not a complete trace. A comment that names an unconfigured prefix used to vanish. Proof runs proof audit --check autolink_clean. A matrix export is not that hop. Jama still authors.
proof audit --check autolink_clean
Keep Jama if it already holds the shalls. Keep the RTM if it already lists links. Neither one fails the merge when autolink still reports a dangling id, a malformed comment, or a prefix the project never registered.
01 · The silent drop
You can stamp // Implements: all week. If the prefix is not in project.specs[].prefix, autolink used to match nothing and report nothing. The matrix then looks empty-clean.
The check is autolink_clean. It is implement-stage. Severity of a hygiene miss is warning, not fail. It asks autolink to scan real artifacts and refresh source-backed trace state. It does not rewrite authored requirement YAML. A helper error fails the hop. A non-empty Errors list warns, with a count; --verbose prints the rest after the first three.
A hit is a scan error the autolink channel already renders: an annotation that names a missing requirement, a malformed trace comment, a file type the scanner should not have opened, or a requirement-id-shaped token whose prefix the project never registered. The last one used to be silent. An operator who wrote // Implements: STK-REQ-001 in a tree that only registered SYS-REQ saw zero matches and zero warnings. The hop now surfaces that token on the same Errors channel.
// pkg/cache/ttl.go
// Implements: STK-REQ-001
func ttlExpired(deadline uint32, now uint32) bool {
return now >= deadline
}
# proof audit --check autolink_clean
# [IMPLEMENTATION] autolink_clean -- 1 autolink errors
# [autolink] STK-REQ-001 at pkg/cache/ttl.go:2 has unrecognized prefix "STK-REQ"
# silent drop: the comment shipped. no configured prefix owns it
Zero errors is process health. A tree with no annotations also reports 0 autolink errors and passes. Completeness of Implements: / Verifies: stays on
orphan code
and
orphan tests.
Do not treat a green autolink stamp as a reviewed graph.
Fix the named file. Add the prefix to proof.yaml, or rename the id to a configured prefix. Then re-run. Do not mint a Jama note to carry the skip.
proof audit --check autolink_clean
proof trace autolink
proof trace autolink-code --dry-run
proof audit --scope baseline --verbose
02 · The exhibit
One Implements line. Prefix STK-REQ. Project registered only SYS-REQ. Click the tabs.
The comment
This hop
Nobody asked whether the prefix was in proof.yaml. A green 0 autolink errors is not a reviewed graph. The finding kind is this hop.
Prefix unreadThe comment
Keep the source file. Keep the Jama shall. That is not this hop.
Keep the recordProof
Same comment. A silent drop, or this hop. Click the tabs.
| Surface | What they do | What Proof does | What we lose |
|---|---|---|---|
| Traceability matrix | A table of requirement, code, test. | Whether the scan that would fill that table still ran without errors. | Not the matrix hop. See requirements traceability matrix. |
| Orphan code | A production function with no Implements line. | A comment the scanner cannot own, or a scan that crashed. | Zero annotations still pass this hop. Completeness stays on orphan code. |
| Orphan tests | A Test* with no Verifies line. | Process health of autolink, not missing Verifies. | Not the test hop. See orphan tests. |
| ReqIF / DOORS export | A file of links you already typed. | Links derived from source comments, without rewriting YAML. | We do not author the shall. We have not scored this floor against a frozen ReqIF pack. |
| Jama cell | A shall, and a note if you type it. | A warning the audit can name next to the file. | Not Jama's V&V. Jama still authors. We have not run a frozen Jama pack. |
The teaching graph is still one Implements line whose prefix the project never registered, and a board that called autolink done because the count was zero. Close it by adding the prefix, or by renaming the id. Do not treat a Jama note as this hop. Do not treat 0 autolink errors as a complete graph.
# proof.yaml
project:
specs:
- prefix: SYS-REQ
- prefix: STK-REQ
# proof audit --check autolink_clean
# [IMPLEMENTATION] autolink_clean -- 0 autolink errors
The completeness hop stays on orphan code. The matrix hop stays on requirements traceability matrix. Jama still authors. Proof vs Jama.
03 · The honest loss
A quiet proof audit --check autolink_clean can still mean an empty tree. Jama still authors.
Warning, not fail. Promote once the corpus is clean. Zero annotations is 0 autolink errors and a pass. The hop does not ask whether every function has an Implements line. It does not rewrite authored YAML. It does not write the annotation. Details cap at three unless --verbose. A missing Probe binary fails the helper instead of warning, and downstream documentation coverage then reads stale state. The hop does not prove the Go. Copied comments that already use a configured prefix still pass. We have not scored this floor against a frozen Jama pack or a ReqIF round-trip. The loss is named, not scored.
The completeness hop stays on orphan code. The engagement stays on software correctness audit. Jama still authors.
04 · Nearby questions
What is autolink clean? Same question. Same URL.
Is this a requirements traceability matrix? No. That hop rebuilds requirement, code, test. This hop asks whether the scan that would fill that table still ran without errors. See requirements traceability matrix.
Is this orphan code? No. That hop is a production function with no live Implements line. This hop is process health of autolink. Zero annotations still pass here. See orphan code.
Is this orphan tests? No. That hop is a Test* with no live Verifies line. See orphan tests.
Does 0 autolink errors mean every function is traced? No. It means the scan produced no errors. An empty tree also reports zero.
Does a green hop prove the Go? No. The hop observes scan errors. It does not prove the function is correct.
Is Proof a Jama alternative for the shall? No. Jama still authors. Proof vs Jama.