mirror of
https://github.com/github/spec-kit.git
synced 2026-03-24 22:33:08 +00:00
fix(commands): rename NFR references to success criteria in analyze and clarify (#1935)
* fix(commands): rename NFR references to success criteria in analyze and clarify * fix(analyze): align Success Criteria description and inventory keys with spec template - Reword "non-functional targets" to "measurable outcomes" to match the spec template's broader scope (performance, user success, business impact) - Use explicit FR-/SC- identifiers as primary stable keys in the requirements inventory instead of derived slugs alone
This commit is contained in:
@@ -44,7 +44,7 @@ Load only the minimal necessary context from each artifact:
|
|||||||
|
|
||||||
- Overview/Context
|
- Overview/Context
|
||||||
- Functional Requirements
|
- Functional Requirements
|
||||||
- Non-Functional Requirements
|
- Success Criteria (measurable outcomes — e.g., performance, security, availability, user success, business impact)
|
||||||
- User Stories
|
- User Stories
|
||||||
- Edge Cases (if present)
|
- Edge Cases (if present)
|
||||||
|
|
||||||
@@ -71,7 +71,7 @@ Load only the minimal necessary context from each artifact:
|
|||||||
|
|
||||||
Create internal representations (do not include raw artifacts in output):
|
Create internal representations (do not include raw artifacts in output):
|
||||||
|
|
||||||
- **Requirements inventory**: Each functional + non-functional requirement with a stable key (derive slug based on imperative phrase; e.g., "User can upload file" → `user-can-upload-file`)
|
- **Requirements inventory**: For each Functional Requirement (FR-###) and Success Criterion (SC-###), record a stable key. Use the explicit FR-/SC- identifier as the primary key when present, and optionally also derive an imperative-phrase slug for readability (e.g., "User can upload file" → `user-can-upload-file`). Include only Success Criteria items that require buildable work (e.g., load-testing infrastructure, security audit tooling), and exclude post-launch outcome metrics and business KPIs (e.g., "Reduce support tickets by 50%").
|
||||||
- **User story/action inventory**: Discrete user actions with acceptance criteria
|
- **User story/action inventory**: Discrete user actions with acceptance criteria
|
||||||
- **Task coverage mapping**: Map each task to one or more requirements or stories (inference by keyword / explicit reference patterns like IDs or key phrases)
|
- **Task coverage mapping**: Map each task to one or more requirements or stories (inference by keyword / explicit reference patterns like IDs or key phrases)
|
||||||
- **Constitution rule set**: Extract principle names and MUST/SHOULD normative statements
|
- **Constitution rule set**: Extract principle names and MUST/SHOULD normative statements
|
||||||
@@ -105,7 +105,7 @@ Focus on high-signal findings. Limit to 50 findings total; aggregate remainder i
|
|||||||
|
|
||||||
- Requirements with zero associated tasks
|
- Requirements with zero associated tasks
|
||||||
- Tasks with no mapped requirement/story
|
- Tasks with no mapped requirement/story
|
||||||
- Non-functional requirements not reflected in tasks (e.g., performance, security)
|
- Success Criteria requiring buildable work (performance, security, availability) not reflected in tasks
|
||||||
|
|
||||||
#### F. Inconsistency
|
#### F. Inconsistency
|
||||||
|
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ Execution steps:
|
|||||||
- Functional ambiguity → Update or add a bullet in Functional Requirements.
|
- Functional ambiguity → Update or add a bullet in Functional Requirements.
|
||||||
- User interaction / actor distinction → Update User Stories or Actors subsection (if present) with clarified role, constraint, or scenario.
|
- User interaction / actor distinction → Update User Stories or Actors subsection (if present) with clarified role, constraint, or scenario.
|
||||||
- Data shape / entities → Update Data Model (add fields, types, relationships) preserving ordering; note added constraints succinctly.
|
- Data shape / entities → Update Data Model (add fields, types, relationships) preserving ordering; note added constraints succinctly.
|
||||||
- Non-functional constraint → Add/modify measurable criteria in Non-Functional / Quality Attributes section (convert vague adjective to metric or explicit target).
|
- Non-functional constraint → Add/modify measurable criteria in Success Criteria > Measurable Outcomes (convert vague adjective to metric or explicit target).
|
||||||
- Edge case / negative flow → Add a new bullet under Edge Cases / Error Handling (or create such subsection if template provides placeholder for it).
|
- Edge case / negative flow → Add a new bullet under Edge Cases / Error Handling (or create such subsection if template provides placeholder for it).
|
||||||
- Terminology conflict → Normalize term across spec; retain original only if necessary by adding `(formerly referred to as "X")` once.
|
- Terminology conflict → Normalize term across spec; retain original only if necessary by adding `(formerly referred to as "X")` once.
|
||||||
- If the clarification invalidates an earlier ambiguous statement, replace that statement instead of duplicating; leave no obsolete contradictory text.
|
- If the clarification invalidates an earlier ambiguous statement, replace that statement instead of duplicating; leave no obsolete contradictory text.
|
||||||
|
|||||||
Reference in New Issue
Block a user