Skip to content

docs(artifacts): file REQ-125..128 — gbrain-derived deterministic-armor backlog#346

Merged
avrabe merged 2 commits into
mainfrom
feat/gbrain-derived-reqs
May 30, 2026
Merged

docs(artifacts): file REQ-125..128 — gbrain-derived deterministic-armor backlog#346
avrabe merged 2 commits into
mainfrom
feat/gbrain-derived-reqs

Conversation

@avrabe
Copy link
Copy Markdown
Contributor

@avrabe avrabe commented May 30, 2026

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)

REQ Idea
REQ-125 validate/coverage --explain — replay the rule chain Diagnostic+coverage already compute; the oracle teaches its own reasoning (CI-as-curriculum). Pure formatter, no new truth.
REQ-128 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

REQ Idea
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). Locks it as an explicit, tested invariant. Hardening, not a live fix. Reinforces REQ-051.

Slower-lane ADAPTs (carry the safety-domain constraint)

REQ Idea
REQ-129 validate --review-candidates — REPORT the unclassifiable without ACCEPTING it; one-way redaction that can't leak content past the classification boundary. Loud-fail preserved.
REQ-130 superseded-by/superseded-reason as 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 draft requirements (proposals), validated and traceable. No code change.

🤖 Generated with Claude Code

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>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 30, 2026

📐 Rivet artifact delta

Change Count
Added 6
Removed 0
Modified 0
Downstream impacted (depth ≤ 5) 0

Graph

graph 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
Loading
Added
  • REQ-125
  • REQ-126
  • REQ-127
  • REQ-128
  • REQ-129
  • REQ-130

📎 Full HTML dashboard attached as workflow artifact rivet-delta-pr-346download from the workflow run.

Posted by rivet-delta workflow. The graph shows only changed artifacts; open the HTML dashboard (above) for full context.

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>
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ 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.

@avrabe avrabe merged commit 6c66af5 into main May 30, 2026
18 checks passed
@avrabe avrabe deleted the feat/gbrain-derived-reqs branch May 30, 2026 15:08
@codecov
Copy link
Copy Markdown

codecov Bot commented May 30, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant