@sniper.ai/core 1.0.0 → 2.0.0
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 +122 -32
- package/framework/checklists/debug-review.md +34 -0
- package/framework/checklists/feature-review.md +42 -0
- package/framework/checklists/ingest-review.md +42 -0
- package/framework/checklists/memory-review.md +30 -0
- package/framework/checklists/perf-review.md +33 -0
- package/framework/checklists/refactor-review.md +33 -0
- package/framework/checklists/security-review.md +34 -0
- package/framework/checklists/test-review.md +32 -0
- package/framework/checklists/workspace-review.md +34 -0
- package/framework/commands/sniper-audit.md +1549 -0
- package/framework/commands/sniper-compose.md +88 -2
- package/framework/commands/sniper-debug.md +337 -0
- package/framework/commands/sniper-discover.md +41 -15
- package/framework/commands/sniper-feature.md +515 -0
- package/framework/commands/sniper-ingest.md +506 -0
- package/framework/commands/sniper-init.md +21 -5
- package/framework/commands/sniper-memory.md +219 -0
- package/framework/commands/sniper-plan.md +41 -19
- package/framework/commands/sniper-review.md +106 -42
- package/framework/commands/sniper-solve.md +47 -14
- package/framework/commands/sniper-sprint.md +132 -17
- package/framework/commands/sniper-status.md +240 -35
- package/framework/commands/sniper-workspace-feature.md +267 -0
- package/framework/commands/sniper-workspace-init.md +252 -0
- package/framework/commands/sniper-workspace-status.md +112 -0
- package/framework/commands/sniper-workspace-validate.md +138 -0
- package/framework/config.template.yaml +88 -9
- package/framework/personas/process/architecture-cartographer.md +25 -0
- package/framework/personas/process/code-archaeologist.md +22 -0
- package/framework/personas/process/code-investigator.md +29 -0
- package/framework/personas/process/code-reviewer.md +26 -0
- package/framework/personas/process/contract-designer.md +31 -0
- package/framework/personas/process/convention-miner.md +27 -0
- package/framework/personas/process/coverage-analyst.md +24 -0
- package/framework/personas/process/flake-hunter.md +30 -0
- package/framework/personas/process/impact-analyst.md +23 -0
- package/framework/personas/process/integration-validator.md +29 -0
- package/framework/personas/process/log-analyst.md +22 -0
- package/framework/personas/process/migration-architect.md +24 -0
- package/framework/personas/process/perf-profiler.md +27 -0
- package/framework/personas/process/release-manager.md +23 -0
- package/framework/personas/process/retro-analyst.md +30 -0
- package/framework/personas/process/threat-modeler.md +30 -0
- package/framework/personas/process/triage-lead.md +23 -0
- package/framework/personas/process/vuln-scanner.md +27 -0
- package/framework/personas/process/workspace-orchestrator.md +30 -0
- package/framework/spawn-prompts/_template.md +3 -0
- package/framework/teams/debug.yaml +56 -0
- package/framework/teams/feature-plan.yaml +61 -0
- package/framework/teams/ingest.yaml +85 -0
- package/framework/teams/perf.yaml +33 -0
- package/framework/teams/refactor.yaml +34 -0
- package/framework/teams/retro.yaml +30 -0
- package/framework/teams/review-pr.yaml +73 -0
- package/framework/teams/review-release.yaml +70 -0
- package/framework/teams/security.yaml +59 -0
- package/framework/teams/test.yaml +59 -0
- package/framework/teams/workspace-feature.yaml +69 -0
- package/framework/teams/workspace-validation.yaml +27 -0
- package/framework/templates/arch-delta.md +74 -0
- package/framework/templates/architecture.md +24 -1
- package/framework/templates/brief.md +22 -1
- package/framework/templates/bug-report.md +55 -0
- package/framework/templates/contract-validation-report.md +68 -0
- package/framework/templates/contract.yaml +60 -0
- package/framework/templates/conventions.md +59 -0
- package/framework/templates/coverage-report.md +67 -0
- package/framework/templates/epic.md +14 -0
- package/framework/templates/feature-brief.md +54 -0
- package/framework/templates/feature-spec.md +53 -0
- package/framework/templates/flaky-report.md +64 -0
- package/framework/templates/investigation.md +49 -0
- package/framework/templates/memory-anti-pattern.yaml +16 -0
- package/framework/templates/memory-convention.yaml +17 -0
- package/framework/templates/memory-decision.yaml +16 -0
- package/framework/templates/migration-plan.md +47 -0
- package/framework/templates/optimization-plan.md +59 -0
- package/framework/templates/performance-profile.md +64 -0
- package/framework/templates/postmortem.md +69 -0
- package/framework/templates/pr-review.md +50 -0
- package/framework/templates/prd.md +24 -1
- package/framework/templates/refactor-scope.md +52 -0
- package/framework/templates/release-readiness.md +66 -0
- package/framework/templates/retro.yaml +44 -0
- package/framework/templates/security.md +22 -1
- package/framework/templates/story.md +16 -0
- package/framework/templates/threat-model.md +71 -0
- package/framework/templates/ux-spec.md +18 -1
- package/framework/templates/vulnerability-report.md +56 -0
- package/framework/templates/workspace-brief.md +52 -0
- package/framework/templates/workspace-plan.md +50 -0
- package/framework/workflows/workspace-feature.md +71 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
# @sniper.ai/core
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@sniper.ai/core)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
|
|
6
|
+
Framework core for [SNIPER](https://virkt25.github.io/sniper/) -- provides personas, team compositions, templates, checklists, workflows, and spawn prompts as raw YAML and Markdown files.
|
|
7
|
+
|
|
8
|
+
## What is SNIPER?
|
|
9
|
+
|
|
10
|
+
SNIPER (**S**pawn, **N**avigate, **I**mplement, **P**arallelize, **E**valuate, **R**elease) is an AI-powered project lifecycle framework for orchestrating Claude Code agent teams through structured phases. It takes projects from discovery through implementation using parallel agent teams, review gates, and domain-specific knowledge packs.
|
|
11
|
+
|
|
12
|
+
A full lifecycle runs through four phases: **Discover** (research and analysis), **Plan** (architecture and design), **Solve** (epic and story sharding), and **Sprint** (parallel implementation). Each phase spawns a coordinated team of specialized agents composed from layered personas.
|
|
4
13
|
|
|
5
14
|
## Overview
|
|
6
15
|
|
|
@@ -16,31 +25,121 @@ npm install @sniper.ai/core
|
|
|
16
25
|
|
|
17
26
|
```
|
|
18
27
|
framework/
|
|
19
|
-
├── personas/ # Agent persona layers
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
├──
|
|
25
|
-
|
|
26
|
-
│ ├── plan.yaml # Planning phase team
|
|
27
|
-
│ ├── solve.yaml # Story sharding (sequential)
|
|
28
|
-
│ ├── sprint.yaml # Implementation sprint team
|
|
29
|
-
│ └── doc.yaml # Documentation team
|
|
30
|
-
├── workflows/ # Phase workflow definitions
|
|
31
|
-
│ ├── full-lifecycle.md
|
|
32
|
-
│ ├── discover-only.md
|
|
33
|
-
│ ├── quick-feature.md
|
|
34
|
-
│ └── sprint-cycle.md
|
|
35
|
-
├── templates/ # Artifact templates (PRD, architecture, stories, etc.)
|
|
36
|
-
├── checklists/ # Quality gate checklists for review
|
|
37
|
-
├── spawn-prompts/ # Pre-composed spawn prompts for agent roles
|
|
38
|
-
├── commands/ # Slash command definitions
|
|
28
|
+
├── personas/ # Agent persona layers (42 total)
|
|
29
|
+
├── teams/ # Team compositions (17 teams)
|
|
30
|
+
├── workflows/ # Phase workflow definitions (4 workflows)
|
|
31
|
+
├── templates/ # Artifact templates (38 templates)
|
|
32
|
+
├── checklists/ # Quality gate checklists (15 checklists)
|
|
33
|
+
├── spawn-prompts/ # Pre-composed spawn prompts
|
|
34
|
+
├── commands/ # Slash command definitions (18 commands)
|
|
39
35
|
├── config.template.yaml
|
|
40
36
|
├── claude-md.template
|
|
41
37
|
└── settings.template.json
|
|
42
38
|
```
|
|
43
39
|
|
|
40
|
+
## Persona Layers
|
|
41
|
+
|
|
42
|
+
Agents are composed from four persona layers, combined via the `/sniper-compose` command into complete spawn prompts:
|
|
43
|
+
|
|
44
|
+
| Layer | Count | Purpose | Examples |
|
|
45
|
+
|-------|-------|---------|----------|
|
|
46
|
+
| **Cognitive** | 6 | Thinking style and approach | `analytical`, `security-first`, `systems-thinker`, `devils-advocate`, `user-empathetic`, `performance-focused` |
|
|
47
|
+
| **Process** | 29 | Role in the workflow | `architect`, `developer`, `code-reviewer`, `product-manager`, `scrum-master`, `qa-engineer`, `release-manager` |
|
|
48
|
+
| **Technical** | 7 | Technical expertise area | `frontend`, `backend`, `database`, `infrastructure`, `security`, `api-design`, `ai-ml` |
|
|
49
|
+
| **Domain** | -- | Project-specific knowledge | Provided by domain packs (e.g., `@sniper.ai/pack-sales-dialer`) |
|
|
50
|
+
|
|
51
|
+
## Teams
|
|
52
|
+
|
|
53
|
+
SNIPER defines 17 team compositions for different workflows:
|
|
54
|
+
|
|
55
|
+
| Team | File | Description |
|
|
56
|
+
|------|------|-------------|
|
|
57
|
+
| **Discover** | `discover.yaml` | Discovery phase -- analyst, risk-researcher, user-researcher |
|
|
58
|
+
| **Plan** | `plan.yaml` | Planning phase -- PM, architect, UX, security (uses Opus model) |
|
|
59
|
+
| **Solve** | `solve.yaml` | Story sharding -- single scrum-master agent |
|
|
60
|
+
| **Sprint** | `sprint.yaml` | Implementation -- backend-dev, frontend-dev, and other specialists |
|
|
61
|
+
| **Doc** | `doc.yaml` | Documentation generation -- doc-analyst, doc-writer, doc-reviewer |
|
|
62
|
+
| **Ingest** | `ingest.yaml` | Codebase ingestion -- reverse-engineers project artifacts |
|
|
63
|
+
| **Feature Plan** | `feature-plan.yaml` | Incremental feature spec and architecture delta |
|
|
64
|
+
| **Debug** | `debug.yaml` | Production debugging -- parallel investigation agents |
|
|
65
|
+
| **Review PR** | `review-pr.yaml` | Multi-perspective pull request review |
|
|
66
|
+
| **Review Release** | `review-release.yaml` | Multi-perspective release readiness assessment |
|
|
67
|
+
| **Refactor** | `refactor.yaml` | Structured large-scale code refactoring |
|
|
68
|
+
| **Security** | `security.yaml` | Structured security analysis |
|
|
69
|
+
| **Perf** | `perf.yaml` | Structured performance analysis |
|
|
70
|
+
| **Test** | `test.yaml` | Test and coverage audit |
|
|
71
|
+
| **Retro** | `retro.yaml` | Sprint retrospective analysis |
|
|
72
|
+
| **Workspace Feature** | `workspace-feature.yaml` | Cross-repo feature orchestration |
|
|
73
|
+
| **Workspace Validation** | `workspace-validation.yaml` | Interface contract validation |
|
|
74
|
+
|
|
75
|
+
## Commands
|
|
76
|
+
|
|
77
|
+
18 slash commands organized by category:
|
|
78
|
+
|
|
79
|
+
### Lifecycle
|
|
80
|
+
|
|
81
|
+
| Command | Description |
|
|
82
|
+
|---------|-------------|
|
|
83
|
+
| `/sniper-init` | Initialize SNIPER in a new or existing project |
|
|
84
|
+
| `/sniper-discover` | Phase 1: Discovery and analysis (parallel team) |
|
|
85
|
+
| `/sniper-plan` | Phase 2: Planning and architecture (parallel team) |
|
|
86
|
+
| `/sniper-solve` | Phase 3: Epic sharding and story creation (single agent) |
|
|
87
|
+
| `/sniper-sprint` | Phase 4: Implementation sprint (parallel team) |
|
|
88
|
+
| `/sniper-review` | Run review gate for the current phase |
|
|
89
|
+
| `/sniper-status` | Show lifecycle status and artifact state |
|
|
90
|
+
|
|
91
|
+
### Extended
|
|
92
|
+
|
|
93
|
+
| Command | Description |
|
|
94
|
+
|---------|-------------|
|
|
95
|
+
| `/sniper-feature` | Incremental feature lifecycle |
|
|
96
|
+
| `/sniper-ingest` | Codebase ingestion (parallel team) |
|
|
97
|
+
| `/sniper-doc` | Generate or update project documentation (parallel team) |
|
|
98
|
+
| `/sniper-debug` | Production debugging (phased investigation) |
|
|
99
|
+
| `/sniper-audit` | Audit: refactoring, review, and QA |
|
|
100
|
+
|
|
101
|
+
### Workspace
|
|
102
|
+
|
|
103
|
+
| Command | Description |
|
|
104
|
+
|---------|-------------|
|
|
105
|
+
| `/sniper-workspace init` | Initialize a SNIPER workspace |
|
|
106
|
+
| `/sniper-workspace feature` | Plan and execute a cross-repo feature |
|
|
107
|
+
| `/sniper-workspace status` | Show workspace status |
|
|
108
|
+
| `/sniper-workspace validate` | Validate interface contracts |
|
|
109
|
+
|
|
110
|
+
### Utility
|
|
111
|
+
|
|
112
|
+
| Command | Description |
|
|
113
|
+
|---------|-------------|
|
|
114
|
+
| `/sniper-compose` | Compose a spawn prompt from persona layers |
|
|
115
|
+
| `/sniper-memory` | Manage agent memory (conventions, anti-patterns, decisions) |
|
|
116
|
+
|
|
117
|
+
## Templates
|
|
118
|
+
|
|
119
|
+
38 artifact templates covering:
|
|
120
|
+
|
|
121
|
+
| Category | Templates |
|
|
122
|
+
|----------|-----------|
|
|
123
|
+
| **Discovery** | `brief.md`, `risks.md`, `personas.md` |
|
|
124
|
+
| **Planning** | `prd.md`, `architecture.md`, `ux-spec.md`, `security.md`, `conventions.md` |
|
|
125
|
+
| **Stories** | `epic.md`, `story.md` |
|
|
126
|
+
| **Features** | `feature-brief.md`, `feature-spec.md`, `arch-delta.md` |
|
|
127
|
+
| **Reviews** | `pr-review.md`, `sprint-review.md`, `release-readiness.md` |
|
|
128
|
+
| **Documentation** | `doc-api.md`, `doc-guide.md`, `doc-readme.md` |
|
|
129
|
+
| **Debugging** | `investigation.md`, `postmortem.md`, `bug-report.md` |
|
|
130
|
+
| **Security** | `threat-model.md`, `vulnerability-report.md` |
|
|
131
|
+
| **Performance** | `performance-profile.md`, `optimization-plan.md` |
|
|
132
|
+
| **Refactoring** | `refactor-scope.md`, `migration-plan.md` |
|
|
133
|
+
| **Memory** | `memory-convention.yaml`, `memory-anti-pattern.yaml`, `memory-decision.yaml`, `retro.yaml` |
|
|
134
|
+
| **Workspace** | `workspace-brief.md`, `workspace-plan.md`, `contract.yaml`, `contract-validation-report.md` |
|
|
135
|
+
| **Testing** | `coverage-report.md`, `flaky-report.md` |
|
|
136
|
+
|
|
137
|
+
## Checklists
|
|
138
|
+
|
|
139
|
+
15 quality gate checklists for review workflows:
|
|
140
|
+
|
|
141
|
+
`code-review`, `debug-review`, `discover-review`, `doc-review`, `feature-review`, `ingest-review`, `memory-review`, `perf-review`, `plan-review`, `refactor-review`, `security-review`, `sprint-review`, `story-review`, `test-review`, `workspace-review`
|
|
142
|
+
|
|
44
143
|
## Usage
|
|
45
144
|
|
|
46
145
|
Import framework files directly via the `./framework/*` export:
|
|
@@ -55,18 +154,9 @@ const teamPath = require.resolve('@sniper.ai/core/framework/teams/sprint.yaml');
|
|
|
55
154
|
const teamYaml = readFileSync(teamPath, 'utf-8');
|
|
56
155
|
```
|
|
57
156
|
|
|
58
|
-
##
|
|
59
|
-
|
|
60
|
-
Agents are composed from four persona layers:
|
|
61
|
-
|
|
62
|
-
| Layer | Purpose | Example |
|
|
63
|
-
|-------|---------|---------|
|
|
64
|
-
| **Cognitive** | Thinking style and approach | `analytical`, `security-first` |
|
|
65
|
-
| **Process** | Role in the workflow | `architect`, `implementer`, `reviewer` |
|
|
66
|
-
| **Technical** | Technical expertise area | `frontend`, `backend`, `infra` |
|
|
67
|
-
| **Domain** | Project-specific knowledge | Provided by domain packs |
|
|
157
|
+
## Documentation
|
|
68
158
|
|
|
69
|
-
|
|
159
|
+
Full documentation is available at [virkt25.github.io/sniper](https://virkt25.github.io/sniper/).
|
|
70
160
|
|
|
71
161
|
## License
|
|
72
162
|
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Debug Review Checklist
|
|
2
|
+
|
|
3
|
+
Use this checklist to review artifacts produced during a bug investigation.
|
|
4
|
+
|
|
5
|
+
## Bug Report (`docs/bugs/BUG-{NNN}/report.md`)
|
|
6
|
+
|
|
7
|
+
- [ ] **Summary clarity:** Bug is described in terms of observed behavior, not implementation
|
|
8
|
+
- [ ] **Severity justified:** Severity level matches the described user impact
|
|
9
|
+
- [ ] **Affected components identified:** Components are traced to actual architecture doc entries
|
|
10
|
+
- [ ] **Reproduction steps:** Steps are specific enough to reproduce (or clearly marked "unable to determine")
|
|
11
|
+
- [ ] **Investigation plan:** Specific guidance for log analyst and code investigator
|
|
12
|
+
|
|
13
|
+
## Investigation (`docs/bugs/BUG-{NNN}/investigation.md`)
|
|
14
|
+
|
|
15
|
+
- [ ] **Log findings present:** Error patterns documented with specific messages and locations
|
|
16
|
+
- [ ] **Code findings present:** Execution path traced with file:line references
|
|
17
|
+
- [ ] **Root cause identified:** A specific root cause is proposed (not vague)
|
|
18
|
+
- [ ] **Evidence-based:** Findings are backed by specific code references, not speculation
|
|
19
|
+
- [ ] **Recommended fix:** A concrete fix approach is proposed
|
|
20
|
+
- [ ] **Consistency:** Log findings and code findings point to the same root cause
|
|
21
|
+
|
|
22
|
+
## Post-Mortem (`docs/bugs/BUG-{NNN}/postmortem.md`)
|
|
23
|
+
|
|
24
|
+
- [ ] **Fix addresses root cause:** The fix targets the actual root cause, not just symptoms
|
|
25
|
+
- [ ] **Files changed listed:** All modified files are documented
|
|
26
|
+
- [ ] **Regression tests added:** Tests specifically prevent this bug from recurring
|
|
27
|
+
- [ ] **Prevention strategy:** At least one process or code change to prevent similar bugs
|
|
28
|
+
- [ ] **Timeline accurate:** Key events are timestamped
|
|
29
|
+
|
|
30
|
+
## Overall
|
|
31
|
+
|
|
32
|
+
- [ ] **Artifacts consistent:** Report, investigation, and postmortem tell a coherent story
|
|
33
|
+
- [ ] **No speculation presented as fact:** Hypotheses are clearly labeled
|
|
34
|
+
- [ ] **Actionable:** Another developer could understand and verify the fix
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Feature Review Checklist
|
|
2
|
+
|
|
3
|
+
Use this checklist to review artifacts produced during a feature lifecycle.
|
|
4
|
+
|
|
5
|
+
## Feature Brief (`docs/features/SNPR-{XXXX}/brief.md`)
|
|
6
|
+
|
|
7
|
+
- [ ] **Feature description:** Clearly describes what the feature does in user-facing terms
|
|
8
|
+
- [ ] **Motivation:** Explains why the feature is needed and what problem it solves
|
|
9
|
+
- [ ] **Affected areas:** Lists components and files that will be impacted
|
|
10
|
+
- [ ] **Scope:** In-scope and out-of-scope are clearly delineated
|
|
11
|
+
- [ ] **Risks:** Known risks and open questions are documented
|
|
12
|
+
|
|
13
|
+
## Feature Spec (`docs/features/SNPR-{XXXX}/spec.md`)
|
|
14
|
+
|
|
15
|
+
- [ ] **Requirements completeness:** All functional requirements have acceptance criteria
|
|
16
|
+
- [ ] **User stories:** Each story follows the "As a... I want to... So that..." format
|
|
17
|
+
- [ ] **API changes:** New or modified endpoints are fully specified
|
|
18
|
+
- [ ] **Data model changes:** Schema changes are documented with field types and constraints
|
|
19
|
+
- [ ] **Brief alignment:** Spec is consistent with the feature brief (no scope creep)
|
|
20
|
+
|
|
21
|
+
## Architecture Delta (`docs/features/SNPR-{XXXX}/arch-delta.md`)
|
|
22
|
+
|
|
23
|
+
- [ ] **Base version:** References the correct version of `docs/architecture.md`
|
|
24
|
+
- [ ] **New components:** Each new component has responsibility, interfaces, and dependencies
|
|
25
|
+
- [ ] **Modified components:** Changes to existing components note current vs new behavior
|
|
26
|
+
- [ ] **Pattern consistency:** New code follows patterns from `docs/conventions.md`
|
|
27
|
+
- [ ] **No over-engineering:** Changes are proportional to the feature scope
|
|
28
|
+
- [ ] **Spec alignment:** Architecture delta addresses all requirements from the spec
|
|
29
|
+
|
|
30
|
+
## Stories (`docs/features/SNPR-{XXXX}/stories/`)
|
|
31
|
+
|
|
32
|
+
- [ ] **Coverage:** Stories cover all functional requirements from the spec
|
|
33
|
+
- [ ] **Sizing:** Each story is small enough for a single sprint (S/M complexity preferred)
|
|
34
|
+
- [ ] **Dependencies:** Story dependencies are correctly ordered
|
|
35
|
+
- [ ] **Acceptance criteria:** Each story has clear, testable acceptance criteria
|
|
36
|
+
- [ ] **No gaps:** No requirements from the spec are missing from stories
|
|
37
|
+
|
|
38
|
+
## Overall
|
|
39
|
+
|
|
40
|
+
- [ ] **Consistency:** Brief, spec, arch-delta, and stories don't contradict each other
|
|
41
|
+
- [ ] **Proportionality:** Effort matches the feature scope (not over-planned or under-planned)
|
|
42
|
+
- [ ] **Actionable:** An agent reading these artifacts could implement the feature without ambiguity
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Ingestion Review Checklist
|
|
2
|
+
|
|
3
|
+
Use this checklist to review artifacts produced by `/sniper-ingest`.
|
|
4
|
+
|
|
5
|
+
## Project Brief (`docs/brief.md`)
|
|
6
|
+
|
|
7
|
+
- [ ] **Accuracy:** Brief accurately describes what the project does (not aspirational or hallucinated)
|
|
8
|
+
- [ ] **Problem statement:** Clearly identifies the problem the project solves
|
|
9
|
+
- [ ] **Target users:** Identifies who uses the project (inferred from code, not guessed)
|
|
10
|
+
- [ ] **Current scope:** Lists features that actually exist in the codebase
|
|
11
|
+
- [ ] **Constraints:** Notes technologies and external dependencies that are locked in
|
|
12
|
+
- [ ] **Honest gaps:** Sections that couldn't be inferred are marked "Unable to determine"
|
|
13
|
+
|
|
14
|
+
## System Architecture (`docs/architecture.md`)
|
|
15
|
+
|
|
16
|
+
- [ ] **Component diagram:** Includes an ASCII or Mermaid diagram that matches actual code structure
|
|
17
|
+
- [ ] **Directory alignment:** Component boundaries match the actual directory structure
|
|
18
|
+
- [ ] **Data models:** Extracted data models match actual ORM/migration/schema files
|
|
19
|
+
- [ ] **API contracts:** Documented endpoints match actual route definitions
|
|
20
|
+
- [ ] **Technology choices:** Listed technologies match actual dependencies (package.json, etc.)
|
|
21
|
+
- [ ] **Infrastructure:** Infrastructure description matches Docker/Terraform/K8s files (if present)
|
|
22
|
+
- [ ] **Cross-cutting concerns:** Auth, logging, error handling patterns are documented
|
|
23
|
+
- [ ] **No hallucinations:** No components, APIs, or data models that don't exist in the code
|
|
24
|
+
|
|
25
|
+
## Coding Conventions (`docs/conventions.md`)
|
|
26
|
+
|
|
27
|
+
- [ ] **Code examples:** Every convention cites a real code example with file path
|
|
28
|
+
- [ ] **Representative sampling:** Conventions are derived from multiple files, not just one
|
|
29
|
+
- [ ] **Inconsistencies noted:** Where patterns conflict, both are documented
|
|
30
|
+
- [ ] **Complete coverage:** Naming, code org, error handling, testing, API, imports, config, logging
|
|
31
|
+
- [ ] **Conventions vs accidents:** Patterns appear in 80%+ of relevant files to qualify as conventions
|
|
32
|
+
|
|
33
|
+
## Config Ownership (`config.yaml`)
|
|
34
|
+
|
|
35
|
+
- [ ] **Ownership paths updated:** The `ownership` section in `.sniper/config.yaml` reflects the actual project directory structure, not the template defaults
|
|
36
|
+
- [ ] **All directories covered:** Major source directories are assigned to an ownership category
|
|
37
|
+
|
|
38
|
+
## Overall
|
|
39
|
+
|
|
40
|
+
- [ ] **Consistency:** Brief, architecture, and conventions don't contradict each other
|
|
41
|
+
- [ ] **Sufficient depth:** Artifacts provide enough context for agents to work on the codebase
|
|
42
|
+
- [ ] **Actionable:** A developer or agent reading only these artifacts could understand the project's structure and patterns
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Memory Review Checklist
|
|
2
|
+
|
|
3
|
+
Gate mode: **flexible** (memory entries are informational, auto-advance)
|
|
4
|
+
|
|
5
|
+
## Conventions (`.sniper/memory/conventions.yaml`)
|
|
6
|
+
- [ ] Every convention has a non-empty `rule` field with a clear, imperative statement
|
|
7
|
+
- [ ] Every convention has a `rationale` explaining why it exists
|
|
8
|
+
- [ ] Every convention has at least one role in `applies_to`
|
|
9
|
+
- [ ] Every convention has `enforcement` set to one of: review_gate, spawn_prompt, both
|
|
10
|
+
- [ ] No two conventions have identical or contradictory rules
|
|
11
|
+
- [ ] Convention IDs are unique and follow the `conv-XXX` pattern
|
|
12
|
+
|
|
13
|
+
## Anti-Patterns (`.sniper/memory/anti-patterns.yaml`)
|
|
14
|
+
- [ ] Every anti-pattern has a non-empty `description`
|
|
15
|
+
- [ ] Every anti-pattern has a `fix_pattern` describing the correct approach
|
|
16
|
+
- [ ] Every anti-pattern has `severity` set to one of: high, medium, low
|
|
17
|
+
- [ ] Every anti-pattern has at least one role in `applies_to`
|
|
18
|
+
- [ ] Anti-pattern IDs are unique and follow the `ap-XXX` pattern
|
|
19
|
+
|
|
20
|
+
## Decisions (`.sniper/memory/decisions.yaml`)
|
|
21
|
+
- [ ] Every decision has `title`, `context`, and `decision` fields filled
|
|
22
|
+
- [ ] Every decision has at least one alternative in `alternatives_considered`
|
|
23
|
+
- [ ] Every decision has `status` set to one of: active, superseded, deprecated
|
|
24
|
+
- [ ] Superseded decisions reference the replacing decision in `superseded_by`
|
|
25
|
+
- [ ] Decision IDs are unique and follow the `dec-XXX` pattern
|
|
26
|
+
|
|
27
|
+
## Overall
|
|
28
|
+
- [ ] No duplicate entries across conventions, anti-patterns, and decisions
|
|
29
|
+
- [ ] All source references are valid (type and ref fields populated)
|
|
30
|
+
- [ ] Candidate entries have sufficient evidence to remain as candidates
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Performance Audit Review Checklist
|
|
2
|
+
|
|
3
|
+
Use this checklist to review artifacts produced during a performance audit lifecycle.
|
|
4
|
+
|
|
5
|
+
## Profile Report (`docs/audits/PERF-{NNN}/profile-report.md`)
|
|
6
|
+
|
|
7
|
+
- [ ] **Actual bottlenecks:** Findings are based on code analysis, not premature optimization guesses
|
|
8
|
+
- [ ] **Specific locations:** Each bottleneck includes file:line or file:function references
|
|
9
|
+
- [ ] **Categorized:** Bottlenecks are categorized (N+1, missing index, sync I/O, etc.)
|
|
10
|
+
- [ ] **Impact assessed:** Severity based on path frequency and latency contribution
|
|
11
|
+
- [ ] **Critical paths traced:** Request handling chains are fully traced
|
|
12
|
+
- [ ] **Existing optimizations noted:** Current caching and indexing acknowledged
|
|
13
|
+
|
|
14
|
+
## Optimization Plan (`docs/audits/PERF-{NNN}/optimization-plan.md`)
|
|
15
|
+
|
|
16
|
+
- [ ] **Expected improvement stated:** Each recommendation includes specific improvement description
|
|
17
|
+
- [ ] **Trade-offs documented:** Caching complexity, consistency risks, etc. are noted
|
|
18
|
+
- [ ] **Quick wins identified:** Low-effort, high-impact optimizations separated
|
|
19
|
+
- [ ] **Benchmark requirements:** Each optimization has a corresponding benchmark requirement
|
|
20
|
+
- [ ] **Priority matrix sensible:** Impact/effort ratio drives the ordering
|
|
21
|
+
|
|
22
|
+
## Stories (`docs/audits/PERF-{NNN}/stories/`)
|
|
23
|
+
|
|
24
|
+
- [ ] **Paired with benchmarks:** Each optimization story has a companion benchmark story
|
|
25
|
+
- [ ] **Quick wins first:** Low-effort optimizations are prioritized
|
|
26
|
+
- [ ] **Self-contained:** Each story can be implemented and verified independently
|
|
27
|
+
- [ ] **Measurable:** Success criteria include specific performance metrics
|
|
28
|
+
|
|
29
|
+
## Overall
|
|
30
|
+
|
|
31
|
+
- [ ] **Data-driven:** No premature optimization — all changes backed by profiling evidence
|
|
32
|
+
- [ ] **Consistency:** Profile, plan, and stories tell a coherent story
|
|
33
|
+
- [ ] **Verification plan:** Clear strategy for measuring improvement after implementation
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Refactor Review Checklist
|
|
2
|
+
|
|
3
|
+
Use this checklist to review artifacts produced during a refactoring lifecycle.
|
|
4
|
+
|
|
5
|
+
## Impact Analysis (`docs/refactors/REF-{NNN}/scope.md`)
|
|
6
|
+
|
|
7
|
+
- [ ] **Complete inventory:** All instances of the pattern being changed are counted
|
|
8
|
+
- [ ] **Files listed:** Every affected file is listed, not estimated
|
|
9
|
+
- [ ] **Risk assessment:** Risks are specific, not generic boilerplate
|
|
10
|
+
- [ ] **Compatibility concerns:** API consumers and downstream dependencies are identified
|
|
11
|
+
- [ ] **Effort estimate:** Effort is justified by actual file/instance counts
|
|
12
|
+
|
|
13
|
+
## Migration Plan (`docs/refactors/REF-{NNN}/plan.md`)
|
|
14
|
+
|
|
15
|
+
- [ ] **Strategy justified:** Migration strategy choice (big-bang/incremental/strangler) has clear rationale
|
|
16
|
+
- [ ] **Order makes sense:** Steps follow dependency order (e.g., shared code before consuming code)
|
|
17
|
+
- [ ] **Coexistence plan:** Describes how old and new patterns coexist during migration
|
|
18
|
+
- [ ] **Verification at each step:** Each step has specific tests or checks
|
|
19
|
+
- [ ] **Rollback plan:** Each step can be reversed independently
|
|
20
|
+
- [ ] **No data loss risk:** Database migrations are reversible or have a safety net
|
|
21
|
+
|
|
22
|
+
## Stories (`docs/refactors/REF-{NNN}/stories/`)
|
|
23
|
+
|
|
24
|
+
- [ ] **Coverage:** Stories cover all instances from the pattern inventory
|
|
25
|
+
- [ ] **Order matches plan:** Story dependencies follow the migration plan order
|
|
26
|
+
- [ ] **Self-contained:** Each story can be implemented and verified independently
|
|
27
|
+
- [ ] **Tests included:** Each story includes test updates for the migrated code
|
|
28
|
+
|
|
29
|
+
## Overall
|
|
30
|
+
|
|
31
|
+
- [ ] **Consistency:** Scope, plan, and stories tell a coherent story
|
|
32
|
+
- [ ] **Completeness:** No instances of the old pattern will remain after all stories complete
|
|
33
|
+
- [ ] **Safety:** At no point during the migration will the system be in a broken state
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Security Audit Review Checklist
|
|
2
|
+
|
|
3
|
+
Use this checklist to review artifacts produced during a security audit lifecycle.
|
|
4
|
+
|
|
5
|
+
## Threat Model (`docs/audits/SEC-{NNN}/threat-model.md`)
|
|
6
|
+
|
|
7
|
+
- [ ] **Complete attack surface:** All entry points from the architecture doc are mapped
|
|
8
|
+
- [ ] **Trust boundaries identified:** Authentication and authorization boundaries are clearly documented
|
|
9
|
+
- [ ] **Data classified:** Sensitive data types are identified with storage and flow documentation
|
|
10
|
+
- [ ] **STRIDE applied systematically:** All six categories evaluated for each component
|
|
11
|
+
- [ ] **Dependencies assessed:** High-risk packages identified with CVE status
|
|
12
|
+
- [ ] **Threats prioritized:** Top threats ranked by likelihood x impact with justification
|
|
13
|
+
|
|
14
|
+
## Vulnerability Report (`docs/audits/SEC-{NNN}/vulnerability-report.md`)
|
|
15
|
+
|
|
16
|
+
- [ ] **Evidence-based findings:** Each vulnerability includes specific file:line and code pattern
|
|
17
|
+
- [ ] **Severity justified:** Severity ratings account for context (auth requirements, exposure)
|
|
18
|
+
- [ ] **OWASP categorized:** Findings mapped to OWASP Top 10 categories
|
|
19
|
+
- [ ] **Remediation included:** Each finding has a concrete fix with code example
|
|
20
|
+
- [ ] **Patterns identified:** Systemic issues (not just individual instances) are flagged
|
|
21
|
+
- [ ] **Positive findings noted:** Existing security practices are acknowledged
|
|
22
|
+
|
|
23
|
+
## Stories (`docs/audits/SEC-{NNN}/stories/`)
|
|
24
|
+
|
|
25
|
+
- [ ] **Severity-ordered:** Critical remediation stories come before high, medium, low
|
|
26
|
+
- [ ] **Systemic first:** Middleware and validation layer fixes before individual fixes
|
|
27
|
+
- [ ] **Secure code:** Remediation code follows secure coding practices
|
|
28
|
+
- [ ] **Test coverage:** Each story includes security test requirements
|
|
29
|
+
|
|
30
|
+
## Overall
|
|
31
|
+
|
|
32
|
+
- [ ] **Consistency:** Threat model and vulnerability report align (threats have corresponding findings)
|
|
33
|
+
- [ ] **Completeness:** All critical and high findings have remediation stories
|
|
34
|
+
- [ ] **Practicality:** Recommendations are actionable within the project's constraints
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Test & Coverage Review Checklist
|
|
2
|
+
|
|
3
|
+
Use this checklist to review artifacts produced during a test audit lifecycle.
|
|
4
|
+
|
|
5
|
+
## Coverage Report (`docs/audits/TST-{NNN}/coverage-report.md`)
|
|
6
|
+
|
|
7
|
+
- [ ] **Coverage data sourced:** Coverage numbers come from actual test runner output, not estimates
|
|
8
|
+
- [ ] **Critical gaps identified:** Uncovered code paths in high-risk areas (auth, payments, data handling) are flagged
|
|
9
|
+
- [ ] **Risk-based ranking:** Gaps are ranked by production impact, not just by coverage percentage
|
|
10
|
+
- [ ] **Integration boundaries mapped:** Cross-module interaction points are checked against architecture components
|
|
11
|
+
- [ ] **Pattern analysis present:** Testing consistency (assertion styles, mocks, naming) is assessed
|
|
12
|
+
|
|
13
|
+
## Flaky Report (`docs/audits/TST-{NNN}/flaky-report.md`)
|
|
14
|
+
|
|
15
|
+
- [ ] **Root causes identified:** Each flaky test has a specific root cause, not just "flaky"
|
|
16
|
+
- [ ] **Evidence provided:** Flakiness is demonstrated with evidence (dual-run results or code pattern analysis)
|
|
17
|
+
- [ ] **No retry-only fixes:** Suggested fixes address root causes, not just add retries
|
|
18
|
+
- [ ] **Systemic issues flagged:** Patterns causing multiple flaky tests are identified
|
|
19
|
+
- [ ] **Quick wins separated:** Low-effort fixes are clearly distinguished from larger refactors
|
|
20
|
+
|
|
21
|
+
## Stories (`docs/audits/TST-{NNN}/stories/`)
|
|
22
|
+
|
|
23
|
+
- [ ] **Priority order:** Critical gap fixes and quick-win flake fixes come first
|
|
24
|
+
- [ ] **Scoped improvements:** Each story handles one logical test improvement
|
|
25
|
+
- [ ] **Follows conventions:** Suggested tests follow the project's existing test patterns
|
|
26
|
+
- [ ] **Actionable:** Each story has specific file:line references and concrete test approaches
|
|
27
|
+
|
|
28
|
+
## Overall
|
|
29
|
+
|
|
30
|
+
- [ ] **Consistency:** Coverage report and flaky report don't contradict each other
|
|
31
|
+
- [ ] **Completeness:** All critical gaps and systemic flake issues have corresponding stories
|
|
32
|
+
- [ ] **Practicality:** Recommendations are achievable (not "rewrite all tests from scratch")
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Workspace Feature Review Checklist
|
|
2
|
+
|
|
3
|
+
Gate mode: **strict** (cross-repo features require approval before implementation)
|
|
4
|
+
|
|
5
|
+
## Workspace Feature Brief
|
|
6
|
+
- [ ] All affected repositories are identified with clear justification
|
|
7
|
+
- [ ] Repositories not affected are explicitly excluded with reasoning
|
|
8
|
+
- [ ] New interfaces are documented with type (REST/Type/Event) and participating repos
|
|
9
|
+
- [ ] Modified interfaces reference existing contract versions
|
|
10
|
+
- [ ] Wave ordering respects the dependency graph — no repo sprints before its dependencies
|
|
11
|
+
- [ ] Repos in the same dependency tier are grouped for parallel execution
|
|
12
|
+
- [ ] Risks and considerations are identified for cross-repo coordination
|
|
13
|
+
|
|
14
|
+
## Interface Contracts
|
|
15
|
+
- [ ] Every new cross-repo interface has a formal contract
|
|
16
|
+
- [ ] Every contract has full request/response schemas for all endpoints
|
|
17
|
+
- [ ] Error responses are defined, not just success cases
|
|
18
|
+
- [ ] Shared types specify exactly one owning repository
|
|
19
|
+
- [ ] Event contracts specify producer and consumer(s) with payload schemas
|
|
20
|
+
- [ ] Contract versions follow semver (breaking changes = major bump)
|
|
21
|
+
- [ ] Contracts are self-contained — implementable without reading other repo code
|
|
22
|
+
|
|
23
|
+
## Cross-Repo Implementation Plan
|
|
24
|
+
- [ ] Per-repo work breakdown covers all affected repositories
|
|
25
|
+
- [ ] Each repo's stories reference specific contract items
|
|
26
|
+
- [ ] Sprint wave ordering matches the dependency ordering in the brief
|
|
27
|
+
- [ ] Integration validation criteria are defined for each wave boundary
|
|
28
|
+
- [ ] Rollback plan exists for contract validation failures
|
|
29
|
+
|
|
30
|
+
## Overall
|
|
31
|
+
- [ ] No circular dependencies in the wave ordering
|
|
32
|
+
- [ ] Workspace memory conventions are consistent across repos
|
|
33
|
+
- [ ] All contract files are valid YAML
|
|
34
|
+
- [ ] Feature numbering follows WKSP-XXXX pattern
|