Repository navigation
[CTX-1303] fix: keep plugin settings diagnostics host-internal - #2198
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 35 minutes. View limit details
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
|
Independent final review disposition for CodeRabbit summary comment #6234414822:
Reviewed original head: |
Xuepoo
left a comment
There was a problem hiding this comment.
Independent final source review: APPROVE.
Reviewed original PR head fc1d5a0c7ed050944585b786136a18fc450af29d and integration candidate c83ffd5aa4a9505190714278ae06d7ae09863649, which merges main at 662212c5f777125fbb0c092e67c947bd73d4c9d3 without conflicts. No new source edits were made by this reviewer. The complete four-file feature diff remains 348 insertions and 76 deletions, with stable patch ID e142486b4e4e3fb6e33070ba21d9ad3c7492c29a.
ActivationReportandLoadedPluginSettingspreserve their existing public field layouts. The diagnostic-aware loader is crate-private, and retention lives on privatePluginEntrystate. The additive host accessor does not expose a Lua capability.- Retention is capped at four diagnostics per plugin. Alias strings originate from the validated plugin-ID grammar, with at most 64 ASCII bytes. Warnings contain only aliases and counts, never config values, file content, file paths, rejected key names, or raw evaluator errors. The existing terminal warning path also applies stderr redaction.
- Canonical Lua files are preferred; the shadowed-alias diagnostic is emitted only after successful restricted Lua evaluation and plain-data extraction. Rejected canonical configuration does not apply the alias or fall through to TOML. Absent Lua retains legacy TOML fallback. Ambiguous aliases fail closed, including disabled installed claimants and unavailable/incomplete discovery cases.
- Safe-mode activation supplies no external settings directory, so neither Lua nor TOML files are opened or evaluated. Third-party safe-mode skipping remains before VM/config work. Capability grant calculation and per-generation declared-key isolation are unchanged.
- The MSRV repair replaces a let-chain with equivalent nested
ifstatements. Existing remote MSRV 1.85 CI passes on the reviewed original head. - Alias ownership checks use O(N log U) time and O(U) transient space for N discovered IDs and U matching owners. Diagnostic retention adds O(1) space per plugin and O(P) total space for P plugin entries.
Non-blocking documentation polish is tracked in CTX-1309: the diagnostic enum summary still mentions ActivationReport, and CodeRabbit reports a docstring-coverage heuristic warning. Canonical configuration synchronization remains tracked by terminal-docs #226 and plugin-docs #153, both open.
This source-review approval does not satisfy GitHub branch protection by itself. main requires one non-author approving review; the currently authenticated GitHub account is the PR author. The reviewer will not use an administrator bypass.
|
Independent final review outcome: source APPROVE; integration blocked. Reviewed original head: No new source edits were made. The public layouts, bounded/redacted diagnostic retention, safe-mode external-config exclusion, alias/canonical precedence, and capability isolation were independently reviewed. Source approval and CodeRabbit dispositions are posted on this PR. CodeRabbit's full review covers Local verification on the merge candidate:
Mandatory gates remain blocked and are not waived:
At closeout, remote PR #2198 remains OPEN, MERGEABLE, BEHIND, REVIEW_REQUIRED, at Follow-ups remain visible: All build caches created by this reviewer were removed. Pre-existing targets and other sessions' processes were preserved. CTX-1303 remains in progress for the owning commander to resume after its blockers clear. |
Closes #2188
Priority: P1 | Area: plugin | Labels: fix,P1,area:plugin | Milestone: 0.0.24 | RFC: DEC-0117 | Task: CTX-1303
Summary
ActivationReportandLoadedPluginSettingslayouts.Scope
Exactly four files changed:
crates/bitty-runtime/src/plugin_runtime/mod.rscrates/bitty-runtime/src/plugin_runtime/plugin_settings.rscrates/bitty-runtime/tests/plugin_settings_file.rscrates/bitty-terminal/src/plugin_runtime.rsNo plugin registry, wheel/AI, release, tag, or CDN changes.
Verification
cargo fmt --checkjust ci-localcompleted successfully (act reported unsupported platform jobs skipped by local configuration)Review state
A separate reviewer approval is required before merge. Do not merge automatically.
CodeRabbit local review was attempted against the committed diff but was rate-limited before analysis; predecessor-PR CodeRabbit findings were reviewed and addressed in this follow-up.
Summary by CodeRabbit