Stop reading a coverage calculation as a diagnostics subsystem
NFR-OPS-1 asks for structured levelled logging to a rotating, size-capped on-disk log in the XDG state or Android app directory, automatic redaction of credentials and tokens, and a one-click diagnostics bundle with an explicit preview-and-consent step. Its two tags were on `compute_coverage` and on the traceability tool's gesture extractor. Neither is diagnostics under any reading. One computes a ratio and the other generates a markdown document; neither writes a log, and no rotating on-disk log exists anywhere in the tree — logging goes to stderr and to logcat. These were real tags, not the fixtures the extractor was just taught to ignore, which makes them the more instructive case: the tool was correct and the tags were wrong. NFR-OPS-1 is untagged again, and outstanding.md §9 now says what is actually missing rather than that the requirement is covered. `gestures.rs` keeps its FR-UI-4 tag, which is a separate claim and unaffected. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+7
-3
@@ -326,9 +326,13 @@ because a fixture demonstrating tag extraction was indistinguishable from a tag.
|
||||
asks where the tag sits — a tag is the first word of a comment, not a string appearing anywhere on a
|
||||
line — and R1 is untagged again, which is the honest reading while it has no acceptance criterion to
|
||||
tag anything against.
|
||||
NFR-OPS-1 is covered the same way, from a tag on `compute_coverage` — and no rotating, size-capped
|
||||
on-disk log exists; logging goes to stderr and logcat. These are two of the cases
|
||||
[CONTRIBUTING.md](../CONTRIBUTING.md) already warns about, now named.
|
||||
NFR-OPS-1 was covered by tags that were real rather than fixtures, which is the worse case of the
|
||||
two: one on `compute_coverage` and one on the gesture extractor, both on the traceability tool. A
|
||||
coverage calculation and a documentation generator are not diagnostics under any reading, and the
|
||||
requirement asks for a rotating, size-capped on-disk log in the XDG state directory, credential
|
||||
redaction, and a consented diagnostics bundle. None of that exists — logging goes to stderr and
|
||||
logcat — so both tags have been removed and NFR-OPS-1 is untagged. It is the case
|
||||
[CONTRIBUTING.md](../CONTRIBUTING.md) warns about in its own words: a tag proves a tag exists.
|
||||
|
||||
**R2 — Efficient display of huge RAW libraries.** Its acceptance criterion contains "*(figure
|
||||
TBD)*" — the scroll velocity below which no cell may render as a placeholder — and asks for a stated
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//! TRACES: FR-UI-4 | NFR-OPS-1
|
||||
//! TRACES: FR-UI-4
|
||||
//! Interaction documentation, extracted from the code that implements it.
|
||||
//!
|
||||
//! # Why this exists at all
|
||||
|
||||
@@ -306,7 +306,6 @@ fn trim_body(line: &str) -> String {
|
||||
///
|
||||
/// This signature is the fix for the 158% bug: `defined` is required, so there
|
||||
/// is nowhere for a frozen denominator to hide.
|
||||
/// TRACES: NFR-OPS-1
|
||||
pub fn compute_coverage(traced: &BTreeSet<String>, defined: &DefinedRequirements) -> Coverage {
|
||||
let traced_reqs: BTreeSet<&String> = traced.iter().filter(|id| is_requirement(id)).collect();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user