@sniper.ai/core 2.0.0 → 3.1.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 +87 -98
- package/agents/analyst.md +29 -0
- package/agents/architect.md +38 -0
- package/agents/backend-dev.md +43 -0
- package/agents/code-reviewer.md +72 -0
- package/agents/doc-writer.md +60 -0
- package/agents/frontend-dev.md +43 -0
- package/agents/fullstack-dev.md +44 -0
- package/agents/gate-reviewer.md +72 -0
- package/agents/lead-orchestrator.md +51 -0
- package/agents/product-manager.md +40 -0
- package/agents/qa-engineer.md +37 -0
- package/agents/retro-analyst.md +104 -0
- package/checklists/discover.yaml +23 -0
- package/checklists/implement.yaml +28 -0
- package/checklists/ingest-document.yaml +18 -0
- package/checklists/ingest-extract.yaml +13 -0
- package/checklists/ingest-scan.yaml +18 -0
- package/checklists/multi-faceted-review.yaml +57 -0
- package/checklists/plan.yaml +36 -0
- package/checklists/refactor-analyze.yaml +19 -0
- package/checklists/review.yaml +29 -0
- package/claude-md.template +42 -0
- package/config.template.yaml +156 -0
- package/hooks/settings-hooks.json +40 -0
- package/hooks/signal-hooks.json +16 -0
- package/package.json +23 -5
- package/personas/cognitive/devils-advocate.md +24 -0
- package/personas/cognitive/performance-focused.md +23 -0
- package/personas/cognitive/security-first.md +24 -0
- package/protocols/explore.yaml +21 -0
- package/protocols/feature.yaml +47 -0
- package/protocols/full.yaml +65 -0
- package/protocols/hotfix.yaml +19 -0
- package/protocols/ingest.yaml +42 -0
- package/protocols/patch.yaml +30 -0
- package/protocols/refactor.yaml +43 -0
- package/schemas/checkpoint.schema.yaml +133 -0
- package/schemas/cost.schema.yaml +97 -0
- package/schemas/dependency-graph.schema.yaml +37 -0
- package/schemas/gate-result.schema.yaml +101 -0
- package/schemas/knowledge-manifest.schema.yaml +39 -0
- package/schemas/live-status.schema.yaml +122 -0
- package/schemas/protocol-meta.schema.yaml +58 -0
- package/schemas/protocol.schema.yaml +100 -0
- package/schemas/retro.schema.yaml +95 -0
- package/schemas/revert-plan.schema.yaml +40 -0
- package/schemas/signal.schema.yaml +39 -0
- package/schemas/velocity.schema.yaml +52 -0
- package/schemas/workspace-lock.schema.yaml +34 -0
- package/schemas/workspace.schema.yaml +82 -0
- package/skills/sniper-flow/SKILL.md +196 -0
- package/skills/sniper-init/SKILL.md +102 -0
- package/skills/sniper-review/SKILL.md +49 -0
- package/skills/sniper-status/SKILL.md +79 -0
- package/templates/architecture.md +23 -0
- package/templates/checkpoint.yaml +27 -0
- package/templates/codebase-overview.md +19 -0
- package/templates/cost.yaml +23 -0
- package/templates/custom-protocol.yaml +98 -0
- package/templates/knowledge-manifest.yaml +32 -0
- package/templates/live-status.yaml +26 -0
- package/templates/multi-faceted-review-report.md +28 -0
- package/templates/registry.md +4 -0
- package/templates/review-report.md +25 -0
- package/templates/signal-record.yaml +37 -0
- package/templates/spec.md +28 -0
- package/templates/story.md +19 -0
- package/templates/velocity.yaml +9 -0
- package/templates/workspace-config.yaml +44 -0
- package/framework/checklists/code-review.md +0 -33
- package/framework/checklists/debug-review.md +0 -34
- package/framework/checklists/discover-review.md +0 -33
- package/framework/checklists/doc-review.md +0 -39
- package/framework/checklists/feature-review.md +0 -42
- package/framework/checklists/ingest-review.md +0 -42
- package/framework/checklists/memory-review.md +0 -30
- package/framework/checklists/perf-review.md +0 -33
- package/framework/checklists/plan-review.md +0 -52
- package/framework/checklists/refactor-review.md +0 -33
- package/framework/checklists/security-review.md +0 -34
- package/framework/checklists/sprint-review.md +0 -41
- package/framework/checklists/story-review.md +0 -30
- package/framework/checklists/test-review.md +0 -32
- package/framework/checklists/workspace-review.md +0 -34
- package/framework/claude-md.template +0 -37
- package/framework/commands/sniper-audit.md +0 -1549
- package/framework/commands/sniper-compose.md +0 -323
- package/framework/commands/sniper-debug.md +0 -337
- package/framework/commands/sniper-discover.md +0 -423
- package/framework/commands/sniper-doc.md +0 -441
- package/framework/commands/sniper-feature.md +0 -515
- package/framework/commands/sniper-ingest.md +0 -506
- package/framework/commands/sniper-init.md +0 -388
- package/framework/commands/sniper-memory.md +0 -219
- package/framework/commands/sniper-plan.md +0 -630
- package/framework/commands/sniper-review.md +0 -369
- package/framework/commands/sniper-solve.md +0 -408
- package/framework/commands/sniper-sprint.md +0 -716
- package/framework/commands/sniper-status.md +0 -481
- package/framework/commands/sniper-workspace-feature.md +0 -267
- package/framework/commands/sniper-workspace-init.md +0 -252
- package/framework/commands/sniper-workspace-status.md +0 -112
- package/framework/commands/sniper-workspace-validate.md +0 -138
- package/framework/config.template.yaml +0 -196
- package/framework/personas/cognitive/devils-advocate.md +0 -30
- package/framework/personas/cognitive/mentor-explainer.md +0 -29
- package/framework/personas/cognitive/performance-focused.md +0 -30
- package/framework/personas/cognitive/security-first.md +0 -29
- package/framework/personas/cognitive/systems-thinker.md +0 -29
- package/framework/personas/cognitive/user-empathetic.md +0 -29
- package/framework/personas/domain/.gitkeep +0 -0
- package/framework/personas/process/analyst.md +0 -29
- package/framework/personas/process/architect.md +0 -30
- package/framework/personas/process/architecture-cartographer.md +0 -25
- package/framework/personas/process/code-archaeologist.md +0 -22
- package/framework/personas/process/code-investigator.md +0 -29
- package/framework/personas/process/code-reviewer.md +0 -26
- package/framework/personas/process/contract-designer.md +0 -31
- package/framework/personas/process/convention-miner.md +0 -27
- package/framework/personas/process/coverage-analyst.md +0 -24
- package/framework/personas/process/developer.md +0 -32
- package/framework/personas/process/doc-analyst.md +0 -63
- package/framework/personas/process/doc-reviewer.md +0 -62
- package/framework/personas/process/doc-writer.md +0 -42
- package/framework/personas/process/flake-hunter.md +0 -30
- package/framework/personas/process/impact-analyst.md +0 -23
- package/framework/personas/process/integration-validator.md +0 -29
- package/framework/personas/process/log-analyst.md +0 -22
- package/framework/personas/process/migration-architect.md +0 -24
- package/framework/personas/process/perf-profiler.md +0 -27
- package/framework/personas/process/product-manager.md +0 -32
- package/framework/personas/process/qa-engineer.md +0 -31
- package/framework/personas/process/release-manager.md +0 -23
- package/framework/personas/process/retro-analyst.md +0 -30
- package/framework/personas/process/scrum-master.md +0 -31
- package/framework/personas/process/threat-modeler.md +0 -30
- package/framework/personas/process/triage-lead.md +0 -23
- package/framework/personas/process/ux-designer.md +0 -31
- package/framework/personas/process/vuln-scanner.md +0 -27
- package/framework/personas/process/workspace-orchestrator.md +0 -30
- package/framework/personas/technical/ai-ml.md +0 -33
- package/framework/personas/technical/api-design.md +0 -32
- package/framework/personas/technical/backend.md +0 -32
- package/framework/personas/technical/database.md +0 -32
- package/framework/personas/technical/frontend.md +0 -33
- package/framework/personas/technical/infrastructure.md +0 -32
- package/framework/personas/technical/security.md +0 -34
- package/framework/settings.template.json +0 -6
- package/framework/spawn-prompts/_template.md +0 -25
- package/framework/teams/debug.yaml +0 -56
- package/framework/teams/discover.yaml +0 -57
- package/framework/teams/doc.yaml +0 -76
- package/framework/teams/feature-plan.yaml +0 -61
- package/framework/teams/ingest.yaml +0 -85
- package/framework/teams/perf.yaml +0 -33
- package/framework/teams/plan.yaml +0 -86
- package/framework/teams/refactor.yaml +0 -34
- package/framework/teams/retro.yaml +0 -30
- package/framework/teams/review-pr.yaml +0 -73
- package/framework/teams/review-release.yaml +0 -70
- package/framework/teams/security.yaml +0 -59
- package/framework/teams/solve.yaml +0 -48
- package/framework/teams/sprint.yaml +0 -68
- package/framework/teams/test.yaml +0 -59
- package/framework/teams/workspace-feature.yaml +0 -69
- package/framework/teams/workspace-validation.yaml +0 -27
- package/framework/templates/arch-delta.md +0 -74
- package/framework/templates/architecture.md +0 -95
- package/framework/templates/brief.md +0 -73
- package/framework/templates/bug-report.md +0 -55
- package/framework/templates/contract-validation-report.md +0 -68
- package/framework/templates/contract.yaml +0 -60
- package/framework/templates/conventions.md +0 -59
- package/framework/templates/coverage-report.md +0 -67
- package/framework/templates/doc-api.md +0 -53
- package/framework/templates/doc-guide.md +0 -35
- package/framework/templates/doc-readme.md +0 -49
- package/framework/templates/epic.md +0 -47
- package/framework/templates/feature-brief.md +0 -54
- package/framework/templates/feature-spec.md +0 -53
- package/framework/templates/flaky-report.md +0 -64
- package/framework/templates/investigation.md +0 -49
- package/framework/templates/memory-anti-pattern.yaml +0 -16
- package/framework/templates/memory-convention.yaml +0 -17
- package/framework/templates/memory-decision.yaml +0 -16
- package/framework/templates/migration-plan.md +0 -47
- package/framework/templates/optimization-plan.md +0 -59
- package/framework/templates/performance-profile.md +0 -64
- package/framework/templates/personas.md +0 -118
- package/framework/templates/postmortem.md +0 -69
- package/framework/templates/pr-review.md +0 -50
- package/framework/templates/prd.md +0 -92
- package/framework/templates/refactor-scope.md +0 -52
- package/framework/templates/release-readiness.md +0 -66
- package/framework/templates/retro.yaml +0 -44
- package/framework/templates/risks.md +0 -64
- package/framework/templates/security.md +0 -111
- package/framework/templates/sprint-review.md +0 -32
- package/framework/templates/story.md +0 -53
- package/framework/templates/threat-model.md +0 -71
- package/framework/templates/ux-spec.md +0 -71
- package/framework/templates/vulnerability-report.md +0 -56
- package/framework/templates/workspace-brief.md +0 -52
- package/framework/templates/workspace-plan.md +0 -50
- package/framework/workflows/discover-only.md +0 -39
- package/framework/workflows/full-lifecycle.md +0 -56
- package/framework/workflows/quick-feature.md +0 -44
- package/framework/workflows/sprint-cycle.md +0 -47
- package/framework/workflows/workspace-feature.md +0 -71
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# Coverage Report: {title}
|
|
2
|
-
|
|
3
|
-
> **Audit ID:** TST-{NNN}
|
|
4
|
-
> **Status:** Analyzing
|
|
5
|
-
> **Date:** {date}
|
|
6
|
-
> **Author:** Coverage Analyst
|
|
7
|
-
|
|
8
|
-
## Coverage Summary
|
|
9
|
-
<!-- sniper:managed:coverage-summary:start -->
|
|
10
|
-
|
|
11
|
-
| Metric | Coverage | Target |
|
|
12
|
-
|--------|----------|--------|
|
|
13
|
-
| Lines | | |
|
|
14
|
-
| Branches | | |
|
|
15
|
-
| Functions | | |
|
|
16
|
-
| Statements | | |
|
|
17
|
-
|
|
18
|
-
<!-- sniper:managed:coverage-summary:end -->
|
|
19
|
-
|
|
20
|
-
## Critical Gaps
|
|
21
|
-
<!-- sniper:managed:critical-gaps:start -->
|
|
22
|
-
<!-- Uncovered code ranked by risk — public APIs first, then business logic, then utilities -->
|
|
23
|
-
|
|
24
|
-
### Gap 1: {description}
|
|
25
|
-
- **File:** `path/to/file.ts:42-67`
|
|
26
|
-
- **Risk:** Critical / High / Medium / Low
|
|
27
|
-
- **What's uncovered:** {description of the uncovered code path}
|
|
28
|
-
- **Why it matters:** {production impact if this code fails}
|
|
29
|
-
- **Suggested test approach:** {how to test it}
|
|
30
|
-
- **Effort:** S / M / L
|
|
31
|
-
|
|
32
|
-
<!-- sniper:managed:critical-gaps:end -->
|
|
33
|
-
|
|
34
|
-
## Integration Boundaries
|
|
35
|
-
<!-- sniper:managed:integration-boundaries:start -->
|
|
36
|
-
<!-- Places where modules/services interact that lack integration tests -->
|
|
37
|
-
|
|
38
|
-
| Boundary | Components | Integration Tests? | Risk |
|
|
39
|
-
|----------|------------|-------------------|------|
|
|
40
|
-
| | A ↔ B | None / Partial / Good | |
|
|
41
|
-
|
|
42
|
-
<!-- sniper:managed:integration-boundaries:end -->
|
|
43
|
-
|
|
44
|
-
## Test Pattern Analysis
|
|
45
|
-
<!-- sniper:managed:test-patterns:start -->
|
|
46
|
-
<!-- Assessment of testing consistency across the codebase -->
|
|
47
|
-
|
|
48
|
-
| Aspect | Current State | Recommendation |
|
|
49
|
-
|--------|--------------|----------------|
|
|
50
|
-
| Assertion style | | |
|
|
51
|
-
| Mock patterns | | |
|
|
52
|
-
| Test structure | | |
|
|
53
|
-
| Naming conventions | | |
|
|
54
|
-
| Setup/teardown | | |
|
|
55
|
-
|
|
56
|
-
<!-- sniper:managed:test-patterns:end -->
|
|
57
|
-
|
|
58
|
-
## Prioritized Recommendations
|
|
59
|
-
<!-- sniper:managed:recommendations:start -->
|
|
60
|
-
<!-- Ordered list of what to test next, with effort estimates -->
|
|
61
|
-
|
|
62
|
-
| Priority | Recommendation | Effort | Impact |
|
|
63
|
-
|----------|---------------|--------|--------|
|
|
64
|
-
| 1 | | S/M/L | |
|
|
65
|
-
| 2 | | S/M/L | |
|
|
66
|
-
|
|
67
|
-
<!-- sniper:managed:recommendations:end -->
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# API Reference
|
|
2
|
-
|
|
3
|
-
> {one_line_description}
|
|
4
|
-
|
|
5
|
-
<!-- sniper:managed:start -->
|
|
6
|
-
|
|
7
|
-
## Base URL
|
|
8
|
-
```
|
|
9
|
-
{base_url}
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
## Authentication
|
|
13
|
-
<!-- Auth method: API key, JWT, OAuth, etc. -->
|
|
14
|
-
|
|
15
|
-
## Endpoints
|
|
16
|
-
|
|
17
|
-
### {Resource Group 1}
|
|
18
|
-
|
|
19
|
-
#### `{METHOD} {path}`
|
|
20
|
-
{description}
|
|
21
|
-
|
|
22
|
-
**Request**
|
|
23
|
-
```json
|
|
24
|
-
{
|
|
25
|
-
}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**Response** `{status_code}`
|
|
29
|
-
```json
|
|
30
|
-
{
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
**Error Codes**
|
|
35
|
-
| Code | Description |
|
|
36
|
-
|------|-------------|
|
|
37
|
-
| | |
|
|
38
|
-
|
|
39
|
-
<!-- Repeat for each endpoint -->
|
|
40
|
-
|
|
41
|
-
## Common Error Responses
|
|
42
|
-
| Status | Code | Description |
|
|
43
|
-
|--------|------|-------------|
|
|
44
|
-
| 400 | BAD_REQUEST | Invalid request parameters |
|
|
45
|
-
| 401 | UNAUTHORIZED | Missing or invalid authentication |
|
|
46
|
-
| 403 | FORBIDDEN | Insufficient permissions |
|
|
47
|
-
| 404 | NOT_FOUND | Resource does not exist |
|
|
48
|
-
| 500 | INTERNAL_ERROR | Unexpected server error |
|
|
49
|
-
|
|
50
|
-
## Rate Limiting
|
|
51
|
-
<!-- Rate limit details if applicable -->
|
|
52
|
-
|
|
53
|
-
<!-- sniper:managed:end -->
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# {guide_title}
|
|
2
|
-
|
|
3
|
-
> {one_line_summary}
|
|
4
|
-
|
|
5
|
-
<!-- sniper:managed:start -->
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
<!-- What this guide covers and who it's for -->
|
|
9
|
-
|
|
10
|
-
## Prerequisites
|
|
11
|
-
<!-- What the reader needs before starting -->
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
## Steps
|
|
15
|
-
|
|
16
|
-
### 1. {first_step}
|
|
17
|
-
<!-- Detailed instructions with code examples -->
|
|
18
|
-
|
|
19
|
-
### 2. {second_step}
|
|
20
|
-
<!-- Continue as needed -->
|
|
21
|
-
|
|
22
|
-
## Examples
|
|
23
|
-
<!-- Working examples that demonstrate the key concepts -->
|
|
24
|
-
|
|
25
|
-
## Troubleshooting
|
|
26
|
-
<!-- Common issues and their solutions -->
|
|
27
|
-
| Problem | Solution |
|
|
28
|
-
|---------|----------|
|
|
29
|
-
| | |
|
|
30
|
-
|
|
31
|
-
## Related Documentation
|
|
32
|
-
<!-- Links to other relevant docs -->
|
|
33
|
-
-
|
|
34
|
-
|
|
35
|
-
<!-- sniper:managed:end -->
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# {project_name}
|
|
2
|
-
|
|
3
|
-
> {one_line_description}
|
|
4
|
-
|
|
5
|
-
<!-- sniper:managed:start -->
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
<!-- 2-3 sentences explaining what the project does and who it's for -->
|
|
9
|
-
|
|
10
|
-
## Features
|
|
11
|
-
<!-- Bullet list of key features. Source from PRD P0/P1 or infer from codebase -->
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
## Quick Start
|
|
15
|
-
|
|
16
|
-
### Prerequisites
|
|
17
|
-
<!-- List runtime requirements: Node.js version, database, etc. -->
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
### Installation
|
|
21
|
-
```bash
|
|
22
|
-
# Clone, install, and run commands — must actually work
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### Usage
|
|
26
|
-
```bash
|
|
27
|
-
# Primary usage example
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Tech Stack
|
|
31
|
-
| Layer | Technology |
|
|
32
|
-
|-------|-----------|
|
|
33
|
-
| | |
|
|
34
|
-
|
|
35
|
-
## Project Structure
|
|
36
|
-
```
|
|
37
|
-
project-root/
|
|
38
|
-
├── src/
|
|
39
|
-
│ └── ...
|
|
40
|
-
└── ...
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
<!-- sniper:managed:end -->
|
|
44
|
-
|
|
45
|
-
## Contributing
|
|
46
|
-
<!-- Link to CONTRIBUTING.md if it exists, or brief instructions -->
|
|
47
|
-
|
|
48
|
-
## License
|
|
49
|
-
<!-- License type and link -->
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Epic {number}: {title}
|
|
2
|
-
|
|
3
|
-
> **Version:** 1
|
|
4
|
-
> **Status:** Draft
|
|
5
|
-
> **Last Updated:** {date}
|
|
6
|
-
> **Priority:** P{0|1|2}
|
|
7
|
-
> **Estimated Points:** {total}
|
|
8
|
-
> **Dependencies:** {epic dependencies or "None"}
|
|
9
|
-
> **Change Log:**
|
|
10
|
-
> - v1 ({date}): Initial version
|
|
11
|
-
|
|
12
|
-
## Scope
|
|
13
|
-
<!-- sniper:managed:scope:start -->
|
|
14
|
-
<!-- What this epic covers and what it explicitly does NOT cover -->
|
|
15
|
-
|
|
16
|
-
### In Scope
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
### Out of Scope
|
|
20
|
-
-
|
|
21
|
-
<!-- sniper:managed:scope:end -->
|
|
22
|
-
|
|
23
|
-
## Architecture Context
|
|
24
|
-
<!-- sniper:managed:architecture-context:start -->
|
|
25
|
-
<!-- EMBED relevant sections from docs/architecture.md — don't just reference -->
|
|
26
|
-
<!-- sniper:managed:architecture-context:end -->
|
|
27
|
-
|
|
28
|
-
## Stories
|
|
29
|
-
<!-- sniper:managed:stories:start -->
|
|
30
|
-
| # | Story | Complexity | Dependencies | Owner |
|
|
31
|
-
|---|-------|-----------|-------------|-------|
|
|
32
|
-
| {epic}.1 | | S/M/L/XL | | backend/frontend/infra |
|
|
33
|
-
| {epic}.2 | | | | |
|
|
34
|
-
<!-- sniper:managed:stories:end -->
|
|
35
|
-
|
|
36
|
-
## Acceptance Criteria
|
|
37
|
-
<!-- sniper:managed:acceptance-criteria:start -->
|
|
38
|
-
<!-- Epic-level acceptance criteria — what must be true when ALL stories are done -->
|
|
39
|
-
1.
|
|
40
|
-
2.
|
|
41
|
-
3.
|
|
42
|
-
<!-- sniper:managed:acceptance-criteria:end -->
|
|
43
|
-
|
|
44
|
-
## Technical Notes
|
|
45
|
-
<!-- sniper:managed:technical-notes:start -->
|
|
46
|
-
<!-- Any technical considerations specific to this epic -->
|
|
47
|
-
<!-- sniper:managed:technical-notes:end -->
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# Feature Brief: {title}
|
|
2
|
-
|
|
3
|
-
> **Feature ID:** SNPR-{XXXX}
|
|
4
|
-
> **Version:** 1
|
|
5
|
-
> **Status:** Draft
|
|
6
|
-
> **Date:** {date}
|
|
7
|
-
> **Author:** Feature Scoping Agent
|
|
8
|
-
> **Change Log:**
|
|
9
|
-
> - v1 ({date}): Initial version
|
|
10
|
-
|
|
11
|
-
## Feature Description
|
|
12
|
-
<!-- sniper:managed:feature-description:start -->
|
|
13
|
-
<!-- What this feature does, in user-facing terms -->
|
|
14
|
-
<!-- sniper:managed:feature-description:end -->
|
|
15
|
-
|
|
16
|
-
## Motivation
|
|
17
|
-
<!-- sniper:managed:motivation:start -->
|
|
18
|
-
<!-- Why this feature is needed. What user problem does it solve? -->
|
|
19
|
-
<!-- sniper:managed:motivation:end -->
|
|
20
|
-
|
|
21
|
-
## Affected Areas
|
|
22
|
-
<!-- sniper:managed:affected-areas:start -->
|
|
23
|
-
|
|
24
|
-
### Components Affected
|
|
25
|
-
| Component | Impact | Notes |
|
|
26
|
-
|-----------|--------|-------|
|
|
27
|
-
| | Low / Medium / High | |
|
|
28
|
-
|
|
29
|
-
### Files Likely Modified
|
|
30
|
-
- `path/to/file.ts` — reason
|
|
31
|
-
|
|
32
|
-
<!-- sniper:managed:affected-areas:end -->
|
|
33
|
-
|
|
34
|
-
## Scope
|
|
35
|
-
|
|
36
|
-
### In Scope
|
|
37
|
-
<!-- sniper:managed:in-scope:start -->
|
|
38
|
-
-
|
|
39
|
-
<!-- sniper:managed:in-scope:end -->
|
|
40
|
-
|
|
41
|
-
### Out of Scope
|
|
42
|
-
<!-- sniper:managed:out-of-scope:start -->
|
|
43
|
-
-
|
|
44
|
-
<!-- sniper:managed:out-of-scope:end -->
|
|
45
|
-
|
|
46
|
-
## Risks & Open Questions
|
|
47
|
-
<!-- sniper:managed:risks:start -->
|
|
48
|
-
1.
|
|
49
|
-
<!-- sniper:managed:risks:end -->
|
|
50
|
-
|
|
51
|
-
## Dependencies
|
|
52
|
-
<!-- sniper:managed:dependencies:start -->
|
|
53
|
-
<!-- External services, libraries, or other features needed -->
|
|
54
|
-
<!-- sniper:managed:dependencies:end -->
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Feature Spec: {title}
|
|
2
|
-
|
|
3
|
-
> **Feature ID:** SNPR-{XXXX}
|
|
4
|
-
> **Version:** 1
|
|
5
|
-
> **Status:** Draft
|
|
6
|
-
> **Date:** {date}
|
|
7
|
-
> **Author:** Feature Planning Team — PM
|
|
8
|
-
> **Source:** `docs/features/SNPR-{XXXX}/brief.md`
|
|
9
|
-
> **Change Log:**
|
|
10
|
-
> - v1 ({date}): Initial version
|
|
11
|
-
|
|
12
|
-
## Requirements
|
|
13
|
-
|
|
14
|
-
### Functional Requirements
|
|
15
|
-
<!-- sniper:managed:functional-requirements:start -->
|
|
16
|
-
| ID | Requirement | Priority | Acceptance Criteria |
|
|
17
|
-
|----|------------|----------|-------------------|
|
|
18
|
-
| FR-001 | | P0 | |
|
|
19
|
-
<!-- sniper:managed:functional-requirements:end -->
|
|
20
|
-
|
|
21
|
-
### Non-Functional Requirements
|
|
22
|
-
<!-- sniper:managed:nonfunctional-requirements:start -->
|
|
23
|
-
| Category | Requirement | Target |
|
|
24
|
-
|----------|------------|--------|
|
|
25
|
-
| | | |
|
|
26
|
-
<!-- sniper:managed:nonfunctional-requirements:end -->
|
|
27
|
-
|
|
28
|
-
## User Stories
|
|
29
|
-
<!-- sniper:managed:user-stories:start -->
|
|
30
|
-
| ID | As a... | I want to... | So that... |
|
|
31
|
-
|----|---------|-------------|-----------|
|
|
32
|
-
| US-001 | | | |
|
|
33
|
-
<!-- sniper:managed:user-stories:end -->
|
|
34
|
-
|
|
35
|
-
## API Changes
|
|
36
|
-
<!-- sniper:managed:api-changes:start -->
|
|
37
|
-
<!-- New endpoints, modified endpoints, deprecated endpoints -->
|
|
38
|
-
<!-- sniper:managed:api-changes:end -->
|
|
39
|
-
|
|
40
|
-
## Data Model Changes
|
|
41
|
-
<!-- sniper:managed:data-model-changes:start -->
|
|
42
|
-
<!-- New tables/collections, modified schemas, migrations needed -->
|
|
43
|
-
<!-- sniper:managed:data-model-changes:end -->
|
|
44
|
-
|
|
45
|
-
## UI Changes
|
|
46
|
-
<!-- sniper:managed:ui-changes:start -->
|
|
47
|
-
<!-- New screens, modified screens, new components -->
|
|
48
|
-
<!-- sniper:managed:ui-changes:end -->
|
|
49
|
-
|
|
50
|
-
## Rollout Strategy
|
|
51
|
-
<!-- sniper:managed:rollout:start -->
|
|
52
|
-
<!-- Feature flag? Gradual rollout? Migration needed? -->
|
|
53
|
-
<!-- sniper:managed:rollout:end -->
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# Flaky Test Report: {title}
|
|
2
|
-
|
|
3
|
-
> **Audit ID:** TST-{NNN}
|
|
4
|
-
> **Status:** Analyzing
|
|
5
|
-
> **Date:** {date}
|
|
6
|
-
> **Author:** Flake Hunter
|
|
7
|
-
|
|
8
|
-
## Flake Summary
|
|
9
|
-
<!-- sniper:managed:flake-summary:start -->
|
|
10
|
-
|
|
11
|
-
| Root Cause Category | Count |
|
|
12
|
-
|-------------------|-------|
|
|
13
|
-
| Timing | |
|
|
14
|
-
| Shared state | |
|
|
15
|
-
| Network dependency | |
|
|
16
|
-
| Race condition | |
|
|
17
|
-
| Non-deterministic data | |
|
|
18
|
-
| Environment coupling | |
|
|
19
|
-
| **Total** | |
|
|
20
|
-
|
|
21
|
-
<!-- sniper:managed:flake-summary:end -->
|
|
22
|
-
|
|
23
|
-
## Flaky Test Inventory
|
|
24
|
-
<!-- sniper:managed:flaky-tests:start -->
|
|
25
|
-
|
|
26
|
-
### {Test Name}
|
|
27
|
-
- **File:** `path/to/test.ts:42`
|
|
28
|
-
- **Root cause:** Timing / Shared state / Network / Race condition / Non-deterministic data / Environment
|
|
29
|
-
- **Evidence:** {how the flakiness was detected or reproduced}
|
|
30
|
-
- **Suggested fix:** {specific remediation approach}
|
|
31
|
-
- **Effort:** S / M / L
|
|
32
|
-
|
|
33
|
-
<!-- sniper:managed:flaky-tests:end -->
|
|
34
|
-
|
|
35
|
-
## Systemic Issues
|
|
36
|
-
<!-- sniper:managed:systemic-issues:start -->
|
|
37
|
-
<!-- Patterns that cause multiple flaky tests -->
|
|
38
|
-
|
|
39
|
-
### {Issue Title}
|
|
40
|
-
- **Affected tests:** {count} tests
|
|
41
|
-
- **Root cause:** {description of the systemic pattern}
|
|
42
|
-
- **Examples:** {list of affected test files}
|
|
43
|
-
- **Fix approach:** {how to fix the systemic issue}
|
|
44
|
-
|
|
45
|
-
<!-- sniper:managed:systemic-issues:end -->
|
|
46
|
-
|
|
47
|
-
## Quick Wins
|
|
48
|
-
<!-- sniper:managed:quick-wins:start -->
|
|
49
|
-
<!-- Flaky tests that can be fixed with minimal effort -->
|
|
50
|
-
|
|
51
|
-
| Test | Fix | Effort |
|
|
52
|
-
|------|-----|--------|
|
|
53
|
-
| | | S |
|
|
54
|
-
|
|
55
|
-
<!-- sniper:managed:quick-wins:end -->
|
|
56
|
-
|
|
57
|
-
## Prevention Recommendations
|
|
58
|
-
<!-- sniper:managed:prevention:start -->
|
|
59
|
-
<!-- Patterns and guardrails to prevent future flaky tests -->
|
|
60
|
-
|
|
61
|
-
1. {Recommendation}
|
|
62
|
-
2. {Recommendation}
|
|
63
|
-
|
|
64
|
-
<!-- sniper:managed:prevention:end -->
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# Investigation: {title}
|
|
2
|
-
|
|
3
|
-
> **Bug ID:** BUG-{NNN}
|
|
4
|
-
> **Status:** Investigating
|
|
5
|
-
> **Date:** {date}
|
|
6
|
-
> **Based on:** `docs/bugs/BUG-{NNN}/report.md`
|
|
7
|
-
|
|
8
|
-
## Log Findings
|
|
9
|
-
<!-- sniper:managed:log-findings:start -->
|
|
10
|
-
<!-- Findings from the Log Analyst -->
|
|
11
|
-
|
|
12
|
-
### Error Patterns
|
|
13
|
-
<!-- What errors were found, their frequency, and timing -->
|
|
14
|
-
|
|
15
|
-
### Correlations
|
|
16
|
-
<!-- Patterns in who/what/when is affected -->
|
|
17
|
-
|
|
18
|
-
### Evidence
|
|
19
|
-
<!-- Specific error messages, stack traces, and their locations -->
|
|
20
|
-
|
|
21
|
-
<!-- sniper:managed:log-findings:end -->
|
|
22
|
-
|
|
23
|
-
## Code Findings
|
|
24
|
-
<!-- sniper:managed:code-findings:start -->
|
|
25
|
-
<!-- Findings from the Code Investigator -->
|
|
26
|
-
|
|
27
|
-
### Execution Path
|
|
28
|
-
<!-- The code path from entry point to failure: file:line → file:line → FAILURE -->
|
|
29
|
-
|
|
30
|
-
### Root Cause Identification
|
|
31
|
-
<!-- The specific code, condition, or data state that causes the failure -->
|
|
32
|
-
|
|
33
|
-
### Recent Changes
|
|
34
|
-
<!-- Relevant git history for affected files -->
|
|
35
|
-
|
|
36
|
-
### Related Fragile Code
|
|
37
|
-
<!-- Other code nearby with similar vulnerability patterns -->
|
|
38
|
-
|
|
39
|
-
<!-- sniper:managed:code-findings:end -->
|
|
40
|
-
|
|
41
|
-
## Root Cause
|
|
42
|
-
<!-- sniper:managed:root-cause:start -->
|
|
43
|
-
<!-- Combined analysis: the definitive root cause explanation -->
|
|
44
|
-
<!-- sniper:managed:root-cause:end -->
|
|
45
|
-
|
|
46
|
-
## Recommended Fix
|
|
47
|
-
<!-- sniper:managed:recommended-fix:start -->
|
|
48
|
-
<!-- What should be changed to fix the issue -->
|
|
49
|
-
<!-- sniper:managed:recommended-fix:end -->
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# Anti-Pattern Entry Template
|
|
2
|
-
# Add to: .sniper/memory/anti-patterns.yaml
|
|
3
|
-
|
|
4
|
-
# - id: ap-XXX # Auto-assigned sequential ID
|
|
5
|
-
# description: "" # What the anti-pattern is
|
|
6
|
-
# why_bad: "" # Why it's problematic
|
|
7
|
-
# fix_pattern: "" # What to do instead
|
|
8
|
-
# source:
|
|
9
|
-
# type: review_gate | retro | manual | imported
|
|
10
|
-
# ref: "" # Source reference
|
|
11
|
-
# story: "" # Story where it was found (optional)
|
|
12
|
-
# date: "" # ISO 8601 date
|
|
13
|
-
# detection_hint: "" # Grep/search pattern to detect this
|
|
14
|
-
# applies_to: [] # Agent roles
|
|
15
|
-
# severity: high | medium | low
|
|
16
|
-
# status: confirmed | candidate
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Convention Entry Template
|
|
2
|
-
# Add to: .sniper/memory/conventions.yaml
|
|
3
|
-
|
|
4
|
-
# - id: conv-XXX # Auto-assigned sequential ID
|
|
5
|
-
# rule: "" # Clear, imperative statement of the convention
|
|
6
|
-
# rationale: "" # Why this convention exists
|
|
7
|
-
# source:
|
|
8
|
-
# type: review_gate | retro | manual | imported
|
|
9
|
-
# ref: "" # Source reference (sprint name, review ID, etc.)
|
|
10
|
-
# date: "" # ISO 8601 date
|
|
11
|
-
# applies_to: [] # Agent roles: backend-engineer, frontend-engineer, architect, etc.
|
|
12
|
-
# enforcement: review_gate | spawn_prompt | both
|
|
13
|
-
# scope: project | workspace # project = this repo only, workspace = all repos
|
|
14
|
-
# status: confirmed | candidate # candidate = needs one more occurrence to confirm
|
|
15
|
-
# examples:
|
|
16
|
-
# positive: "" # Example of correct usage
|
|
17
|
-
# negative: "" # Example of incorrect usage
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# Decision Entry Template
|
|
2
|
-
# Add to: .sniper/memory/decisions.yaml
|
|
3
|
-
|
|
4
|
-
# - id: dec-XXX # Auto-assigned sequential ID
|
|
5
|
-
# title: "" # Short title for the decision
|
|
6
|
-
# context: "" # What problem or question prompted this decision
|
|
7
|
-
# decision: "" # What was decided
|
|
8
|
-
# alternatives_considered: # What other options were evaluated
|
|
9
|
-
# - ""
|
|
10
|
-
# source:
|
|
11
|
-
# type: review_gate | retro | manual | imported
|
|
12
|
-
# ref: "" # Source reference
|
|
13
|
-
# date: "" # ISO 8601 date
|
|
14
|
-
# applies_to: [] # Agent roles
|
|
15
|
-
# status: active | superseded | deprecated
|
|
16
|
-
# superseded_by: null # ID of the decision that replaced this one
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Migration Plan: {title}
|
|
2
|
-
|
|
3
|
-
> **Refactor ID:** REF-{NNN}
|
|
4
|
-
> **Status:** Planning
|
|
5
|
-
> **Date:** {date}
|
|
6
|
-
> **Author:** Migration Architect
|
|
7
|
-
> **Based on:** `docs/refactors/REF-{NNN}/scope.md`
|
|
8
|
-
|
|
9
|
-
## Migration Strategy
|
|
10
|
-
<!-- sniper:managed:strategy:start -->
|
|
11
|
-
<!-- Big-bang vs incremental vs strangler fig, with justification -->
|
|
12
|
-
<!-- sniper:managed:strategy:end -->
|
|
13
|
-
|
|
14
|
-
## Step-by-Step Approach
|
|
15
|
-
<!-- sniper:managed:steps:start -->
|
|
16
|
-
|
|
17
|
-
### Step 1: {description}
|
|
18
|
-
- **What changes:**
|
|
19
|
-
- **Why this order:**
|
|
20
|
-
- **Verification:**
|
|
21
|
-
|
|
22
|
-
### Step 2: {description}
|
|
23
|
-
- **What changes:**
|
|
24
|
-
- **Why this order:**
|
|
25
|
-
- **Verification:**
|
|
26
|
-
|
|
27
|
-
<!-- sniper:managed:steps:end -->
|
|
28
|
-
|
|
29
|
-
## Coexistence Plan
|
|
30
|
-
<!-- sniper:managed:coexistence:start -->
|
|
31
|
-
<!-- How old and new patterns coexist during migration -->
|
|
32
|
-
<!-- sniper:managed:coexistence:end -->
|
|
33
|
-
|
|
34
|
-
## Compatibility Layer
|
|
35
|
-
<!-- sniper:managed:compatibility:start -->
|
|
36
|
-
<!-- Adapter patterns, deprecation warnings, backward-compatible wrappers -->
|
|
37
|
-
<!-- sniper:managed:compatibility:end -->
|
|
38
|
-
|
|
39
|
-
## Verification Strategy
|
|
40
|
-
<!-- sniper:managed:verification:start -->
|
|
41
|
-
<!-- How to verify each step worked: tests, canary, metrics -->
|
|
42
|
-
<!-- sniper:managed:verification:end -->
|
|
43
|
-
|
|
44
|
-
## Rollback Plan
|
|
45
|
-
<!-- sniper:managed:rollback:start -->
|
|
46
|
-
<!-- How to undo each step if something goes wrong -->
|
|
47
|
-
<!-- sniper:managed:rollback:end -->
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# Optimization Plan: {title}
|
|
2
|
-
|
|
3
|
-
> **Audit ID:** PERF-{NNN}
|
|
4
|
-
> **Status:** Planning
|
|
5
|
-
> **Date:** {date}
|
|
6
|
-
> **Author:** Lead
|
|
7
|
-
|
|
8
|
-
## Priority Matrix
|
|
9
|
-
<!-- sniper:managed:priority-matrix:start -->
|
|
10
|
-
<!-- Bottlenecks ranked by impact / effort ratio -->
|
|
11
|
-
|
|
12
|
-
| Rank | Bottleneck | Impact | Effort | Ratio | Category |
|
|
13
|
-
|------|-----------|--------|--------|-------|----------|
|
|
14
|
-
| 1 | | High/Med/Low | S/M/L | | Quick win / Standard / Major |
|
|
15
|
-
|
|
16
|
-
<!-- sniper:managed:priority-matrix:end -->
|
|
17
|
-
|
|
18
|
-
## Optimization Recommendations
|
|
19
|
-
<!-- sniper:managed:recommendations:start -->
|
|
20
|
-
|
|
21
|
-
### Optimization 1: {title}
|
|
22
|
-
- **Bottleneck:** {reference to bottleneck from profile report}
|
|
23
|
-
- **What to change:** {specific change description}
|
|
24
|
-
- **Expected improvement:** {e.g., "reduces O(n) DB calls to O(1)"}
|
|
25
|
-
- **Implementation approach:** {how to implement}
|
|
26
|
-
- **Risks and trade-offs:** {e.g., "caching adds complexity, requires cache invalidation strategy"}
|
|
27
|
-
- **Benchmark:** {how to verify the improvement}
|
|
28
|
-
|
|
29
|
-
<!-- sniper:managed:recommendations:end -->
|
|
30
|
-
|
|
31
|
-
## Benchmark Requirements
|
|
32
|
-
<!-- sniper:managed:benchmarks:start -->
|
|
33
|
-
<!-- What benchmarks should be written to verify each optimization -->
|
|
34
|
-
|
|
35
|
-
| Optimization | Benchmark Description | Metrics to Capture |
|
|
36
|
-
|-------------|----------------------|-------------------|
|
|
37
|
-
| | | Latency / Throughput / Memory / DB calls |
|
|
38
|
-
|
|
39
|
-
<!-- sniper:managed:benchmarks:end -->
|
|
40
|
-
|
|
41
|
-
## Quick Wins
|
|
42
|
-
<!-- sniper:managed:quick-wins:start -->
|
|
43
|
-
<!-- Low-effort, high-impact optimizations -->
|
|
44
|
-
|
|
45
|
-
| Optimization | Effort | Expected Impact |
|
|
46
|
-
|-------------|--------|-----------------|
|
|
47
|
-
| | S | |
|
|
48
|
-
|
|
49
|
-
<!-- sniper:managed:quick-wins:end -->
|
|
50
|
-
|
|
51
|
-
## Monitoring Recommendations
|
|
52
|
-
<!-- sniper:managed:monitoring:start -->
|
|
53
|
-
<!-- Metrics to track for regression prevention -->
|
|
54
|
-
|
|
55
|
-
| Metric | Current Baseline | Target | Alert Threshold |
|
|
56
|
-
|--------|-----------------|--------|----------------|
|
|
57
|
-
| | | | |
|
|
58
|
-
|
|
59
|
-
<!-- sniper:managed:monitoring:end -->
|