fix(orch): make /goal availability an empirical check, not predictive - #282
Merged
Conversation
…ve one /goal is a native slash command, not an introspectable tool -- no prose instruction can reliably predict its absence ahead of time (see GRILL-goal-engine-detection-2026-07-14.md). Step 6's real condition emission now doubles as the availability check: no observable effect means the harness doesn't support /goal, reported with a corrected remedy (assess scope, implement directly by default; --swarm only for genuinely parallelizable specs) rather than the old 'Upgrade Claude Code' advice, which was actively wrong for this failure class.
…eck fix PR #283 landed on dev after this branch was created, adding a new Step 2 (issue-premise pre-filter) and renumbering every subsequent step. Reconciled by adopting dev's numbering and re-anchoring this branch's precondition-table caveat and Step 7 emission-check language at their new positions.
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
/craft:orch:drive's precondition table listed "/goalavailable (Claude Code >= v2.1.139)"as a checkable precondition, alongside a remedy of "Upgrade Claude Code". Live use this session
(driving an approved savant SPEC from a non-CLI harness) showed this check has no way to
actually run:
/goalis a native slash command, not an introspectable tool, so no proseinstruction can predict its absence ahead of time — and the remedy shown was actively wrong
advice for that failure class (upgrading Claude Code CLI version does nothing for a session
that isn't running Claude Code CLI at all).
/goalemission now doubles as the availability check: no separate probe (whichwould either be redundant or set a real goal state), just observe the actual attempt.
specs);
--swarmonly for specs that genuinely decompose into independent parallel work —replacing a bare "use --swarm" pointer that this same session's own grill had already found
to be an over-broad recommendation.
/goal-dependent surface (workflow-engine,plan-orchestrator) has the same gap — onlyorch:drive/drive-enginedepend on/goal.Full trace:
docs/specs/INVESTIGATE-goal-engine-detection-2026-07-14.md+docs/specs/GRILL-goal-engine-detection-2026-07-14.md(5 grilled branches, 2 of whichoverturned the initial fix idea before landing on this one).
Test plan
python3 -m pytest tests/test_craft_plugin.py -k "drive or orch"→ 3/3 pass (pre-check,targeted)
python3 -m pytest tests/test_craft_plugin.py→ 25/25 pass (full unit suite, no regressions)suite is the appropriate tier for a docs/command-instruction change; no e2e/dogfood run needed.
Closes the live gap hit this session driving savant issue #198's SPEC through
orch:drive.