fix(checkup): bind plan and apply to explicit provider homes - #30
Merged
phodal merged 2 commits intoJul 31, 2026
Merged
Conversation
Checkup plans for Codex, Cursor, and other non-Qoder hosts were emitting qodercli disable mutations, and provider-home paths always resolved through Qoder home. Make plan/apply provider-aware so only Qoder can use qoder-cli, other hosts stay manual-review, and source fingerprints bind to the plan's host root (roadmap HA-02). Spec: docs/specs/2026-07-31-ha02-provider-aware-checkup-plan.md Test: node --test test/harness-checkup.test.mjs test/support-declarations.test.mjs test/doc-link-graph.test.mjs (38 pass) Co-authored-by: Grok (Grok 4.5) <grok@x.ai>
Resolve conflicts between HA-02 provider-aware checkup plan/apply and the main-side symlink safety hardening: - apply.mjs: keep provider-aware resolveSourceRef (resolveProviderHome, provider field) and retain main's root field, assertSafeSourceTarget, and ensureSafeBackupDirectory safety checks - contract.mjs: import expandHome via session-analysis public surface (index.mjs) to satisfy the scripts composition contract - CHANGELOG.md and harness-checkup tests: keep both sides' entries/tests Validated with npm test: 1038/1038 pass. Co-authored-by: QoderAI (Qwen 3.8 Max) <qoder_ai@qoder.com>
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
Checkup plan/apply was Qoder-hard-coded:
buildCheckupPlan()always emittedqoder-cli/qoderclidisable mutations for candidates, including whenscan.providerwascodex,cursor, or another host.resolveSourceRef()and scan fingerprints always boundprovider-hometo Qoder home, so a patch could resolve into another host's configuration root.This change makes plan/apply provider-aware and fail closed (roadmap HA-02):
provider=qodercan produce or execute automaticqoderclidisable actionsmanual-reviewuntil a provider-native apply contract existsprovider-homesource resolution and fingerprints bind to the explicit host homeqoder-climutations before spawning a processWhy
Traceability and Scope
docs/specs/2026-07-31-ha02-provider-aware-checkup-plan.mdscripts/coding-agent-practices/checkup/Change Type
Test and Review Evidence
node --test test/harness-checkup.test.mjsnode --test test/harness-checkup.test.mjs test/support-declarations.test.mjs test/doc-link-graph.test.mjscodex/cursorplans emit onlymanual-review; Codexprovider-homeresolves undercodexHome, not Qoder homeRisk and Recovery
manual-reviewinstead ofqoder-cli; Qoder path unchangedAI Involvement
Checklist
AGENTS.md,CONTRIBUTING.md, and the relevant canonical-owner guidance.CHANGELOG.md.