# summary

Record a delivery baseline estimate for a story before the workflow starts.

# description

Appends an estimate record to `.setup-agents/state/estimates.jsonl` with the
declared solo, AI-unguided, and sizing baselines. Once the workflow run
completes, `sf setup-agents workflow benchmark` uses these values to compute
actual vs. baseline delta automatically.

# flags.story.summary

Story or backlog item id.

# flags.story.description

The story id used in `sf setup-agents workflow run --story <id>` (e.g. `US-42`).

# flags.sizing.summary

Story size label.

# flags.sizing.description

T-shirt size in human-effort days: `xxs` (<4h) `xs` (4-8h) `s` (1-2d) `m` (3-5d) `l` (6-8d) `xl` (9-11d) `xxl` (12+d). `xxl` is a split gate — it cannot be estimated; break the story down first.

# flags.solo-days.summary

Estimated days a developer would take working alone.

# flags.solo-days.description

Baseline without any AI assistance. Used as the denominator for `vsSoloPct` in
the benchmark report.

# flags.ai-unguided-days.summary

Estimated days with unguided AI (no orchestration).

# flags.ai-unguided-days.description

Baseline with a plain AI assistant but without setup-agents orchestration. Used
as the denominator for `vsAiUnguidedPct` — the signal that measures the specific
value added by the workflow engine.

# flags.ai-guided-days.summary

Estimated days with setup-agents guided workflow.

# flags.ai-guided-days.description

Optional. Predicted delivery time when using setup-agents with profiles and
orchestration. Used as the denominator for `vsAiGuidedPct` — the ROI signal
that shows how actual performance compares to the guided estimate. Can be
provided at initial declaration or as a backfill on existing estimates by
re-running this command with only this flag (other flags are re-read from the
last record).

# flags.confidence.summary

Confidence level in these estimates.

# flags.confidence.description

How confident you are in the declared baselines. Options: `low` `medium` `high`.
Defaults to `medium`.

# flags.declared-by.summary

Profile declaring the estimate.

# flags.declared-by.description

The setup-agents profile making the declaration (e.g. `pm`, `architect`).
Defaults to `pm`.

# flags.ignore-history.summary

Skip historical benchmark data when producing the estimate.

# examples

- Record a medium-sized story baseline before starting the workflow:

  <%= config.bin %> <%= command.id %> --story US-42 --sizing m --solo-days 3 --ai-unguided-days 2

- Record with explicit confidence and declarer:

  <%= config.bin %> <%= command.id %> --story US-42 --sizing l --solo-days 5 --ai-unguided-days 3 --confidence high --declared-by architect

# info.created

Estimate recorded: %s (story=%s sizing=%s solo=%sd ai=%sd confidence=%s)

# error.xxlMustSplit

Story %s is sized XXL (12+ human-days, larger than a sprint), which cannot be estimated. Break it into smaller stories (XL or below) and estimate each one. XXL is a split gate, not a size.
