diff --git a/config/scripts/orca-cli-skill-guidance.test.mjs b/config/scripts/orca-cli-skill-guidance.test.mjs index b81d0027f76..6270fefaa2b 100644 --- a/config/scripts/orca-cli-skill-guidance.test.mjs +++ b/config/scripts/orca-cli-skill-guidance.test.mjs @@ -119,13 +119,22 @@ describe('orca CLI install stub', () => { }) it('gives older binaries a bounded fallback instead of a dead end', () => { - const stub = readSkill(stubPath) + const stub = readSkill(stubPath).replace(/\s+/gu, ' ') - expect(stub).toContain('If `skills get` is unavailable') + expect(stub).toContain('explicitly reports that `skills get` is an unknown command') expect(stub).toContain('do not invent commands') expect(stub).toContain('ask the user rather than guessing') }) + it('does not mistake resolution or execution failures for an older binary', () => { + const stub = readSkill(stubPath).replace(/\s+/gu, ' ') + + // Falling through can silently pair a version-matched guide with the wrong Orca build. + expect(stub).toContain('report its exact error and stop') + expect(stub).toContain('Do not fall through to another executable') + expect(stub).toContain('Another failure is not proof of an older binary') + }) + it('drops the changing command reference from the installable file', () => { const stub = readSkill(stubPath) diff --git a/resources/skills/current-manifest.json b/resources/skills/current-manifest.json index fe70d7df90b..d6da01dc475 100644 --- a/resources/skills/current-manifest.json +++ b/resources/skills/current-manifest.json @@ -41,17 +41,17 @@ "name": "orca-cli", "sourcePath": "skills/orca-cli", "releaseRevision": 33, - "packageDigest": "729da1e492d7d8461c12995d74e23dd034176cd51c731bccdc0f449e35cf72bf", - "gitTreeSha": "387fd327e8eaefae2979f377843f50a47c85150d", + "packageDigest": "72f63dcaad3dea8bea54838835fe46c689c37b63cd96a9ef2f2537f0c2f6b8c8", + "gitTreeSha": "97f6596bb43a56c6e81246f077c35144c9025343", "files": [ { "path": "SKILL.md", - "size": 3485, + "size": 3835, "executable": false, "classification": "text", - "exactSha256": "3082f7c7425ebe37d6ed33ad05f404268af2b51b675ea53d0731a912f16d76f6", - "textNormalizedSha256": "3082f7c7425ebe37d6ed33ad05f404268af2b51b675ea53d0731a912f16d76f6", - "identitySha256": "3082f7c7425ebe37d6ed33ad05f404268af2b51b675ea53d0731a912f16d76f6" + "exactSha256": "90228630bc4daab4ccf67b691153976d1f28ec064d7069a4c170621ed2ea99b5", + "textNormalizedSha256": "90228630bc4daab4ccf67b691153976d1f28ec064d7069a4c170621ed2ea99b5", + "identitySha256": "90228630bc4daab4ccf67b691153976d1f28ec064d7069a4c170621ed2ea99b5" } ] }, diff --git a/resources/skills/snapshot-registry.json b/resources/skills/snapshot-registry.json index 80131fd3953..a29b5696a55 100644 --- a/resources/skills/snapshot-registry.json +++ b/resources/skills/snapshot-registry.json @@ -516,17 +516,17 @@ }, { "releaseRevision": 33, - "packageDigest": "729da1e492d7d8461c12995d74e23dd034176cd51c731bccdc0f449e35cf72bf", - "gitTreeSha": "387fd327e8eaefae2979f377843f50a47c85150d", + "packageDigest": "72f63dcaad3dea8bea54838835fe46c689c37b63cd96a9ef2f2537f0c2f6b8c8", + "gitTreeSha": "97f6596bb43a56c6e81246f077c35144c9025343", "files": [ { "path": "SKILL.md", - "size": 3485, + "size": 3835, "executable": false, "classification": "text", - "exactSha256": "3082f7c7425ebe37d6ed33ad05f404268af2b51b675ea53d0731a912f16d76f6", - "textNormalizedSha256": "3082f7c7425ebe37d6ed33ad05f404268af2b51b675ea53d0731a912f16d76f6", - "identitySha256": "3082f7c7425ebe37d6ed33ad05f404268af2b51b675ea53d0731a912f16d76f6" + "exactSha256": "90228630bc4daab4ccf67b691153976d1f28ec064d7069a4c170621ed2ea99b5", + "textNormalizedSha256": "90228630bc4daab4ccf67b691153976d1f28ec064d7069a4c170621ed2ea99b5", + "identitySha256": "90228630bc4daab4ccf67b691153976d1f28ec064d7069a4c170621ed2ea99b5" } ] } diff --git a/skill-stubs/orca-cli.md b/skill-stubs/orca-cli.md index 2bba1bb125a..3a5b0aa522e 100644 --- a/skill-stubs/orca-cli.md +++ b/skill-stubs/orca-cli.md @@ -27,6 +27,9 @@ Below, `ORCA` is a placeholder for the executable you resolved. Substitute it be running anything; do not create a shell variable or run `ORCA` literally. This works the same way in POSIX shells, PowerShell, and cmd.exe. +If the selected executable cannot run, report its exact error and stop. Do not fall through +to another executable, which could silently target a different Orca build. + ## Load the full guide before running Orca commands ```text @@ -42,10 +45,12 @@ change between Orca releases, and this file deliberately no longer lists them. C app is up with `ORCA status --json` (start it with `ORCA open --json` if needed), and prefer `--json` for agent-driven calls. -## If `skills get` is unavailable (older Orca) +## If an older Orca does not recognize `skills get` -A pre-guide Orca binary does not know `skills get` and exits nonzero. Do not dead-end and -do not invent commands. Use only this bounded, read-only bootstrap to orient: +Use this fallback only when the selected binary explicitly reports that `skills get` is an +unknown command. Another failure is not proof of an older binary; report it rather than +guessing or changing executables. For a confirmed pre-guide binary, use only this bounded, +read-only bootstrap to orient. Do not dead-end and do not invent commands: ```text ORCA status --json diff --git a/skills/orca-cli/SKILL.md b/skills/orca-cli/SKILL.md index bbb06969700..ed78dc784c9 100644 --- a/skills/orca-cli/SKILL.md +++ b/skills/orca-cli/SKILL.md @@ -42,6 +42,9 @@ Below, `ORCA` is a placeholder for the executable you resolved. Substitute it be running anything; do not create a shell variable or run `ORCA` literally. This works the same way in POSIX shells, PowerShell, and cmd.exe. +If the selected executable cannot run, report its exact error and stop. Do not fall through +to another executable, which could silently target a different Orca build. + ## Load the full guide before running Orca commands ```text @@ -57,10 +60,12 @@ change between Orca releases, and this file deliberately no longer lists them. C app is up with `ORCA status --json` (start it with `ORCA open --json` if needed), and prefer `--json` for agent-driven calls. -## If `skills get` is unavailable (older Orca) +## If an older Orca does not recognize `skills get` -A pre-guide Orca binary does not know `skills get` and exits nonzero. Do not dead-end and -do not invent commands. Use only this bounded, read-only bootstrap to orient: +Use this fallback only when the selected binary explicitly reports that `skills get` is an +unknown command. Another failure is not proof of an older binary; report it rather than +guessing or changing executables. For a confirmed pre-guide binary, use only this bounded, +read-only bootstrap to orient. Do not dead-end and do not invent commands: ```text ORCA status --json