Conversation
|
ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR. |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (4)
📝 WalkthroughSummary by CodeRabbit
WalkthroughThis PR adds ChangesInstall Planning Canonicalization
Sequence Diagram(s)sequenceDiagram
participant Installer
participant planOperations
participant createOpencodeNativeOperations
participant FileSystem
Installer->>planOperations: provide modules and target paths
planOperations->>planOperations: filter foreign-platform paths
alt path equals .opencode
planOperations->>createOpencodeNativeOperations: build native operations
createOpencodeNativeOperations->>FileSystem: list files, skip commands dir
createOpencodeNativeOperations-->>planOperations: copy-file operations
else other paths
planOperations->>planOperations: adapter.createScaffoldOperation()
end
planOperations-->>Installer: flattened operation list
Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes Possibly related PRs
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install failed. For unrecoverable errors, disable the tool in CodeRabbit configuration. 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 |
|
Closing because this change was shipped against the wrong repository. |
|
| Filename | Overview |
|---|---|
| scripts/lib/install-targets/codex-home.js | Adds a custom Codex planner that filters foreign platform paths and skips the generic agents-core/AGENTS.md path. |
| scripts/lib/install-targets/opencode-home.js | Adds custom OpenCode native payload planning, but the .opencode special case can leave stale native files behind. |
| tests/lib/install-targets.test.js | Adds tests for Codex AGENTS.md filtering and OpenCode native payload planning. |
| CHANGELOG.md | Adds an Unreleased changelog entry for the install payload canonicalization. |
Reviews (1): Last reviewed commit: "fix: canonicalize codex and opencode ins..." | Re-trigger Greptile
| .filter(p => !isForeignPlatformPath(p, adapter.target)) | ||
| .flatMap(sourceRelativePath => { | ||
| if (sourceRelativePath === '.opencode') { | ||
| return createOpencodeNativeOperations(module.id, input.repoRoot, targetRoot); |
There was a problem hiding this comment.
When .opencode is planned here, the adapter no longer emits the native-root sync-root-children operation and instead records only the files that currently exist, while skipping .opencode/commands. On upgrade or repair, previously installed native files that were removed from the repo, including older duplicated command files under ~/.opencode/commands, have no current managed operation covering them, so they can stay in ~/.opencode and continue to be loaded.
Rule Used: Treat CLI inputs, URLs, file paths, and subprocess... (source)
Summary
.codexpayloads without pulling in foreign platform files.opencodepayloads while avoiding.opencode/commandsduplicationVerification
node tests/lib/install-targets.test.jsnode tests/scripts/doctor.test.jsnpm test→ 2939 passed, 0 failedNotes
2.0.0inpackage.jsonandVERSION, so the gstack version-bump helper could not parse the base version as a 4-part release. I left the version unchanged and documented the change inCHANGELOG.mdinstead.