fix(skills): distinguish guide lookup failures

This commit is contained in:
Brennan Benson
2026-07-17 15:14:13 -07:00
parent 426bae2fbc
commit f6cddc73ef
5 changed files with 39 additions and 20 deletions
@@ -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)
+6 -6
View File
@@ -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"
}
]
},
+6 -6
View File
@@ -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"
}
]
}
+8 -3
View File
@@ -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
+8 -3
View File
@@ -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