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 @@
Devflow archive files are ready for validate-sm-flow-standard-change.
@@ -0,0 +1 @@
Committed OpenSpec for validate-sm-flow-standard-change.
@@ -0,0 +1,35 @@
# Design
## Scale
Scale: `standard`.
Rationale: this validation has a clear target and no business-code risk, but it intentionally exercises the full normal artifact set rather than the reduced micro path.
## Interface Impact
Interface impact: L1 internal documentation/protocol validation.
No API, DTO, database, event, service, or cross-module runtime contract changes are expected.
## Artifact Model
Standard validation requires:
- OpenSpec: `proposal.md`, independent `design.md`, `specs/`, `tasks.md`.
- Devflow archive: `brief.md`, `evidence.md`, `decisions.md`, `acceptance.md`.
The validation checks that current skill rules point to `references/scales.md` for the exact standard artifact requirements instead of redefining them elsewhere.
## Execution Design
1. Build the standard OpenSpec fixture.
2. Run static scans for standard artifact wording and duplicated scale definitions.
3. Run skill validation and reference integrity checks.
4. Record evidence separately in `devflow/.../evidence.md`.
5. Mark the fixture as committed only if artifact completeness and alignment pass.
## Risks
- The external OpenSpec archive/apply commands are not exposed in the current tool surface; this validation uses file-based checks.
- File presence does not prove independent-agent usability; forward-testing remains a separate optional validation surface.
@@ -0,0 +1,39 @@
# Validate SM Flow Standard Change
## Why
The previous validation covered a micro change. A standard change has stricter expectations: an independent `design.md`, complete OpenSpec artifacts, and a separate `evidence.md` in devflow.
This validation checks whether the current `sm-flow` skill can still describe and validate a normal standard change after the recent simplification work.
## What Changes
- Create a standard-scale validation fixture for `sm-flow`.
- Verify standard OpenSpec artifacts exist and are aligned: `proposal.md`, `design.md`, `specs/`, and `tasks.md`.
- Verify standard devflow archive artifacts exist: `brief.md`, `evidence.md`, `decisions.md`, and `acceptance.md`.
- Verify standard still uses the same four visible checkpoints and nine internal phases without exposing phase names as user commands.
## Scope
In scope:
- Standard-scale validation records.
- Static checks over `.agents/skills/sm-flow`.
- Narrow fixes to the skill if standard validation reveals inconsistency.
Out of scope:
- Business code changes.
- Reworking archived historical changes.
- Changing the current trigger policy.
## Non-Goals
- This change does not test a complex migration, rollback, or cross-team interface change.
- This change does not require independent browser/manual validation.
- This change does not replace the micro validation already archived.
## Risks
- A standard validation fixture can become noise if left unarchived; status must be explicit.
- If standard rules are only validated by file presence, semantic drift may still require future forward-testing.
@@ -0,0 +1,36 @@
# sm-flow Standard Change Spec
## ADDED Requirements
### Requirement: Standard Change Has Full OpenSpec Artifacts
A standard `sm-flow` change SHALL have `proposal.md`, independent `design.md`, `specs/`, and `tasks.md`.
#### Scenario: Standard fixture is committed
- **Given** a change is classified as `standard`
- **When** commit validation runs
- **Then** `proposal.md`, `design.md`, at least one spec file, and `tasks.md` exist
- **And** the artifacts are aligned from proposal to design to specs to tasks
### Requirement: Standard Archive Has Evidence
A standard `sm-flow` archive SHALL include `brief.md`, `evidence.md`, `decisions.md`, and `acceptance.md` in devflow.
#### Scenario: Standard fixture is archived or accepted
- **Given** a standard validation change has completed apply checks
- **When** devflow records are written
- **Then** `evidence.md` exists as a separate file
- **And** it records the static and script validation evidence used for acceptance
### Requirement: Scale Definitions Remain Centralized
Standard-specific artifact requirements SHALL be defined by `references/scales.md`; other files may reference those requirements but not carry a competing full definition.
#### Scenario: Standard wording is scanned
- **Given** sm-flow references mention standard behavior
- **When** scale definition phrases are scanned
- **Then** complete standard definitions appear only in `references/scales.md`
- **And** operational files defer to the current scale rather than hard-coding alternative standard rules
@@ -0,0 +1,29 @@
# Tasks
## 1. Standard OpenSpec Fixture
- [x] 1.1 Create `proposal.md`.
- [x] 1.2 Create independent `design.md`.
- [x] 1.3 Create at least one spec under `specs/`.
- [x] 1.4 Create `tasks.md`.
## 2. Standard Validation
- [x] 2.1 Run scale duplication scan.
- [x] 2.2 Run obsolete wording scan.
- [x] 2.3 Run skill quick validation.
- [x] 2.4 Run reference integrity scan.
## 3. Commit Gate
- [x] 3.1 Confirm OpenSpec artifact completeness.
- [x] 3.2 Confirm proposal -> design -> specs -> tasks alignment.
- [x] 3.3 Create `.committed`.
## 4. Devflow Records
- [x] 4.1 Create `brief.md`.
- [x] 4.2 Create separate `evidence.md`.
- [x] 4.3 Create `decisions.md`.
- [x] 4.4 Create `acceptance.md`.
- [x] 4.5 Update `devflow/index.md`.