fix(cli): derive live dogfood fixtures from store#2826
Conversation
Merge ProtectionsYour pull request matches the following merge protections and will not be merged until they are valid. 🟢 require-ready-label-and-ciWonderful, this rule succeeded.
|
Greptile SummaryThis PR adds SQLite-backed fixture resolution to the live dogfood pipeline. When the CLI exposes a
Confidence Score: 4/5Safe to merge for CLIs whose resource type names are plain nouns; the store lookup path has a candidate-generation quirk for path segments ending in 'id' that would misclassify those results as synthetic rather than store-backed. The three concerns raised in earlier review rounds are addressed: cross-test DB contamination is eliminated by per-test unique binary names, the pre-sync timeout is capped at 5 s, and the mixed store/companion fixture_source tag is handled correctly by the storeResolved counter. The remaining open item is that storeResourceCandidates applies the same id-suffix stripping to CLI path segments as to placeholder names, so a command path like [android, get] would search for resource_type 'andr' rather than 'android' and incorrectly produce synthetic results. internal/pipeline/live_dogfood.go — storeResourceCandidates and the table-existence check in liveDogfoodStoreFixtureID Important Files Changed
|
|
@Mergifyio queue |
Merge Queue Status
This pull request spent 23 minutes 57 seconds in the queue, including 23 minutes 38 seconds running CI. Required conditions to merge
|
Summary
Live dogfood now primes the printed CLI store with a quiet
syncpass when the CLI exposes one, then uses the scoped local SQLite cache to replace ID-shaped example placeholders when companion list calls cannot provide a real ID.If the store exists but has no matching row, the matrix keeps the synthetic example and marks the row with
fixture_source: synthetic, giving retros a reliable way to classify fixture-driven failures.Closes #2431
Tests
go test ./internal/pipeline -run 'TestRunLiveDogfood(StoreFixture|ResolveSuccess|ResolveCommandPositionalsSkipPaths)'go test ./internal/pipeline -run 'TestRunLiveDogfoodStoreFixture'go test ./...