qfai 1.7.8 → 1.7.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -70
- package/assets/init/.qfai/README.md +11 -16
- package/assets/init/.qfai/assistant/agents/acceptance-test-engineer.md +51 -0
- package/assets/init/.qfai/assistant/agents/architecture-reviewer.md +57 -0
- package/assets/init/.qfai/assistant/agents/backend-engineer.md +40 -31
- package/assets/init/.qfai/assistant/agents/completion-reviewer.md +48 -0
- package/assets/init/.qfai/assistant/agents/delivery-planner.md +52 -0
- package/assets/init/.qfai/assistant/agents/devops-ci-engineer.md +31 -28
- package/assets/init/.qfai/assistant/agents/discovery-analyst.md +50 -0
- package/assets/init/.qfai/assistant/agents/doc-steward.md +30 -20
- package/assets/init/.qfai/assistant/agents/frontend-engineer.md +40 -31
- package/assets/init/.qfai/assistant/agents/implementation-reviewer.md +58 -0
- package/assets/init/.qfai/assistant/agents/orchestrator.md +19 -2
- package/assets/init/.qfai/assistant/agents/product-experience-architect.md +59 -0
- package/assets/init/.qfai/assistant/agents/product-surface-reviewer.md +60 -0
- package/assets/init/.qfai/assistant/agents/qa-gatekeeper.md +53 -48
- package/assets/init/.qfai/assistant/agents/qa-strategist.md +49 -0
- package/assets/init/.qfai/assistant/agents/requirements-analyst.md +32 -29
- package/assets/init/.qfai/assistant/agents/requirements-reviewer.md +48 -0
- package/assets/init/.qfai/assistant/agents/solution-architect.md +59 -0
- package/assets/init/.qfai/assistant/agents/test-design-analyst.md +64 -0
- package/assets/init/.qfai/assistant/instructions/agent-selection.md +64 -50
- package/assets/init/.qfai/assistant/instructions/communication.md +17 -0
- package/assets/init/.qfai/assistant/instructions/constitution.md +36 -1
- package/assets/init/.qfai/assistant/instructions/drift-protocol.md +1 -1
- package/assets/init/.qfai/assistant/instructions/requirements-decomposition.md +20 -13
- package/assets/init/.qfai/assistant/instructions/workflow.md +2 -1
- package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +32 -31
- package/assets/init/.qfai/assistant/skills/qfai-atdd/references/test-case-depth-checklist.md +80 -0
- package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +21 -15
- package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +95 -61
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/rcp_footer.md +17 -85
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +9 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/02_Inception-Deck.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/03_Story-Workshop.md +17 -60
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/04_Sources.md +69 -2
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/06_REQ.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/07_NFR.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/09_Constraints.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/10_Policy.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/11_OQ-Register.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/12_OQ-Resolution-Log.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/13_Deferred.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +25 -16
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/99_delta.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/prototyping.yaml +9 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/Rxx_reviewer.md +8 -4
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/review_request.md +11 -7
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/summary.json +6 -44
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/00_index.md +29 -14
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_implementation_strategy.md +20 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/11_design_taste_interview.md +45 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_design_eval_invariant.md +68 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_design_eval_trend_derived.md +68 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/22_design_eval_product_specific.md +68 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_design_eval_aggregate.md +41 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/24_design_eval_dynamic_overrides.md +28 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_option_comparison.md +56 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_selected_anchor_screen.md +42 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_screen_contracts.md +44 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md +36 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +65 -67
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +188 -267
- package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +91 -57
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/rcp_footer.md +21 -80
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/evidence/import-lite.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/_policies/11_Slice-Policy.md +50 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/templates/specs/spec/06_Test-Cases.md +23 -3
- package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +25 -17
- package/assets/init/.qfai/assistant/steering/agent-catalog.yml +194 -0
- package/assets/init/.qfai/assistant/steering/agent-routing.yml +176 -0
- package/assets/init/.qfai/assistant/steering/cli-ux-guidelines.md +49 -0
- package/assets/init/.qfai/assistant/steering/manifest.md +44 -19
- package/assets/init/.qfai/assistant/steering/product.md +53 -11
- package/assets/init/.qfai/assistant/steering/research-first-protocol.md +58 -0
- package/assets/init/.qfai/assistant/steering/review-gate.rules.yml +17 -66
- package/assets/init/.qfai/assistant/steering/review-profiles.yml +30 -0
- package/assets/init/.qfai/assistant/steering/structure.md +30 -16
- package/assets/init/.qfai/assistant/steering/tech.md +37 -21
- package/assets/init/.qfai/assistant/steering/ui-definition-protocol.md +54 -0
- package/assets/init/.qfai/contracts/README.md +10 -4
- package/assets/init/.qfai/contracts/design/README.md +32 -0
- package/assets/init/.qfai/contracts/ui/README.md +5 -3
- package/assets/init/.qfai/discussion/README.md +52 -5
- package/assets/init/.qfai/evidence/README.md +143 -116
- package/assets/init/.qfai/report/README.md +1 -1
- package/assets/init/.qfai/review/README.md +24 -9
- package/assets/init/.qfai/specs/README.md +5 -2
- package/assets/init/root/qfai.config.yaml +13 -0
- package/assets/uix-rev/comparison-review.md +24 -7
- package/assets/uix-rev/contracts-review.md +17 -10
- package/assets/uix-rev/scoring-review.md +42 -6
- package/assets/uix-rev/strategy-review.md +13 -9
- package/dist/cli/index.cjs +15646 -11383
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.mjs +10846 -6582
- package/dist/cli/index.mjs.map +1 -1
- package/dist/index.cjs +10885 -6287
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +766 -198
- package/dist/index.d.ts +766 -198
- package/dist/index.mjs +10858 -6263
- package/dist/index.mjs.map +1 -1
- package/package.json +11 -3
- package/assets/init/.qfai/assistant/agents/architect-reviewer.md +0 -65
- package/assets/init/.qfai/assistant/agents/architect.md +0 -49
- package/assets/init/.qfai/assistant/agents/atdd-api-implementer.md +0 -49
- package/assets/init/.qfai/assistant/agents/atdd-e2e-implementer.md +0 -48
- package/assets/init/.qfai/assistant/agents/atdd-integration-implementer.md +0 -48
- package/assets/init/.qfai/assistant/agents/backend-reviewer.md +0 -66
- package/assets/init/.qfai/assistant/agents/code-reviewer.md +0 -67
- package/assets/init/.qfai/assistant/agents/contract-designer.md +0 -49
- package/assets/init/.qfai/assistant/agents/coverage-planner.md +0 -49
- package/assets/init/.qfai/assistant/agents/design-owner.md +0 -48
- package/assets/init/.qfai/assistant/agents/design-review-lead.md +0 -68
- package/assets/init/.qfai/assistant/agents/facilitator.md +0 -48
- package/assets/init/.qfai/assistant/agents/frontend-reviewer.md +0 -66
- package/assets/init/.qfai/assistant/agents/interviewer.md +0 -45
- package/assets/init/.qfai/assistant/agents/option-explorer.md +0 -51
- package/assets/init/.qfai/assistant/agents/option-reviewer.md +0 -66
- package/assets/init/.qfai/assistant/agents/oq-harvester.md +0 -50
- package/assets/init/.qfai/assistant/agents/oq-reviewer.md +0 -70
- package/assets/init/.qfai/assistant/agents/planner.md +0 -48
- package/assets/init/.qfai/assistant/agents/project-lead.md +0 -47
- package/assets/init/.qfai/assistant/agents/prototyping-coverage-auditor.md +0 -46
- package/assets/init/.qfai/assistant/agents/qa-engineer.md +0 -47
- package/assets/init/.qfai/assistant/agents/qa-lead.md +0 -44
- package/assets/init/.qfai/assistant/agents/qa-reviewer.md +0 -66
- package/assets/init/.qfai/assistant/agents/researcher.md +0 -47
- package/assets/init/.qfai/assistant/agents/reviewer.md +0 -62
- package/assets/init/.qfai/assistant/agents/runtime-gatekeeper.md +0 -46
- package/assets/init/.qfai/assistant/agents/test-case-owner.md +0 -53
- package/assets/init/.qfai/assistant/agents/test-engineer.md +0 -50
- package/assets/init/.qfai/assistant/agents/test-volume-estimator.md +0 -48
- package/assets/init/.qfai/assistant/agents/ui-ux-reviewer.md +0 -71
- package/assets/init/.qfai/assistant/agents/unit-test-scope-enforcer.md +0 -46
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_strategy.md +0 -28
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/20_eval_axis_usability.md +0 -31
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_eval_axis_consistency.md +0 -31
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/22_eval_axis_accessibility.md +0 -31
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_eval_axis_delight.md +0 -56
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/30_comparison.md +0 -45
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/31_anchor.md +0 -27
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_contracts.md +0 -51
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_bundle.md +0 -31
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/60_critique_loop.md +0 -23
- package/assets/init/.qfai/assistant/steering/review-roster.yml +0 -128
- package/assets/init/.qfai/evidence/.gitignore +0 -3
- package/assets/init/.qfai/report/.gitignore +0 -3
- package/assets/init/.qfai/review/.gitignore +0 -5
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# Option Comparison
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
Compare 2+ design options against scoring axes to support anchor screen selection.
|
|
6
|
-
|
|
7
|
-
## Comparison Matrix
|
|
8
|
-
|
|
9
|
-
### Invariant Axes
|
|
10
|
-
|
|
11
|
-
| Axis | Option A: [Name] | Option B: [Name] | Notes |
|
|
12
|
-
| ------------------ | ---------------- | ---------------- | ----------- |
|
|
13
|
-
| Usability (20) | [score 1-5] | [score 1-5] | [rationale] |
|
|
14
|
-
| Consistency (21) | [score 1-5] | [score 1-5] | [rationale] |
|
|
15
|
-
| Accessibility (22) | [score 1-5] | [score 1-5] | [rationale] |
|
|
16
|
-
| Delight (23) | [score 1-5] | [score 1-5] | [rationale] |
|
|
17
|
-
|
|
18
|
-
### Trend-derived Axes
|
|
19
|
-
|
|
20
|
-
| Axis | Option A: [Name] | Option B: [Name] | Source Translation |
|
|
21
|
-
| --------------- | ---------------- | ---------------- | ------------------ |
|
|
22
|
-
| (trend-derived) | [score 1-5] | [score 1-5] | [research source] |
|
|
23
|
-
|
|
24
|
-
### Product-specific Axes
|
|
25
|
-
|
|
26
|
-
| Axis | Option A: [Name] | Option B: [Name] | Notes |
|
|
27
|
-
| ------------------ | ---------------- | ---------------- | ----------- |
|
|
28
|
-
| (product-specific) | [score 1-5] | [score 1-5] | [rationale] |
|
|
29
|
-
|
|
30
|
-
## Aggregate Scoring
|
|
31
|
-
|
|
32
|
-
| Option | Weights | Normalized Total | Threshold | Rank |
|
|
33
|
-
| -------- | ------------------------------------- | ---------------- | --------------------- | ------ |
|
|
34
|
-
| Option A | Invariant: 60%, Trend: 25%, Prod: 15% | [total] | [accept/refine/pivot] | [rank] |
|
|
35
|
-
| Option B | Invariant: 60%, Trend: 25%, Prod: 15% | [total] | [accept/refine/pivot] | [rank] |
|
|
36
|
-
|
|
37
|
-
## Recommendation
|
|
38
|
-
|
|
39
|
-
Selected: [Option X] — [rationale for selection based on scores and constraints]
|
|
40
|
-
|
|
41
|
-
## Cross-references
|
|
42
|
-
|
|
43
|
-
- Invariant axes: `20_eval_axis_usability.md`, `21_eval_axis_consistency.md`, `22_eval_axis_accessibility.md`, `23_eval_axis_delight.md`
|
|
44
|
-
- 3-layer model & aggregate rules: `23_eval_axis_delight.md` (Aggregate Scoring Rules section)
|
|
45
|
-
- Anchor selection: `31_anchor.md`
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Anchor Screen Selection
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
Document the selected anchor screen and rationale for the design direction.
|
|
6
|
-
|
|
7
|
-
## Selected Anchor
|
|
8
|
-
|
|
9
|
-
- Screen: [Screen name/identifier]
|
|
10
|
-
- Source option: [Option X from 30_comparison.md]
|
|
11
|
-
- Rationale: [Why this screen was selected as the anchor]
|
|
12
|
-
|
|
13
|
-
## Anchor Screen Description
|
|
14
|
-
|
|
15
|
-
- Primary purpose: [What the user accomplishes on this screen]
|
|
16
|
-
- Key interactions: [List of primary interactions]
|
|
17
|
-
- Entry points: [How users reach this screen]
|
|
18
|
-
- Exit points: [Where users go from this screen]
|
|
19
|
-
|
|
20
|
-
## Design Constraints
|
|
21
|
-
|
|
22
|
-
- [Constraint derived from comparison and scoring]
|
|
23
|
-
|
|
24
|
-
## Cross-references
|
|
25
|
-
|
|
26
|
-
- Option comparison: `30_comparison.md`
|
|
27
|
-
- Screen contracts: `40_contracts.md`
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# Screen Contracts
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
Draft interaction contracts for the anchor screen and key screens.
|
|
6
|
-
|
|
7
|
-
## Anchor Screen Contract
|
|
8
|
-
|
|
9
|
-
### Screen: [Screen name]
|
|
10
|
-
|
|
11
|
-
- Route: [/path-to-screen]
|
|
12
|
-
- Actor: [primary user role]
|
|
13
|
-
- Purpose: [what the user accomplishes on this screen]
|
|
14
|
-
|
|
15
|
-
#### Primary Tasks
|
|
16
|
-
|
|
17
|
-
| Task | Trigger | Success Criteria |
|
|
18
|
-
| ---------------- | ------------- | -------------------- |
|
|
19
|
-
| [primary task] | [user action] | [observable outcome] |
|
|
20
|
-
| [secondary task] | [user action] | [observable outcome] |
|
|
21
|
-
|
|
22
|
-
#### Required States
|
|
23
|
-
|
|
24
|
-
| State | Trigger | Display |
|
|
25
|
-
| --------- | ---------------------- | --------------------------- |
|
|
26
|
-
| empty | Initial load, no data | [empty state description] |
|
|
27
|
-
| loading | Data fetch in progress | [loading indicator] |
|
|
28
|
-
| error | Fetch failure | [error message + retry CTA] |
|
|
29
|
-
| populated | Data available | [primary content layout] |
|
|
30
|
-
|
|
31
|
-
#### Transitions
|
|
32
|
-
|
|
33
|
-
| From | To | Trigger |
|
|
34
|
-
| --------- | --------- | -------------------- |
|
|
35
|
-
| empty | loading | Data fetch initiated |
|
|
36
|
-
| loading | populated | Data received |
|
|
37
|
-
| loading | error | Fetch failure |
|
|
38
|
-
| error | loading | Retry action |
|
|
39
|
-
| populated | empty | Clear action |
|
|
40
|
-
|
|
41
|
-
#### Observable Outcomes
|
|
42
|
-
|
|
43
|
-
| Outcome | Verification Method |
|
|
44
|
-
| -------------------------- | ------------------- |
|
|
45
|
-
| [expected user outcome] | [how to verify] |
|
|
46
|
-
| [expected system behavior] | [how to verify] |
|
|
47
|
-
|
|
48
|
-
## Cross-references
|
|
49
|
-
|
|
50
|
-
- Anchor selection: `31_anchor.md`
|
|
51
|
-
- State coverage: see `../03_Story-Workshop.md` Design Direction Summary
|
package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_bundle.md
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# Review Input Bundle
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
Consolidate all sidecar artifacts into a review-ready bundle for design reviewers.
|
|
6
|
-
|
|
7
|
-
## Bundle Contents
|
|
8
|
-
|
|
9
|
-
| Artifact | Path | Status |
|
|
10
|
-
| ------------------ | ------------------------------------ | ------------------------- |
|
|
11
|
-
| Strategy | `uiux/10_strategy.md` | [draft/reviewed/approved] |
|
|
12
|
-
| Usability axis | `uiux/20_eval_axis_usability.md` | [draft/reviewed/approved] |
|
|
13
|
-
| Consistency axis | `uiux/21_eval_axis_consistency.md` | [draft/reviewed/approved] |
|
|
14
|
-
| Accessibility axis | `uiux/22_eval_axis_accessibility.md` | [draft/reviewed/approved] |
|
|
15
|
-
| Delight axis | `uiux/23_eval_axis_delight.md` | [draft/reviewed/approved] |
|
|
16
|
-
| Comparison | `uiux/30_comparison.md` | [draft/reviewed/approved] |
|
|
17
|
-
| Anchor selection | `uiux/31_anchor.md` | [draft/reviewed/approved] |
|
|
18
|
-
| Screen contracts | `uiux/40_contracts.md` | [draft/reviewed/approved] |
|
|
19
|
-
|
|
20
|
-
## Review Checklist
|
|
21
|
-
|
|
22
|
-
- [ ] Strategy aligns with surface type and project constraints
|
|
23
|
-
- [ ] All 4 invariant scoring axes defined with measurable criteria
|
|
24
|
-
- [ ] 2+ options compared against all axes
|
|
25
|
-
- [ ] Anchor screen selected with rationale
|
|
26
|
-
- [ ] Screen contracts cover all 4 required states (empty/loading/error/populated)
|
|
27
|
-
- [ ] Critique loop entries addressed or deferred with rationale
|
|
28
|
-
|
|
29
|
-
## Reviewer Notes
|
|
30
|
-
|
|
31
|
-
<!-- Reviewer feedback is captured here during the review cycle. -->
|
package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/60_critique_loop.md
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Critique Loop Tracking
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
Track iterative design critique rounds and resolutions.
|
|
6
|
-
|
|
7
|
-
## Critique Log
|
|
8
|
-
|
|
9
|
-
| Round | Source | Finding | Severity | Resolution | Status |
|
|
10
|
-
| ----- | ------------------------- | --------------------- | ----------------- | -------------------------------------- | ------------------------ |
|
|
11
|
-
| 1 | [reviewer/self/automated] | [finding description] | [high/medium/low] | [resolution or rationale for deferral] | [open/resolved/deferred] |
|
|
12
|
-
|
|
13
|
-
## Resolution Summary
|
|
14
|
-
|
|
15
|
-
- Total findings: 0
|
|
16
|
-
- Resolved: 0
|
|
17
|
-
- Deferred: 0 (with rationale in Deferred column)
|
|
18
|
-
- Open: 0
|
|
19
|
-
|
|
20
|
-
## Cross-references
|
|
21
|
-
|
|
22
|
-
- Review bundle: `50_review_bundle.md`
|
|
23
|
-
- Design decisions: see `../03_Story-Workshop.md` Design Direction Summary
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
schema_version: "1.0"
|
|
2
|
-
|
|
3
|
-
feedback_policy:
|
|
4
|
-
alternative_required: true
|
|
5
|
-
description: "All reviewers MUST provide a concrete alternative or fix proposal when returning FAIL. Feedback without a concrete alternative is invalid and triggers re-judgment."
|
|
6
|
-
|
|
7
|
-
roster:
|
|
8
|
-
- id: qa-lead
|
|
9
|
-
name: Quality Lead
|
|
10
|
-
scope: [discuss, require, sdd]
|
|
11
|
-
must_check:
|
|
12
|
-
- Verify scope, objectives, and requirement completeness.
|
|
13
|
-
- Verify risk, quality, and acceptance readiness.
|
|
14
|
-
can_be_na: false
|
|
15
|
-
na_rule: "N/A is not allowed for this reviewer."
|
|
16
|
-
|
|
17
|
-
- id: qa-gatekeeper
|
|
18
|
-
name: QA Gatekeeper
|
|
19
|
-
scope: [discuss, require, sdd]
|
|
20
|
-
must_check:
|
|
21
|
-
- Verify gate criteria and blocker handling rules.
|
|
22
|
-
- Verify review-cycle restart behavior on failure.
|
|
23
|
-
can_be_na: false
|
|
24
|
-
na_rule: "N/A is not allowed for this reviewer."
|
|
25
|
-
|
|
26
|
-
- id: reviewer
|
|
27
|
-
name: Independent Reviewer
|
|
28
|
-
scope: [discuss, require, sdd]
|
|
29
|
-
must_check:
|
|
30
|
-
- Verify consistency and independent pass/fail judgment.
|
|
31
|
-
- Verify evidence and rationale are reviewable.
|
|
32
|
-
can_be_na: false
|
|
33
|
-
na_rule: "N/A is not allowed for this reviewer."
|
|
34
|
-
|
|
35
|
-
- id: code-reviewer
|
|
36
|
-
name: Code Reviewer
|
|
37
|
-
scope: [discuss, require, sdd]
|
|
38
|
-
must_check:
|
|
39
|
-
- Verify maintainability and implementation-risk signals.
|
|
40
|
-
- Verify design intent is actionable for downstream coding.
|
|
41
|
-
can_be_na: true
|
|
42
|
-
na_rule: "Allowed only if no implementation-impacting decision exists."
|
|
43
|
-
|
|
44
|
-
- id: architect-reviewer
|
|
45
|
-
name: Architect Reviewer
|
|
46
|
-
scope: [discuss, require, sdd]
|
|
47
|
-
must_check:
|
|
48
|
-
- Verify architecture constraints and technical consistency.
|
|
49
|
-
- Verify decision trade-offs and rejected-option rationale.
|
|
50
|
-
can_be_na: true
|
|
51
|
-
na_rule: "Allowed only if no architecture-affecting decision exists."
|
|
52
|
-
|
|
53
|
-
- id: qa-reviewer
|
|
54
|
-
name: QA Reviewer
|
|
55
|
-
scope: [discuss, require, sdd]
|
|
56
|
-
must_check:
|
|
57
|
-
- Verify testability, edge cases, and failure-path coverage.
|
|
58
|
-
- Verify open/deferred items are explicit and actionable.
|
|
59
|
-
can_be_na: true
|
|
60
|
-
na_rule: "Allowed only if no quality-impacting change exists."
|
|
61
|
-
|
|
62
|
-
- id: frontend-reviewer
|
|
63
|
-
name: Frontend Reviewer
|
|
64
|
-
scope: [discuss, require, sdd]
|
|
65
|
-
must_check:
|
|
66
|
-
- Verify UI/UX, accessibility, and interaction implications.
|
|
67
|
-
- Verify user-facing flows and exception paths.
|
|
68
|
-
can_be_na: true
|
|
69
|
-
na_rule: "Allowed only if no frontend or UX impact exists."
|
|
70
|
-
|
|
71
|
-
- id: backend-reviewer
|
|
72
|
-
name: Backend Reviewer
|
|
73
|
-
scope: [discuss, require, sdd]
|
|
74
|
-
must_check:
|
|
75
|
-
- Verify backend/API/data consistency implications.
|
|
76
|
-
- Verify operational and reliability concerns.
|
|
77
|
-
can_be_na: true
|
|
78
|
-
na_rule: "Allowed only if no backend or data impact exists."
|
|
79
|
-
|
|
80
|
-
- id: design-review-lead
|
|
81
|
-
name: Design Review Lead
|
|
82
|
-
scope: [discuss, require, sdd]
|
|
83
|
-
must_check:
|
|
84
|
-
- Verify requirement/design coherence and structure quality.
|
|
85
|
-
- Verify information architecture and decision clarity.
|
|
86
|
-
can_be_na: true
|
|
87
|
-
na_rule: "Allowed only if no product/design decision changed."
|
|
88
|
-
|
|
89
|
-
- id: runtime-gatekeeper
|
|
90
|
-
name: Runtime Gatekeeper
|
|
91
|
-
scope: [discuss, require, sdd]
|
|
92
|
-
must_check:
|
|
93
|
-
- Verify operational readiness and runtime risk controls.
|
|
94
|
-
- Verify mitigation and rollback assumptions.
|
|
95
|
-
can_be_na: true
|
|
96
|
-
na_rule: "Allowed only if no runtime/operations impact exists."
|
|
97
|
-
|
|
98
|
-
- id: devils-advocate
|
|
99
|
-
name: Devil's Advocate
|
|
100
|
-
scope: [discuss, require, sdd]
|
|
101
|
-
must_check:
|
|
102
|
-
- Challenge every assumption, conclusion, and design decision as if it were fundamentally wrong.
|
|
103
|
-
- Provide a concrete desired-state alternative for every issue raised; bare negation without an alternative is invalid.
|
|
104
|
-
- Persist with objections using any rhetorical means (nitpicking, reductio ad absurdum, forced analogy) to surface hidden risks.
|
|
105
|
-
can_be_na: false
|
|
106
|
-
na_rule: "N/A is not allowed for this reviewer."
|
|
107
|
-
behavioral_principles:
|
|
108
|
-
premise: "Assume the current state is fundamentally incorrect."
|
|
109
|
-
stance: "Challenge assumptions aggressively and present objections clearly, even under uncertainty."
|
|
110
|
-
requirement: "When returning FAIL, always provide a concrete alternative proposal."
|
|
111
|
-
escalation:
|
|
112
|
-
consecutive_fail_limit: 3
|
|
113
|
-
demotion: advisory
|
|
114
|
-
demotion_scope: current_review_cycle
|
|
115
|
-
|
|
116
|
-
- id: pattern-doubler
|
|
117
|
-
name: Pattern Doubler
|
|
118
|
-
scope: [discuss, require, sdd]
|
|
119
|
-
must_check:
|
|
120
|
-
- Count all ID-bearing items (US, AC, BR, EX, TC) in the target spec and demand at least 2x the current count.
|
|
121
|
-
- Identify missing perspectives (boundary, negative, permission, state-transition, idempotency) and propose concrete additions with rationale.
|
|
122
|
-
- Persist with demands using any rhetorical means (edge-case invention, combinatorial explosion, analogy) to maximize pattern coverage.
|
|
123
|
-
can_be_na: true
|
|
124
|
-
na_rule: "Allowed only if the target artifact contains no ID-bearing spec items (US/AC/BR/EX/TC)."
|
|
125
|
-
behavioral_principles:
|
|
126
|
-
premise: "Current pattern coverage is insufficient."
|
|
127
|
-
stance: "Push clearly for at least 2x pattern coverage and challenge under-specified cases."
|
|
128
|
-
requirement: "Justify added patterns and set the doubling target from counts of ID-bearing items."
|