Refine sm-flow trigger and scale rules

This commit is contained in:
aruo
2026-07-05 14:30:15 +08:00
parent 433f7a93a4
commit e4f6e013a5
28 changed files with 937 additions and 105 deletions
@@ -0,0 +1,72 @@
# Validate SM Flow Explicit Trigger Decisions
## Capability Source
- Discover: sm-flow built-in protocol.
- Propose/specify/apply/archive: fallback protocol from `.agents/skills/sm-flow/references/fallbacks.md`.
- Missing external capability: OpenSpec CLI and OpenSpec child skills are not directly callable from the current tool surface.
- Impact: validation is file-based and static; it can verify current protocol text and artifacts but cannot exercise a real external OpenSpec command.
- Remaining risk: future tool availability may require rechecking integration behavior.
## Context
- `devflow/index.md` contains related sm-flow history:
- `dev-flow-skill-evaluation`
- `sm-flow-v3-1-upgrade`
- `sm-flow-execution-hardening`
- `devflow/glossary/CONTEXT.md` is project-level glossary and does not define sm-flow protocol terms.
- Current validation change is new: `validate-sm-flow-explicit-trigger`.
## Scale Decision
- Scale: `micro`.
- Reason: documentation/protocol validation only, no business code, no external interface contract change.
- Interface impact: L1 internal documentation/protocol validation.
- Micro constraints retained: proposal, specs, tasks, commit gate, apply verification, devflow archive, archive confirmation.
## Question Pool
| Question | Mode | Status | Result |
| --- | --- | --- | --- |
| Does top-level trigger text require explicit sm-flow invocation only? | evidence-driven | confirmed | `SKILL.md` frontmatter and trigger section both state explicit invocation only. |
| Are scale definitions centralized in `references/scales.md`? | evidence-driven | confirmed | Scan for scale definition headings and definition phrases only matched `references/scales.md`. |
| Are time/minute metrics absent from skill rules? | evidence-driven | confirmed | Obsolete time metric scan returned no matches. |
| Does fallback usage remain explicit and recorded? | evidence-driven | confirmed | This file records fallback source, impact, and remaining risk. |
| Is user confirmation needed for product scope? | user-interview | not required | User already requested this validation run; no unresolved product preference blocks this micro validation. |
## Cross-Artifact Alignment
| Link | Status | Notes |
| --- | --- | --- |
| brief/prd -> proposal | not applicable | Micro validation has no separate brief/prd before archive. |
| proposal -> design artifact | aligned | Proposal contains inline micro design notes. |
| design artifact -> specs | aligned | Specs cover explicit trigger, scale source, no time metrics, and fallback recording. |
| specs -> tasks | aligned | Tasks include scans, validation, patching if needed, and archive handoff. |
## Commit Gate
- Passed.
- Proposal explains why, what, scope, non-goals, inline design, and risks.
- Specs describe observable validation behavior.
- Tasks are executable and have validation evidence.
- Cross-artifact alignment has no unresolved gap.
- `.committed` created.
## Apply Log
- Validation found one consistency issue: `phase-contracts.md` still hard-coded `design.md` in specify/audit wording even though `scales.md` allows micro changes to use an equivalent inline design section.
- Fix applied: changed those references to "设计产物" where the rule must respect the current scale.
- Fix applied: `fallbacks.md` audit fallback now says to repair the design artifact instead of only `design.md`.
- Fix applied: `operating-rules.md` startup checks now include explicit natural-language requests to use sm-flow.
- Validation commands passed:
- `python C:/Users/兜/.codex/skills/.system/skill-creator/scripts/quick_validate.py .agents/skills/sm-flow`
- reference integrity scan for `references/*.md`
- obsolete wording scan for time metrics, old skip semantics, old conflict wording, and fixed `design.md` expressions.
- scale definition duplication scan.
## Archive Log
- User confirmed OpenSpec archive.
- External `openspec-archive-change` was not directly callable in the current tool surface.
- Archived by moving the OpenSpec change to `openspec/archive/2026-07-05-validate-sm-flow-explicit-trigger/`, matching existing repository archive convention.
- `devflow/index.md` status updated to `archived`.