Skip to content

test(ingester): rfc0014 red — §5 ingest-write-path stubs + status - #242

Merged
jensholdgaard merged 2 commits into
mainfrom
rfc0014-red
Jun 17, 2026
Merged

test(ingester): rfc0014 red — §5 ingest-write-path stubs + status#242
jensholdgaard merged 2 commits into
mainfrom
rfc0014-red

Conversation

@jensholdgaard

@jensholdgaard jensholdgaard commented Jun 17, 2026

Copy link
Copy Markdown
Owner

RFC 0014 specified → red. The failing acceptance stubs that drive the green ParquetRecordSink build.

What

  • Six #[ignore]d stubs RFC0014.1–.6 in crates/ourios-ingester/tests/rfc0014_ingest_write_path.rs, each with the verification.md §2.3 doc format (/// Scenario <id> — … + /// See …§5.) and a todo!() body. cargo test6 ignored (CI stays green).
  • RFC 0014 status flipped to red.

Placement

Stubs live in ourios-ingester — the ingest pipeline's home (miner emit + WAL rotation hook + ourios-parquet deps), where the sink will be wired. RFC0014.5 (crash recovery) extends the RFC 0008 WAL harness here; the buffer-trigger scenarios (.1–.4, .6) may move next to the sink at green.

Next (green, deferred)

Build the buffering ParquetRecordSink (per-partition buffers; hybrid size + age + WAL-rotation flush; hard byte-ceiling with blocking backpressure; reuse the RFC 0008 batch/rotation hook), un-#[ignore] the stubs, and wire it into the miner in place of NoOpRecordSink. Then the follow-on server-Store-wiring slice greens RFC0013.6.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Tests

    • Added placeholder tests for RFC0014 ingestion scenarios covering flush triggers, crash recovery, backpressure handling, and tenant isolation.
  • Documentation

    • Updated RFC0014 documentation status and outlined the test-driven implementation approach.

Advance RFC 0014 specified → red: six `#[ignore]`d acceptance stubs
(RFC0014.1–.6) in crates/ourios-ingester/tests/rfc0014_ingest_write_path.rs,
each carrying the verification.md §2.3 doc format (`/// Scenario <id> — …` +
`/// See …§5.`) with `todo!()` bodies, so the scenario↔test mapping exists and
CI stays green while the sink is built. `green` replaces each body with a real
assertion against the buffering `ParquetRecordSink` and wires it into the miner
in place of `NoOpRecordSink`.

Stubs live in `ourios-ingester` (the ingest pipeline's home: miner emit + WAL
rotation hook + ourios-parquet deps); placement of the buffer-trigger scenarios
may shift next to the sink at `green`, while RFC0014.5 (crash recovery) extends
the RFC 0008 WAL harness here.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@jensholdgaard
jensholdgaard requested a review from Copilot June 17, 2026 16:03
@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 1d9dd980-3b4c-4de3-bae1-8bf4a011a8e0

📥 Commits

Reviewing files that changed from the base of the PR and between a261dc3 and eecd3c8.

📒 Files selected for processing (2)
  • crates/ourios-ingester/tests/rfc0014_ingest_write_path.rs
  • docs/rfcs/0014-ingest-write-path.md

📝 Walkthrough

Walkthrough

The RFC0014 document status is updated from specified to red, with new prose describing the red/green PR sequence. Six ignored todo!() acceptance test stubs (rfc0014_1rfc0014_6) are added to crates/ourios-ingester/tests/rfc0014_ingest_write_path.rs covering flush, rotation, backpressure, crash-loss, and tenant-isolation scenarios.

Changes

RFC0014 Red Phase

Layer / File(s) Summary
RFC status and red/green phase description
docs/rfcs/0014-ingest-write-path.md
Front-matter status changed from specified to red; inline status note updated to match; new paragraph added describing the red phase (test stubs) and green phase (ParquetRecordSink replacing NoOpRecordSink).
RFC0014 acceptance test stubs
crates/ourios-ingester/tests/rfc0014_ingest_write_path.rs
New test file with six #[ignore]-marked #[test] functions, each a todo!() stub for the six acceptance scenarios: size flush, age flush, rotation force-flush, bounded memory/backpressure, crash no-acknowledged-data-loss, and tenant isolation.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • jensholdgaard/ourios#240: Directly related — targets RFC0014 ingest write-path documentation, which this PR advances by marking the red phase.
  • jensholdgaard/ourios#241: Directly related — advances the same RFC to specified by finalizing acceptance criteria and testing semantics that these stub tests correspond to.

Poem

🐇 Six little tests, ignored for now,
Placeholders planted with a todo! vow.
The RFC turns red — the first phase is set,
Green wires the Parquet, but we're not there yet.
Hop by hop, the write-path takes shape! 🌿

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The description covers what was added (test stubs, RFC status change), placement rationale, and next steps, but omits the required checklist items for formatting, linting, and documentation verification. Add the standard checklist section with items for cargo fmt, clippy, tests, docs/CHANGELOG, and RFC linkage to match the repository template.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically summarizes the main change: adding RFC0014 red-phase acceptance test stubs with status update, directly matching the changeset.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch rfc0014-red

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Moves RFC 0014 from specified to red by landing ignored, failing acceptance-test stubs in the ingester crate and updating the RFC status metadata accordingly. This matches the project’s verification flow (specified → red → green) where red is a landable state with compiling #[ignore]d todo!() stubs.

Changes:

  • Flip RFC 0014 frontmatter/status note from specified to red and document what the red PR includes.
  • Add six #[ignore]d RFC0014.1–.6 acceptance-test stubs in ourios-ingester with todo!() bodies.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
docs/rfcs/0014-ingest-write-path.md Updates RFC status to red and notes that the red gate lands ignored acceptance stubs.
crates/ourios-ingester/tests/rfc0014_ingest_write_path.rs Adds six ignored todo!() acceptance-test stubs for RFC0014 §5 scenarios.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread crates/ourios-ingester/tests/rfc0014_ingest_write_path.rs

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

@jensholdgaard
jensholdgaard merged commit e92c7af into main Jun 17, 2026
23 of 25 checks passed
@jensholdgaard
jensholdgaard deleted the rfc0014-red branch June 17, 2026 16:42
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.

2 participants