fix(ci): stabilize main-equivalent clippy and coverage checks - #5591
Conversation
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
📝 WalkthroughSummary by CodeRabbit
WalkthroughCentralizes wasmtime/wasmtime-wasi under workspace dependencies, converts Decimal and BudgetGateStatus serde to stricter/stable formats, batches PostgreSQL create_dir_all into a single UNNEST insert with conflict detection, shares a live sequence counter via Arc, adds optional temperature validation to the OpenAI-compat Responses API, and updates numerous tests/tooling. ChangesCore behavior and supporting test updates
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant Caller
participant create_dir_all
participant PostgreSQL
Caller->>create_dir_all: create_dir_all(path)
create_dir_all->>create_dir_all: compute prefix paths
create_dir_all->>PostgreSQL: INSERT ... SELECT FROM UNNEST(prefixes) ... RETURNING path, is_dir
PostgreSQL-->>create_dir_all: returned rows
create_dir_all->>create_dir_all: inspect file-vs-directory conflicts
create_dir_all-->>Caller: commit or FilesystemError::Backend
sequenceDiagram
participant Client
participant ResponsesWorkflow as OpenAiResponsesWorkflow
participant Validator as validate_temperature
participant ProductWorkflow
Client->>ResponsesWorkflow: POST /v1/responses {temperature}
ResponsesWorkflow->>Validator: validate_temperature(request.temperature)
Validator-->>ResponsesWorkflow: Ok or invalid_request(param="temperature")
ResponsesWorkflow->>ProductWorkflow: submit payload with temperature field
ProductWorkflow-->>Client: accepted envelope or 400 error
Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
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 |
|
🚅 Deployed to the ironclaw-pr-5591 environment in ironclaw-ci-preview
|
Reborn integration-tier coverageLine coverage (Reborn crates): 17.19% — 11063 / 64362 lines Per-crate breakdown (11 crates, lowest-covered first)
This signal is informational: coverage never gates the PR — not the percentage, not the per-crate holes, not the 0-coverage callout. |
IronLoop Review StatusHead: Current reviewers:
Recent activity:
Commands:
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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.
Inline comments:
In @.github/workflows/code_style.yml:
- Line 14: The workflow trigger list in the code_style pipeline includes the
temporary probe branch codex/main-ci-checks, which should not remain as
permanent CI surface. Add a tracking note or issue reference alongside the same
trigger used in coverage.yml, and make sure the workflow clearly marks it for
removal once main CI is confirmed green. Keep the change localized to the
workflow trigger configuration so it is easy to locate and clean up later.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: e86fbcb8-2fd5-4373-a2ea-31d456f5bb00
📒 Files selected for processing (5)
.github/workflows/code_style.yml.github/workflows/coverage.ymlcrates/ironclaw_filesystem/src/postgres.rscrates/ironclaw_filesystem/tests/db_root_filesystem_contract.rscrates/ironclaw_resources/src/gate.rs
|
@claude review |
This comment was marked as resolved.
This comment was marked as resolved.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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.
Inline comments:
In `@tests/responses_api_temperature.rs`:
- Around line 1-32: This caller-level router test should be moved to the
integration tier by renaming or relocating tests/responses_api_temperature.rs so
it follows the repo’s integration-test naming/convention. Keep the same
OpenAiResponsesWorkflow and openai_compat_router_with_state coverage, but ensure
the file is discovered as an integration test by default rather than a
unit-style test. Adjust any module placement or test setup needed so the
public-handler validation remains intact under the integration tier.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 8fa9ce9e-9eb9-46a8-a2cf-054a919a725c
⛔ Files ignored due to path filters (1)
Cargo.lockis excluded by!**/*.lock,!**/Cargo.lock
📒 Files selected for processing (9)
Cargo.tomlcrates/ironclaw_reborn_openai_compat/src/error.rscrates/ironclaw_reborn_openai_compat/src/responses.rscrates/ironclaw_reborn_openai_compat/src/responses_workflow.rscrates/ironclaw_reborn_openai_compat/tests/dto_contract.rscrates/ironclaw_reborn_openai_compat/tests/error_contract.rstests/responses_api_path_prefix.rstests/responses_api_temperature.rstests/thread_isolation_integration.rs
Summary
wasmtime-wasion the WASIp2/component-model path only, avoiding the broken WASIp1 compile path inwasmtime-wasi 46.0.1.create_dir_allidempotent/race-safe by batching directory prefix inserts and checking file conflicts after insert.ironclaw_stresshelpers/imports so no-defaultlibsqlclippy builds stay warning-free.Linked Issue
Closes #5590
Validation
cargo clippy --all --tests --examples --all-features -- -D warningscargo test -p ironclaw_resources --no-default-features --features libsql -- --nocapturecargo test -p ironclaw -p ironclaw_reborn_composition --test budget_approval_e2e --no-default-features --features libsql -- --nocapturecargo test -p ironclaw_filesystem --features postgres,libsql --test db_root_filesystem_contract -- --nocaptureSecurity Impact
No security guarantees are weakened. Credential-header and memory-isolation coverage was adjusted to avoid CI flakes while still asserting that protected payloads and auth headers do not leak through the wrong path.
Database Impact
No schema changes. Runtime behavior changes are limited to durable budget gate JSON compatibility and Postgres filesystem directory creation conflict handling.
Blast Radius
CI/test stability plus narrow runtime persistence/filesystem paths:
ironclaw_resources,ironclaw_filesystem, Reborn projection/runtime tests, WASM dependency features, andironclaw_stressfeature-gated clippy cleanup.Rollback Plan
Revert this PR. The rollback would restore the prior CI behavior and dependency feature set; no migration rollback is required.