docs(rfc): add RFC 0043, GQ logic tests - #584
Merged
Merged
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
azimafroozeh
force-pushed
the
gq-fixtures-rfc
branch
from
August 31, 2026 15:32
0b5249b to
1c3573c
Compare
azimafroozeh
force-pushed
the
gq-fixtures-rfc
branch
from
September 1, 2026 09:36
1c3573c to
2ce553b
Compare
5 tasks
This was referenced Sep 1, 2026
5 tasks
aaltshuler
reviewed
Sep 1, 2026
aaltshuler
left a comment
Contributor
There was a problem hiding this comment.
Three RFC-level comments: the regression-gate guarantee, ranked ordering semantics, and bounded runner concurrency.
azimafroozeh
force-pushed
the
gq-fixtures-rfc
branch
from
September 2, 2026 10:11
f073caa to
a911c8c
Compare
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 & why
RFC 0043 makes query-behavior tests one self-contained text file per case (
.gqt): a header (issue anchor,red_on:provenance), a.pgschema, JSONL seed rows, then steps (--- query/--- mutate/--- restart, loopable), each with params and an expected outcome (rows, affected counts, or an error substring). One test target,crates/omnigraph/tests/gq_logic_tests.rs, runs each case against a fresh temporary store through public engine surfaces only; no second toolchain. An enforcement ladder makes the medium stick: AGENTS.md contract sentences, a CI gate holding issue-closing fix PRs to a matching regression, and ano-reprowaiver label.Why now: review of the #563 fix surfaced a pure input-to-output defect (aggregates computed over the capped BM25 scan window) a twenty-row logic test case would have caught before review. The format adopts the sqllogictest lineage (SQLite, DuckDB, DataFusion) at its mature state and omits its documented mistakes (result hashing, type strings, bare any-error expectations).
Backing issue / RFC
docs/rfcs/0043-gq-logic-tests.mdChecklist
Local verification
python3 scripts/check-docs.py— green (front matter, registry row, links)cargo test --workspace— not run: docs-only diffNotes for reviewers
docs/rfcs/README.mdconflicts on the index table; keep both new rows in number order, 0044 stands.proptest_equivalence.rskeeps owning equivalence.Greptile Summary
This documentation-only PR proposes RFC 0045, defining a self-contained
.gqtformat and an enforcement model for query-behavior regression tests.Confidence Score: 5/5
The PR appears safe to merge because no blocking failure remains.
No blocking failure remains.
Important Files Changed
.gqtformat, runner semantics, CI enforcement, compatibility boundaries, evidence plan, and rollout.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart LR Case[.gqt case] --> Parse[Fail-closed parser] Parse --> Init[Fresh temporary store] Init --> Seed[Load JSONL seed] Seed --> Index[Ensure required indexes] Index --> Steps[Run query / mutate / restart steps] Steps --> Compare[Normalize and compare outcomes] Compare --> Result[Report case result] PR[Issue-closing PR] --> Gate[Fix Regression Gate] Gate -->|matching regression| CI[GQ Logic Tests] Gate -->|no-repro label| Waiver[Maintainer waiver] CI --> ResultReviews (5): Last reviewed commit: "docs(rfc): address review: gate guarante..." | Re-trigger Greptile