Files

54 lines
2.3 KiB
Markdown

# sm-flow Explicit Trigger Spec
## ADDED Requirements
### Requirement: Explicit Trigger Only
`sm-flow` SHALL be used only when the user explicitly invokes `/sm-flow`, `/sm-flow explore`, `/sm-flow apply`, `/sm-flow archive`, or clearly asks to use the sm-flow process in natural language.
#### Scenario: Plain engineering request
- **Given** a user asks for an engineering task that mentions OpenSpec, devflow, cross-module work, or clarification
- **When** the user does not explicitly request sm-flow
- **Then** the agent handles the task as ordinary engineering work
- **And** the agent does not auto-trigger sm-flow based on task type
#### Scenario: Explicit sm-flow request
- **Given** a user invokes `/sm-flow` or clearly asks to use sm-flow
- **When** the agent starts the process
- **Then** the agent follows the visible checkpoints Discover, Commit, Apply, and Archive
- **And** the internal phase order remains clarify, context, propose, grill, specify, audit, commit, apply, archive
### Requirement: Scale Rules Have One Source
The `micro / standard / complex` scale definitions SHALL be defined in `references/scales.md`; other files may only reference that file instead of redefining scale details.
#### Scenario: Scale guidance is needed
- **Given** a phase needs to choose or enforce a scale
- **When** the rule is read
- **Then** it points to `references/scales.md`
- **And** no other reference file carries a competing full definition of the three scales
### Requirement: No Time-Based Skill Metrics
The skill SHALL NOT use minute, hour, second, or timebox metrics to define scale, effort, or validation thresholds.
#### Scenario: Protocol text is scanned
- **Given** the sm-flow skill files are scanned
- **When** obsolete time metrics are searched
- **Then** no matching scale or effort rule remains
### Requirement: Fallback Capability Is Explicit
When OpenSpec CLI or child skill capabilities are unavailable, `sm-flow` SHALL use `references/fallbacks.md` only as an explicit fallback and record the capability source in the current devflow process log.
#### Scenario: External capability unavailable
- **Given** OpenSpec child skills are not directly callable
- **When** a change is still executed
- **Then** the decisions log records fallback source, impact, and remaining risk
- **And** the fallback does not skip context, grill, commit, apply, or archive gates