test(server): rfc0020 red — config-file §5 stubs + status - #321
Conversation
Flip RFC 0020 to `red` and add the six `#[ignore]`d acceptance stubs (RFC0020.1–.6) in crates/ourios-server/tests/rfc0020_config_file.rs, pinning the scenario ids so the RFC↔test mapping is greppable from red on (docs/verification.md §2.3). todo!() bodies; CI shows 6 ignored. The green slices implement them — substitution resolver first, property-tested against the OTel Config WG vector table. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
📝 WalkthroughWalkthroughSix ignored acceptance test stubs for RFC0020 (server configuration file) are added to RFC0020 Config File Stubs
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Pull request overview
Moves RFC 0020 (server configuration file) from the specified gate to the red gate by updating the RFC frontmatter and adding compiling, #[ignore]d acceptance-test stubs that pin the RFC §5 scenario IDs in test code for grep-based traceability.
Changes:
- Flip RFC 0020 frontmatter
status:fromspecifiedtored. - Add six ignored Rust test stubs (
RFC0020.1–RFC0020.6) inourios-serverto anchor the RFC↔test mapping perdocs/verification.md§2.3.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| docs/rfcs/0020-configuration-file.md | Updates RFC 0020 maturity status to red. |
| crates/ourios-server/tests/rfc0020_config_file.rs | Adds ignored acceptance-scenario stubs with greppable scenario IDs for RFC 0020. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
crates/ourios-server/tests/rfc0020_config_file.rs (1)
8-13: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winKeep the unit-testable RFC0020 cases next to the config code.
Lines 8-13 already classify RFC0020.1, RFC0020.2, RFC0020.3, and RFC0020.5 as unit-testable, but this file still pins them under
crates/ourios-server/tests/. That sets the wrong default for the green slice and conflicts with the repo rule that non-trivial unit tests live beside the code. Please move those scenario shells alongside the config implementation now, and leave this file for the genuinely end-to-end cases only. As per coding guidelines, "Unit tests must be next to the code and are mandatory for anything non-trivial."🤖 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 `@crates/ourios-server/tests/rfc0020_config_file.rs` around lines 8 - 13, The RFC0020 cases marked as unit-testable are still sitting in the end-to-end test file, which conflicts with the repo rule that non-trivial unit tests live beside the code. Move the RFC0020.1, RFC0020.2, RFC0020.3, and RFC0020.5 scenario shells from this test module into the config implementation area next to the relevant config code (for example the config module under src/main.rs or src/config/), and keep this file only for the true end-to-end ServerConfig checks. Use the RFC0020 labels and the existing config-related symbols mentioned here to place each test with its corresponding implementation.Source: Coding guidelines
🤖 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 `@crates/ourios-server/tests/rfc0020_config_file.rs`:
- Around line 8-13: The RFC0020 cases marked as unit-testable are still sitting
in the end-to-end test file, which conflicts with the repo rule that non-trivial
unit tests live beside the code. Move the RFC0020.1, RFC0020.2, RFC0020.3, and
RFC0020.5 scenario shells from this test module into the config implementation
area next to the relevant config code (for example the config module under
src/main.rs or src/config/), and keep this file only for the true end-to-end
ServerConfig checks. Use the RFC0020 labels and the existing config-related
symbols mentioned here to place each test with its corresponding implementation.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 8e713ee3-7ea6-4643-8bc5-cae1b98002ac
📒 Files selected for processing (2)
crates/ourios-server/tests/rfc0020_config_file.rsdocs/rfcs/0020-configuration-file.md
What
Takes RFC 0020 (signed off, merged as #320) to the
redmaturity stage:status: specified → redindocs/rfcs/0020-configuration-file.md.#[ignore]d acceptance stubs (RFC0020.1–.6) incrates/ourios-server/tests/rfc0020_config_file.rs, pinning the scenario ids so the RFC↔test mapping is greppable from red onward (docs/verification.md§2.3).todo!()bodies; CI shows 6 ignored.Scenarios pinned
ServerConfig--configpreserves the env-only pathNext (green slices)
Substitution resolver first (
config/env_subst.rs, property-tested against the WG vector table), then schema/deserialization →ServerConfig,--configwiring, validation. TheOTEL_*SDK env stays out of scope (RFC 0020 §3.8).fmt/clippy/cargo testclean locally (6 ignored).🤖 Generated with Claude Code
Summary by CodeRabbit