Bug Description
BobIntegration doesn't override build_exec_args(), so it inherits the IntegrationBase no-op returning None. Callers read None as "this CLI is unavailable", so every workflow command:/prompt: step targeting Bob fails, even with bob installed and on PATH.
Separately, BobIntegration extends IntegrationBase directly and inherits its hardcoded . separator, so build_command_invocation("speckit.specify") returns /speckit.specify while skills-mode projects install skills at .bob/skills/speckit-specify/. The class already computes the right separator in effective_invoke_separator().
Related: #2416 (build_exec_args audit — Bob isn't in its table, since it doesn't currently dispatch).
Steps to Reproduce
$ specify workflow run speckit -i spec="hello"
Running workflow: Full SDD Cycle (speckit)
Version: 1.0.0
▸ [specify] speckit.specify …
Status: failed
Run ID: a9de034e
Error: Cannot dispatch command 'speckit.specify': integration 'bob' CLI not found or not installed. Install the CLI tool or check
'specify integration list'.
bob is installed and on PATH:
$ bob -h
Usage: bob [options] [command]
Expected Behavior
The step dispatches to Bob, as it does for claude, codex, cursor-agent and goose.
Actual Behavior
The run fails at the first step with "CLI not found or not installed", which is misleading — the CLI is present and working.
Specify CLI Version
1.0.5
AI Agent
IBM Bob
Operating System
macOS Tahoe 26.3
Python Version
Python 3.13
Error Logs
Status: failed
Run ID: a9de034e
Error: Cannot dispatch command 'speckit.specify': integration 'bob' CLI not found or not installed. Install the CLI tool or check 'specify integration list'.
Additional Context
No response
Bug Description
BobIntegrationdoesn't overridebuild_exec_args(), so it inherits theIntegrationBaseno-op returningNone. Callers readNoneas "this CLI is unavailable", so every workflowcommand:/prompt:step targeting Bob fails, even withbobinstalled and on PATH.Separately,
BobIntegrationextendsIntegrationBasedirectly and inherits its hardcoded.separator, sobuild_command_invocation("speckit.specify")returns/speckit.specifywhile skills-mode projects install skills at.bob/skills/speckit-specify/. The class already computes the right separator ineffective_invoke_separator().Related: #2416 (build_exec_args audit — Bob isn't in its table, since it doesn't currently dispatch).
Steps to Reproduce
bobis installed and on PATH:Expected Behavior
The step dispatches to Bob, as it does for claude, codex, cursor-agent and goose.
Actual Behavior
The run fails at the first step with "CLI not found or not installed", which is misleading — the CLI is present and working.
Specify CLI Version
1.0.5
AI Agent
IBM Bob
Operating System
macOS Tahoe 26.3
Python Version
Python 3.13
Error Logs
Additional Context
No response