Conversation
workflow_call hides pull_request from golangci-lint-action only-new-issues, so Required on the architecture PR linted every module. Match make lint and fix the ST1005/unused findings that are actually new versus main.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced 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 |
777genius
merged commit Sep 19, 2026
87b0479
into
refactor/installer-core-clean-architecture
27 checks passed
4 tasks
777genius
added a commit
that referenced
this pull request
Sep 19, 2026
…ify, and identity (#320) * docs(agentplugins): record both composition roots and the merge-base lint gate ADR 0007 and ARCHITECTURE claimed cmd/agentplugins was the only production clients/all importer; authoring's plugin-kit-ai binary is a second root. Coverage now cds into the nested module, and the plan matches the lint.yml that #319 actually shipped. * fix(agentplugins): thread one nativeconfig kernel through activate, verify, and identity inspect Activate wrote through env.NativeConfig while Verify and registry inspect constructed nativeconfig.New(), so an injected kernel never observed its own writes. * fix(agentplugins): fail closed on a missing nativeconfig kernel An omitted NativeConfig used to construct a second OS kernel, so production and tests could not tell a wired kernel from a default. Zero Kernel now fails Inspect/Apply; Kiro re-runs duplex preflight before native writes; Makefile/core-fast cd into the nested module under GOWORK=off. * fix(agentplugins): fail closed when a native client has no projector Staging a native or native-config client without As[Projector] used to succeed with empty native objects. Claude and ChatGPT Activate now run PreflightActivation themselves so a skipped dispatcher lookup cannot bypass the probe. * fix(agentplugins): refuse skill-only native writes without a kernel A zero nativeconfig kernel skipped ApplyBatch on Cline/OpenCode skill-only paths, so omitted NativeConfig still mutated the host tree. Require FileIO before those writes and keep GOWORK=off test-core inside nested modules. * fix(agentplugins): refuse Gemini skill writes without a kernel Gemini installs skills before ApplyBatch, so a zero kernel still mutated the host tree and only failed on the later MCP batch. Require FileIO on the Gemini and Windsurf native entry points before any skill or config IO. * fix(agentplugins): inspect Cline and OpenCode native identity before commit Always-Clear InspectNativeRegistry let colliding skills and MCP names pass the pre-commit gate. Mirror Gemini: empty registry root is indeterminate, and a present host name is a collision. * fix(agentplugins): allow missing OpenCode objects during identity inspect Repair must observe identity after a host wiped managed MCP entries. Exact verify stays on Activate; identity inspect now matches Gemini's allow-missing check. * fix(agentplugins): allow missing Windsurf MCP during identity inspect Wiping a managed Windsurf entry must still be repairable. Identity now uses allow-missing verify like Gemini; Activate still requires exact ownership. * test(agentplugins): cover Windsurf RepairGroup after wiped native MCP Single-client Repair skips identity inspect. RepairGroup and Update are the production gates that must restore a missing owned Windsurf entry. * fix(agentplugins): inspect OpenCode and Windsurf host identity without the package RepairGroup refused a missing managed directory because inspect still verified the live ActivePath projection. Host-only inspect matches Cline and Gemini so a wiped package can be restaged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
lint.ymlisworkflow_call-only, sogolangci-lint-actiononly-new-issuesnever seesgithub.event.pull_requestand silently lints the whole module. Required on refactor: installer core clean architecture refactor #288 failed with 691/649/137/293 issues, including unchanged parent files such asosrunner.go.lint-base: origin/<base>and the reusable workflow runs--new-from-merge-base, matchingmake lint. Locally that is 0 issues on root/cli/parent plus 7 real new-vs-main findings, which this PR also fixes (ST1005 on cline/gemini/windsurf, unused Gemini default-kernel wrappers).Test plan
golangci-lint run --new-from-merge-base=origin/mainin root, cli, parent, and agentpluginsscripts/check-lint-baseline.sh origin/main(introduces config)go test ./providers/ -run 'Gemini|Cline|Windsurf'in the nested module