You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Found while dogfooding (triaging agent reports + marking artifacts implemented on rivet's own repo, 0.14.0-track). Same friction class an agent independently reported in #350 (37+ INFO: field 'crate' is not defined drowning the actionable errors).
The friction
rivet validate on rivet's own repo currently prints ~158 warnings for 0 errors. The vast majority are low-signal:
WARN: [X] Every requirement should be satisfied by at least one design decision or feature — lifecycle aspiration, fires on nearly every draft/roadmap REQ.
WARN: [X] prose mentions 'REQ-124' but no typed link to it — fires whenever a REQ description references another REQ id narratively (e.g. "addressed by REQ-124/REQ-125"), which is legitimate prose, not a missing dependency.
per-rule lifecycle-coverage gaps.
When there IS an actionable error (a broken link, a real cardinality violation), it scrolls past in the wall of warnings. There's no easy way to say "show me only what I must act on."
Why it matters
For an AI agent or a human doing mark-implemented / bring-to-green work, the cost is real: you can't tell at a glance whether validate is clean-modulo-aspirations or genuinely broken. It also trains people to ignore validate output — the opposite of what a gate should do.
Suggestions (smallest first)
rivet validate --severity error (and --min-severity warn) — filter output to a floor. Quickest win.
A summary line that separates signal from aspiration: e.g. 0 errors · 12 actionable warnings · 146 advisory (lifecycle/prose), with advisory collapsed by default.
Make prose-mention-without-typed-link smarter or opt-in: a REQ description that mentions another REQ id narratively shouldn't warn unless the mention looks like an intended dependency. At minimum let it be disabled per-rule.
I read the full rivet validate output and visually filtered for ERROR: — a --severity error flag would have replaced that. Counting warnings by rule (rivet validate | grep WARN | sed ... | sort | uniq -c) revealed that 2 rules produce the bulk of the noise; a built-in validate --by-rule summary would surface that directly.
Environment: rivet 0.14.0-track (089ec6f), rivet's own repo (dev schema).
Context
Found while dogfooding (triaging agent reports + marking artifacts implemented on rivet's own repo, 0.14.0-track). Same friction class an agent independently reported in #350 (37+
INFO: field 'crate' is not defineddrowning the actionable errors).The friction
rivet validateon rivet's own repo currently prints ~158 warnings for 0 errors. The vast majority are low-signal:WARN: [X] Every requirement should be satisfied by at least one design decision or feature— lifecycle aspiration, fires on nearly every draft/roadmap REQ.WARN: [X] prose mentions 'REQ-124' but no typed link to it— fires whenever a REQ description references another REQ id narratively (e.g. "addressed by REQ-124/REQ-125"), which is legitimate prose, not a missing dependency.When there IS an actionable error (a broken link, a real cardinality violation), it scrolls past in the wall of warnings. There's no easy way to say "show me only what I must act on."
Why it matters
For an AI agent or a human doing
mark-implemented/bring-to-greenwork, the cost is real: you can't tell at a glance whether validate is clean-modulo-aspirations or genuinely broken. It also trains people to ignore validate output — the opposite of what a gate should do.Suggestions (smallest first)
rivet validate --severity error(and--min-severity warn) — filter output to a floor. Quickest win.0 errors · 12 actionable warnings · 146 advisory (lifecycle/prose), with advisory collapsed by default.prose-mention-without-typed-linksmarter or opt-in: a REQ description that mentions another REQ id narratively shouldn't warn unless the mention looks like an intended dependency. At minimum let it be disabled per-rule.unknown-fieldnoise from Marking a sw-req 'implemented' + verified requires the full ASPICE design chain — no direct test→sw-req link, and the completeness error doesn't guide you there #350 (REQ-134) and these advisory warnings share a root cause — validate has no notion of "advisory vs actionable" tiers below error/warning/info.What I used / what would have helped
I read the full
rivet validateoutput and visually filtered forERROR:— a--severity errorflag would have replaced that. Counting warnings by rule (rivet validate | grep WARN | sed ... | sort | uniq -c) revealed that 2 rules produce the bulk of the noise; a built-invalidate --by-rulesummary would surface that directly.Environment: rivet 0.14.0-track (
089ec6f), rivet's own repo (dev schema).