feat: shrink corpus and plugin-generation findings into reproducible fixtures #48
Labels
No labels
code-review
correctness
dos
performance
security
severity/high
severity/low
severity/medium
tech-debt
Kind/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
Reference
h-dv/code-index#48
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
P3 — build when the first real corpus finding lands; premature before then.
From
_prdoc/records/brainstorm-2026-07-28-oss-corpus-test-system.md§5.2.The problem it solves
A phantom in a 5000-file repo is nearly impossible to reason about, and without this the finding stays only in the corpus — a slow test forever, re-run on every CI pass, debugged from scratch every time.
What
Given
(repo, ref site, wrong target): bisect the file set — delete half, re-index, does it still reproduce — down to the minimal reproducing set. Emit a new micro-fixture undertests/fixtures/plus a generatedoracle.tomlprobe in the existing schema (name/kind/path/container/find/expect_resolved/forbid_resolved).The division of labour it establishes
This is what keeps PR CI fast permanently: the lasting cost of each finding becomes a handful of files, not a repository. It also preserves the existing
precision_gate.rsas the fast gate rather than growing a parallel slow one.Design notes
forbid_resolvedprobe whose(name, kind)resolves to exactly one in-project definition, or the generated oracle is vacuous by constructionnotefield explaining provenance (source repo, sha, original site) so the fixture is traceable back to the real codeAcceptance
oracle.tomlprobe that the existingprecision_gate.rspicks up unmodifiedRuntime-plugin architecture expansion
A reproducer is now more than source files. The shrinker must preserve the minimal semantic environment:
For a package finding, emit either a normal oracle fixture plus package metadata or a conformance fixture consumed by #80. Never copy an untrusted remote package implicitly; record digest and approved test artifact provenance.
Delta-debug both axes: files and plugin capabilities/rules. Positive controls must prove the reduced fixture still executes the relevant component and moves the expected candidate population.
feat: shrinker — bisect a corpus finding into a minimal fixture + generated oracle.toml probeto feat: shrink corpus and plugin-generation findings into reproducible fixtures