[WRONG BRANCH] chore: sync plugin lane with reviewed plan - #41
Conversation
…ontracts from review Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
… not a generic migration path Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
|
ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (2)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
|
This pull request currently targets Its title has been prefixed with OnlineChef Please retarget this PR to This pull request is being kept as a draft automatically. Once the target branch is corrected, it will be marked ready for review again. |
| - Add optional, backward-compatible settings through the canonical `OcxConfig` | ||
| Zod schema and the existing config load/save reconciliation flow. There is | ||
| no generic migration mechanism to hook into; write a feature-specific | ||
| migration only if a persisted representation later requires an actual |
There was a problem hiding this comment.
Rate-limit settings bypass reconciliation
The plan routes persisted rate-limit settings through the existing config save flow, but that flow reconciles only the claudeCode subtree. If an operator edits a persisted rate-limit value while the server is running, an unrelated runtime save writes the stale in-memory rate-limit value back to disk and silently discards the operator’s edit. Require rate-limit settings to participate in the live-save baseline/reconciliation policy, with an explicit conflict policy, and add regression coverage for an on-disk rate-limit edit followed by an unrelated save.
Context Used: Focking gretig zijn en niet stoppen tot perfectie.... (source)
Artifacts
Focused rate-limit persistence validation source
- Bun validation source models a persisted rate-limit edit and calls the actual live guarded save path, proving the exact behavior under review.
Persisted rate-limit setting before unrelated save
- The executed before run shows the operator's persisted management rate limit is 99 requests per minute, establishing the edited state.
Persisted rate-limit setting after unrelated save
- The executed after run shows an unrelated save persisted while the rate limit reverted from 99 to stale value 10, proving the edit is overwritten.
Existing narrow config preservation tests
- The focused Bun test run completed with 16 passing tests and zero failures, confirming the existing Claude-only reconciliation guard remains operational.
Ran code and verified through T-Rex
Prompt To Fix With AI
This is a comment left during a code review.
Path: structure/plugin-metrics-ratelimit-benchmarks.md
Line: 184-187
Comment:
**Rate-limit settings bypass reconciliation**
The plan routes persisted rate-limit settings through the existing config save flow, but that flow reconciles only the `claudeCode` subtree. If an operator edits a persisted rate-limit value while the server is running, an unrelated runtime save writes the stale in-memory rate-limit value back to disk and silently discards the operator’s edit. Require rate-limit settings to participate in the live-save baseline/reconciliation policy, with an explicit conflict policy, and add regression coverage for an on-disk rate-limit edit followed by an unrelated save.
**Context Used:** Focking gretig zijn en niet stoppen tot perfectie.... ([source](https://app.greptile.com/review/custom-context?memory=instruction-0))
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
Temporary branch-sync PR: merge the reviewed PR #39 plan correction into
feat/plugin-contract. The branches touch disjoint files; this prevents PR #40 from reverting the parent review fix.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is enabled.Greptile Summary
This change documents the planned plugin isolation, protected metrics, rate limiting, diagnostics, benchmarks, and validation work. The rate-limit persistence design remains incomplete: a running server can overwrite an operator’s on-disk rate-limit change during an unrelated configuration save.
Confidence Score: 4/5
What T-Rex did
Comments Outside Diff (1)
General comment
claudeCodesubtree. Therefore, after the planned rate-limit settings are persisted, an operator editing them on disk while the server runs can lose the edit when any unrelated live mutation saves the whole stale config object.saveConfigPreservingClaudeCodereads and reconciles onlyonDisk.claudeCodeagainstclaudeCodeBaseline; its own scope comment says that onlyclaudeCodeis reconciled and other hand edits are clobbered. The plan does not specify a rate-limit baseline/reconciliation policy or otherwise prohibit runtime disk edits.Prompt To Fix All With AI
Reviews (1): Last reviewed commit: "docs(structure): route rate-limit config..." | Re-trigger Greptile
Context used: