Skip to content

docs(cli): document that --spec-model enables spec mode - #78

Closed
lukealvoeiro wants to merge 1 commit into
mainfrom
cli-args-audit/spec-model-docs
Closed

lukealvoeiro wants to merge 1 commit into
mainfrom
cli-args-audit/spec-model-docs

Conversation

@lukealvoeiro

Copy link
Copy Markdown
Contributor

Gap

EXEC-N101 (F, P3). droid exec --spec-model <id> turns on spec mode by itself, but the docs present it only as a model override and show it only together with --use-spec.

Code counterpart (help text): https://github.com/Factory-AI/factory-mono/pull/26964

Evidence

  • Docs: docs/reference/cli-reference.mdx:140 "Use a different model ID for specification planning"; docs/cli/droid-exec/overview.mdx:357-360 shows only droid exec --use-spec --spec-model .... JP mirrors: docs/jp/reference/cli-reference.mdx:70, docs/jp/cli/droid-exec/overview.mdx:322-324.
  • Code (factory-mono apps/cli/src/entrypoints/exec): handler.ts:1113 if (options.useSpec || options.specModel) sets spec mode; handler.ts:1359 useSpec: options.useSpec || Boolean(options.specModel); oneShotJsonRpcOptions.ts:82; assertValidOptions.ts:260,336,340 treat specModel like useSpec. --spec-reasoning-effort does not enable spec mode.
  • Commands (hermetic wrapper):
    • droid exec --spec-model claude-haiku-4-5-20251001 -s abc 'hi' → Invalid flags: --session-id cannot be used with --use-spec or --spec-model. Spec mode is only supported for new sessions. (exit 1), same as --use-spec -s abc.
    • droid exec --spec-reasoning-effort high -s abc 'hi' does not hit the spec check.
    • With a mock model, droid exec --spec-model custom:Mock-0 --auto low ... refuses file edits with "Spec mode is active".

Why it matters

Users who pass only --spec-model are surprised when droid plans first instead of executing, and hit spec-only restrictions (no --session-id, no --fork, no mission mode).

Fix

  • CLI reference (EN + JP): --spec-model is now "Model to use for spec mode; enables spec mode (implies --use-spec) and selects the model ID for the planning phase"; the example includes a prompt. --spec-reasoning-effort notes it does not enable spec mode on its own.
  • Exec overview (EN + JP): says --spec-model implies --use-spec, shows the two equivalent commands, and notes --spec-reasoning-effort needs --use-spec or --spec-model.

Validation

With the hermetic wrapper, each new or changed example gets past option validation and stops only at the expected auth failure: droid exec --spec-model claude-opus-4-7 'add user profiles', droid exec --spec-model claude-haiku-4-5-20251001 --auto medium 'implement feature X', droid exec --use-spec --spec-model claude-haiku-4-5-20251001 --auto medium 'implement feature X'. git show --stat HEAD lists only the four intended files. Site rendering not checked.

Found by the scheduled CLI arguments audit.

droid exec treats --spec-model as enabling spec mode (implies --use-spec).
State this in the CLI reference and the droid exec overview, and note that
--spec-reasoning-effort does not enable spec mode on its own. Mirrored in
the Japanese pages.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@lukealvoeiro lukealvoeiro added the cli-args-audit CLI arguments documentation and behavior audits label Oct 18, 2026
@factory-droid

factory-droid Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Droid finished @lukealvoeiro's task —— View job


LGTM. The documentation changes accurately clarify that --spec-model enables spec mode, while --spec-reasoning-effort does not.

0 inline comments posted

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli-args-audit CLI arguments documentation and behavior audits

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant