diff --git a/spec_artifacts_iso/skeletons/fr.md b/spec_artifacts_iso/skeletons/fr.md index 2709cc6..d78e550 100644 --- a/spec_artifacts_iso/skeletons/fr.md +++ b/spec_artifacts_iso/skeletons/fr.md @@ -38,6 +38,15 @@ relationships: (ADR 0007) — so they become real graph edges, not text. Cross-repo references use `ix://org/repo/name`. `quire fix` converts bare-id mentions into these relative-path links for you. + - Requirement statements (Description, Behavior, Constraints cells) + SHOULD follow EARS (advisory grammar `iso-spec-core`, FR-042): one + `shall` per statement, a named subject, and a concrete response — + avoid vague verbs (`support`/`handle`/`manage`/`process`/`provide`/ + `enable`). When conditional, lead with a canonical trigger: + `When , the shall …` (event) / `While , …` + (state) / `If , then the shall …` (unwanted) / + `Where , …` (optional) — NOT `On startup, …`. `quire + validate` warns on violations; the warnings never block. - Keep headings unique per level; nest ≤2 levels below the H1 title (through H3). --> # [FR-001] Verify checksums on artifact import diff --git a/spec_artifacts_iso/skeletons/nfr.md b/spec_artifacts_iso/skeletons/nfr.md index 542547b..afebb7b 100644 --- a/spec_artifacts_iso/skeletons/nfr.md +++ b/spec_artifacts_iso/skeletons/nfr.md @@ -21,6 +21,11 @@ relationships: IS the NFR's acceptance-criteria equivalent; use the optional Acceptance Criteria section only for policy NFRs whose compliance checks don't reduce to metrics. + - The Statement SHOULD follow EARS (advisory grammar `iso-spec-core`, + FR-042): one `shall`, a named subject, a concrete response. NFRs are + typically ubiquitous or state-driven (`The system shall sustain … + while under load`); a trigger is not required and its absence is + never a defect. `quire validate` warns on violations (never blocks). - Keep headings unique per level; nest ≤2 levels below the H1 title (through H3). --> # [NFR-001] Import throughput under sustained load diff --git a/spec_artifacts_iso/skeletons/str.md b/spec_artifacts_iso/skeletons/str.md index 7b537e8..6a2372b 100644 --- a/spec_artifacts_iso/skeletons/str.md +++ b/spec_artifacts_iso/skeletons/str.md @@ -16,7 +16,10 @@ relationships: Constraints (Contextual), Dependencies, Priority and Risk (Informative), Notes (Informative), Traceability. - State the need normatively (shall/must/require) — a `str-shall-language` - lint advisory checks this. + lint advisory checks this. The need SHOULD also follow EARS (advisory + grammar `iso-spec-core`, FR-042): one `shall`, a concrete response; + the subject may be the stakeholder or product (`The operator shall + …`), not only "the system". `quire validate` warns on violations. - Keep headings unique per level; nest ≤2 levels below the H1 title. --> # [StR-001] Operators need tamper-evident artifact imports