docs(artifacts): file REQ-125..128 — gbrain-derived deterministic-armor backlog#346
Merged
Conversation
A source-level study of garrytan/gbrain (not its README) surfaced four
ideas worth adopting — chosen because they are the *defensive disciplines*
gbrain grew to guard a fuzzy core, which are domain-portable while the fuzz
is not. rivet's core is already deterministic, so the armor is pure upside.
- REQ-125 validate/coverage --explain: pure formatter replaying the rule
chain validate::Diagnostic + coverage already compute — makes the
oracle's reasoning legible (CI-as-curriculum, agent-friendly).
- REQ-126 baseline-snapshot drift gate, with rebaselining gated as a
trailer-carrying reviewed act so the baseline can't launder drift
(the green-because-unobserved trap).
- REQ-127 MCP fail-closed invariant. AUDITED 2026-05-30: no MCP tool param
can override schema/externals today (fail-closed by omission);
this LOCKS it as an explicit, tested invariant. Hardening, not a
live fix. Reinforces REQ-051.
- REQ-128 rivet list --orphans: the standing query for asserted-but-
unanchored claims (requirement with no test, decision with no
hazard) — deterministic, exact-count ordering only.
Explicitly REJECTED from gbrain (would corrupt rivet's determinism): LLM
fact-extraction, hybrid vector/RRF/reranker as canonical query, cosine
dedup, LLM extractable handlers, fail-open ranking.
Refs: REQ-125, REQ-126, REQ-127, REQ-128
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
📐 Rivet artifact delta
Graphgraph LR
REQ_125["REQ-125"]:::added
REQ_126["REQ-126"]:::added
REQ_127["REQ-127"]:::added
REQ_128["REQ-128"]:::added
REQ_129["REQ-129"]:::added
REQ_130["REQ-130"]:::added
classDef added fill:#d4edda,stroke:#28a745,color:#155724
classDef removed fill:#f8d7da,stroke:#dc3545,color:#721c24
classDef modified fill:#fff3cd,stroke:#ffc107,color:#856404
classDef overflow fill:#e2e3e5,stroke:#6c757d,color:#495057,stroke-dasharray: 3 3
Added
Posted by |
Two ADAPT items from the gbrain source study, each carrying the safety-domain
constraint that makes the adaptation legitimate (keep gbrain's caution, drop
its acceptance):
- REQ-129 validate --review-candidates: REPORT the unclassifiable (unknown
types, unknown fields, unresolved externals) without ACCEPTING it.
Unknown type stays a hard error; report is additive, opt-in,
loud-fail preserved. Redaction must be one-way and must not become
a side channel that leaks artifact content past the classification
boundary.
- REQ-130 superseded-by/superseded-reason as an ADDITIVE typed link that
PRESERVES the node. In a safety domain supersession is not deletion
— the superseded requirement stays in the store, graph, and
coverage (marked), because it is certification evidence. Explicitly
rejects gbrain's git-delete -> soft-delete model. Built on schema
extends + prefix:ID resolution, no new directive.
Refs: REQ-129, REQ-130
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Rivet Criterion Benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: 4c4264f | Previous: 6e31579 | Ratio |
|---|---|---|---|
traceability_matrix/1000 |
58876 ns/iter (± 437) |
45426 ns/iter (± 268) |
1.30 |
query/10000 |
118777 ns/iter (± 1361) |
98975 ns/iter (± 1753) |
1.20 |
This comment was automatically generated by workflow using github-action-benchmark.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Six roadmap REQs distilled from a source-level study of garrytan/gbrain (its actual TypeScript, not the README). Thesis: gbrain's features are mostly what rivet deliberately is not (LLM fact-extraction, vector/RRF/reranker, cosine dedup) — but the defensive disciplines it grew to guard a fuzzy core under multi-user/remote load are deterministic by nature and port cleanly. rivet's core is already trustworthy, so the same armor is pure upside.
Ship-soonest (pure surfacing of data already computed)
validate/coverage --explain— replay the rule chainDiagnostic+coveragealready compute; the oracle teaches its own reasoning (CI-as-curriculum). Pure formatter, no new truth.rivet list --orphans— the standing query for asserted-but-unanchored claims (a requirement with no test, a decision with no hazard). Deterministic exact-count ordering.Fail-closed / anti-laundering
Slower-lane ADAPTs (carry the safety-domain constraint)
validate --review-candidates— REPORT the unclassifiable without ACCEPTING it; one-way redaction that can't leak content past the classification boundary. Loud-fail preserved.superseded-by/superseded-reasonas an additive typed link that preserves the node — supersession is certification evidence, not deletion. Explicitly rejects gbrain's git-delete→soft-delete.Explicitly rejected from gbrain
LLM fact-extraction, hybrid vector/RRF/reranker as canonical query, cosine dedup, LLM extractable handlers, fail-open ranking — each would make canonical data non-reproducible or collapse distinct IDs. The reject list is "what rivet is not," re-derived from a competitor's source.
All
draftrequirements (proposals), validated and traceable. No code change.🤖 Generated with Claude Code