docs(rfc-0007): draft querier — DataFusion execution frontend for the logs DSL - #83
Conversation
… logs DSL Drafts RFC 0007 (status: drafted): the ourios-querier crate that lowers an RFC 0002 logs-DSL query to a DataFusion LogicalPlan, executes it against the RFC 0005 Parquet contract with predicate pushdown (partition pruning, row-group skipping, bloom filters), and homes the B1/B2 thesis gates RFC 0006 deferred — all without leaking DataFusion/SQL to callers (hazard §4.6). Scoped to the branch-independent execution layer: both RFC 0002 syntax branches compile to the same LogicalPlan target (§5.5), so this can specify execution + B1/B2 acceptance criteria without waiting on RFC 0002's A/B decision. Read path only — depends on neither the WAL nor the receiver. Co-Authored-By: Jens Holdgaard Pedersen <jens@holdgaard.org> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughAdds RFC 0007 describing the ourios-querier crate: lowering RFC 0002 logs-DSL to DataFusion LogicalPlans for RFC 0005 Parquet with predicate pushdown, measurable acceptance criteria for pruning/latency (B1/B2), a testing plan, open design questions, and a docs/SUMMARY.md TOC entry. ChangesRFC 0007 Querier Specification
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Pull request overview
This PR drafts RFC 0007 for the ourios-querier design, defining the DataFusion-backed execution frontend for the logs DSL and tying the B1/B2 query-performance thesis gates to concrete acceptance criteria.
Changes:
- Adds RFC 0007 covering querier scope, lowering, pushdown, no-leakage boundary, acceptance criteria, and testing strategy.
- Adds the new RFC to the mdBook summary.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
docs/SUMMARY.md |
Adds RFC 0007 to the RFC navigation list. |
docs/rfcs/0007-querier.md |
Introduces the draft querier RFC and its proposed design/test contracts. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/rfcs/0007-querier.md (1)
132-174: ⚡ Quick winAlign §5 scenario formatting with the RFC convention.
Section 5 currently uses bullet lists for scenarios; in this repo’s RFC convention, each acceptance scenario should be a blockquote scenario (
> **Scenario ...**) with blank lines between scenarios. Please reformat RFC0007.1–RFC0007.5 to match that pattern for consistency and easier review/grep parity across RFCs.Based on learnings: “In this repo’s RFCs under
docs/rfcs/, the §5 ‘acceptance-criteria’ section should use the documented blockquote convention: each scenario should appear as a> **Scenario ...**blockquote, with blank lines separating scenario blocks.”🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/rfcs/0007-querier.md` around lines 132 - 174, Reformat the Acceptance criteria in §5 by replacing the current bulleted RFC0007.1–RFC0007.5 entries with the repo’s RFC blockquote scenario pattern: convert each item (RFC0007.1, RFC0007.2, RFC0007.3, RFC0007.4, RFC0007.5) into a separate blockquote beginning with > **Scenario —** (or > **Scenario RFC0007.x —**), keep the Given/When/Then lines inside that blockquote, and ensure there is a blank line between each scenario block so the section matches the other RFCs’ formatting and is greppable.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@docs/rfcs/0007-querier.md`:
- Around line 132-174: Reformat the Acceptance criteria in §5 by replacing the
current bulleted RFC0007.1–RFC0007.5 entries with the repo’s RFC blockquote
scenario pattern: convert each item (RFC0007.1, RFC0007.2, RFC0007.3, RFC0007.4,
RFC0007.5) into a separate blockquote beginning with > **Scenario —** (or >
**Scenario RFC0007.x —**), keep the Given/When/Then lines inside that
blockquote, and ensure there is a blank line between each scenario block so the
section matches the other RFCs’ formatting and is greppable.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: b0b99fd4-33c2-4e6e-bd0b-7531caf9dc95
📒 Files selected for processing (2)
docs/SUMMARY.mddocs/rfcs/0007-querier.md
What
First draft of RFC 0007 — Querier (
status: drafted): theourios-queriercrate (pillar #3, DataFusion). Closes the design gap that left B1/B2 (the query-performance thesis gates) unmeasured.Tracks #82.
Scope decision
RFC 0002 (logs DSL) is still undecided between its Branch A/B syntax. But both branches compile to the same DataFusion
LogicalPlantarget (RFC 0002 §5.5), so this RFC pins the branch-independent execution layer — lowering, predicate pushdown, the no-leakage boundary, and the B1/B2 acceptance criteria — without re-deciding or blocking on the DSL surface. It can't advance pastspecifieduntil RFC 0002 §3 lands, which the Open Questions record.Highlights
template_id, time, severity) → bloom filters.QueryResultsurfacesrow_groups_pruned/bytes_readso B1 can assert pruning happened.criterionacross thecorpus/otel-demo-v*series), plus no-DataFusion-leakage (§4.6), forward-compat reads (§3.5), tenant isolation (§3.7).ourios-bench, closing the RFC 0006 §1 deferral.Process
Per §9, authored by the maintainer with Claude as drafting assistance. This is a draft for review — not implementation. mdBook builds; added to
SUMMARY.md.🤖 Generated with Claude Code
Summary by CodeRabbit