@sniper.ai/core 2.0.0 → 3.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 +88 -98
- package/agents/analyst.md +30 -0
- package/agents/architect.md +36 -0
- package/agents/backend-dev.md +43 -0
- package/agents/code-reviewer.md +72 -0
- package/agents/frontend-dev.md +43 -0
- package/agents/fullstack-dev.md +44 -0
- package/agents/gate-reviewer.md +62 -0
- package/agents/lead-orchestrator.md +51 -0
- package/agents/product-manager.md +38 -0
- package/agents/qa-engineer.md +37 -0
- package/agents/retro-analyst.md +98 -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 +56 -0
- package/checklists/plan.yaml +36 -0
- package/checklists/refactor-analyze.yaml +18 -0
- package/checklists/review.yaml +28 -0
- package/claude-md.template +42 -0
- package/config.template.yaml +156 -0
- package/hooks/settings-hooks.json +31 -0
- package/hooks/signal-hooks.json +11 -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 +18 -0
- package/protocols/feature.yaml +45 -0
- package/protocols/full.yaml +63 -0
- package/protocols/hotfix.yaml +19 -0
- package/protocols/ingest.yaml +39 -0
- package/protocols/patch.yaml +30 -0
- package/protocols/refactor.yaml +41 -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.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 +243 -0
- package/skills/sniper-flow-headless/SKILL.md +105 -0
- package/skills/sniper-init/SKILL.md +103 -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/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
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
$schema: "https://json-schema.org/draft/2020-12/schema"
|
|
2
|
+
$id: "https://sniper.ai/schemas/gate-result"
|
|
3
|
+
title: Gate Result
|
|
4
|
+
description: Schema for SNIPER gate review results that determine whether a phase passes its quality gate.
|
|
5
|
+
type: object
|
|
6
|
+
required:
|
|
7
|
+
- gate
|
|
8
|
+
- timestamp
|
|
9
|
+
- result
|
|
10
|
+
- blocking_failures
|
|
11
|
+
- total_checks
|
|
12
|
+
properties:
|
|
13
|
+
gate:
|
|
14
|
+
type: string
|
|
15
|
+
description: The phase name this gate review applies to.
|
|
16
|
+
timestamp:
|
|
17
|
+
type: string
|
|
18
|
+
format: date-time
|
|
19
|
+
description: ISO 8601 timestamp of when the gate review was performed.
|
|
20
|
+
result:
|
|
21
|
+
type: string
|
|
22
|
+
enum:
|
|
23
|
+
- pass
|
|
24
|
+
- fail
|
|
25
|
+
description: Overall gate review result.
|
|
26
|
+
checks:
|
|
27
|
+
type: array
|
|
28
|
+
description: Individual check results that make up the gate review.
|
|
29
|
+
items:
|
|
30
|
+
type: object
|
|
31
|
+
required:
|
|
32
|
+
- id
|
|
33
|
+
- status
|
|
34
|
+
- blocking
|
|
35
|
+
- output
|
|
36
|
+
properties:
|
|
37
|
+
id:
|
|
38
|
+
type: string
|
|
39
|
+
description: Unique identifier for this check.
|
|
40
|
+
status:
|
|
41
|
+
type: string
|
|
42
|
+
enum:
|
|
43
|
+
- pass
|
|
44
|
+
- fail
|
|
45
|
+
description: Whether this individual check passed or failed.
|
|
46
|
+
blocking:
|
|
47
|
+
type: boolean
|
|
48
|
+
description: Whether this check is a blocking check (failure prevents gate pass).
|
|
49
|
+
output:
|
|
50
|
+
type: string
|
|
51
|
+
description: Descriptive output or message from the check.
|
|
52
|
+
blocking_failures:
|
|
53
|
+
type: integer
|
|
54
|
+
minimum: 0
|
|
55
|
+
description: Number of blocking checks that failed.
|
|
56
|
+
total_checks:
|
|
57
|
+
type: integer
|
|
58
|
+
minimum: 0
|
|
59
|
+
description: Total number of checks that were evaluated.
|
|
60
|
+
model_results:
|
|
61
|
+
type: array
|
|
62
|
+
description: Individual model assessments when multi-model review is enabled.
|
|
63
|
+
items:
|
|
64
|
+
type: object
|
|
65
|
+
required:
|
|
66
|
+
- model
|
|
67
|
+
- result
|
|
68
|
+
- timestamp
|
|
69
|
+
properties:
|
|
70
|
+
model:
|
|
71
|
+
type: string
|
|
72
|
+
description: Model identifier used for this assessment.
|
|
73
|
+
result:
|
|
74
|
+
type: string
|
|
75
|
+
enum:
|
|
76
|
+
- pass
|
|
77
|
+
- fail
|
|
78
|
+
description: This model's gate result.
|
|
79
|
+
checks:
|
|
80
|
+
type: array
|
|
81
|
+
description: Check results from this model's assessment.
|
|
82
|
+
items:
|
|
83
|
+
type: object
|
|
84
|
+
properties:
|
|
85
|
+
id:
|
|
86
|
+
type: string
|
|
87
|
+
status:
|
|
88
|
+
type: string
|
|
89
|
+
enum:
|
|
90
|
+
- pass
|
|
91
|
+
- fail
|
|
92
|
+
output:
|
|
93
|
+
type: string
|
|
94
|
+
timestamp:
|
|
95
|
+
type: string
|
|
96
|
+
format: date-time
|
|
97
|
+
description: When this model's assessment was performed.
|
|
98
|
+
consensus:
|
|
99
|
+
type: boolean
|
|
100
|
+
description: Whether all models agreed on the result. Only present when multi-model review is enabled.
|
|
101
|
+
additionalProperties: false
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
$schema: "https://json-schema.org/draft/2020-12/schema"
|
|
2
|
+
$id: "https://sniper.ai/schemas/knowledge-manifest"
|
|
3
|
+
title: Knowledge Manifest
|
|
4
|
+
description: Schema for SNIPER knowledge manifest files that declare domain knowledge sources available to agents.
|
|
5
|
+
type: object
|
|
6
|
+
required:
|
|
7
|
+
- sources
|
|
8
|
+
properties:
|
|
9
|
+
sources:
|
|
10
|
+
type: array
|
|
11
|
+
description: List of domain knowledge sources available for agent injection.
|
|
12
|
+
minItems: 1
|
|
13
|
+
items:
|
|
14
|
+
type: object
|
|
15
|
+
required:
|
|
16
|
+
- topic
|
|
17
|
+
- file
|
|
18
|
+
- tokens
|
|
19
|
+
properties:
|
|
20
|
+
topic:
|
|
21
|
+
type: string
|
|
22
|
+
description: Short identifier for the knowledge domain (e.g. telephony, compliance, crm).
|
|
23
|
+
file:
|
|
24
|
+
type: string
|
|
25
|
+
description: Path to the knowledge file, relative to .sniper/knowledge/.
|
|
26
|
+
tokens:
|
|
27
|
+
type: integer
|
|
28
|
+
minimum: 1
|
|
29
|
+
description: Estimated token count of the knowledge file, used for budget planning.
|
|
30
|
+
tags:
|
|
31
|
+
type: array
|
|
32
|
+
description: Searchable tags for matching knowledge to agent context.
|
|
33
|
+
items:
|
|
34
|
+
type: string
|
|
35
|
+
description:
|
|
36
|
+
type: string
|
|
37
|
+
description: Human-readable summary of what this knowledge source covers.
|
|
38
|
+
additionalProperties: false
|
|
39
|
+
additionalProperties: false
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
$schema: "https://json-schema.org/draft/2020-12/schema"
|
|
2
|
+
$id: "https://sniper.ai/schemas/live-status"
|
|
3
|
+
title: Live Status
|
|
4
|
+
description: Schema for SNIPER real-time progress tracking across the project lifecycle.
|
|
5
|
+
type: object
|
|
6
|
+
required:
|
|
7
|
+
- protocol
|
|
8
|
+
- status
|
|
9
|
+
properties:
|
|
10
|
+
protocol:
|
|
11
|
+
type: string
|
|
12
|
+
description: The SNIPER protocol version identifier.
|
|
13
|
+
status:
|
|
14
|
+
type: string
|
|
15
|
+
enum:
|
|
16
|
+
- idle
|
|
17
|
+
- running
|
|
18
|
+
- paused
|
|
19
|
+
- completed
|
|
20
|
+
- failed
|
|
21
|
+
description: Overall lifecycle execution status.
|
|
22
|
+
current_phase:
|
|
23
|
+
type: string
|
|
24
|
+
description: The phase currently being executed.
|
|
25
|
+
started_at:
|
|
26
|
+
type: string
|
|
27
|
+
format: date-time
|
|
28
|
+
description: ISO 8601 timestamp of when the lifecycle run started.
|
|
29
|
+
updated_at:
|
|
30
|
+
type: string
|
|
31
|
+
format: date-time
|
|
32
|
+
description: ISO 8601 timestamp of the most recent status update.
|
|
33
|
+
phases:
|
|
34
|
+
type: array
|
|
35
|
+
description: Per-phase status and progress.
|
|
36
|
+
items:
|
|
37
|
+
type: object
|
|
38
|
+
required:
|
|
39
|
+
- name
|
|
40
|
+
- status
|
|
41
|
+
- progress
|
|
42
|
+
properties:
|
|
43
|
+
name:
|
|
44
|
+
type: string
|
|
45
|
+
description: Phase name.
|
|
46
|
+
status:
|
|
47
|
+
type: string
|
|
48
|
+
enum:
|
|
49
|
+
- pending
|
|
50
|
+
- running
|
|
51
|
+
- paused
|
|
52
|
+
- completed
|
|
53
|
+
- failed
|
|
54
|
+
description: Current status of this phase.
|
|
55
|
+
agents:
|
|
56
|
+
type: array
|
|
57
|
+
description: Agents active in this phase.
|
|
58
|
+
items:
|
|
59
|
+
type: object
|
|
60
|
+
required:
|
|
61
|
+
- name
|
|
62
|
+
- status
|
|
63
|
+
properties:
|
|
64
|
+
name:
|
|
65
|
+
type: string
|
|
66
|
+
description: Agent persona name.
|
|
67
|
+
status:
|
|
68
|
+
type: string
|
|
69
|
+
enum:
|
|
70
|
+
- active
|
|
71
|
+
- completed
|
|
72
|
+
- failed
|
|
73
|
+
description: Current status of the agent.
|
|
74
|
+
progress:
|
|
75
|
+
type: number
|
|
76
|
+
minimum: 0
|
|
77
|
+
maximum: 100
|
|
78
|
+
description: Phase completion percentage.
|
|
79
|
+
gate_results:
|
|
80
|
+
type: array
|
|
81
|
+
description: Results from completed gate reviews.
|
|
82
|
+
items:
|
|
83
|
+
type: object
|
|
84
|
+
required:
|
|
85
|
+
- phase
|
|
86
|
+
- result
|
|
87
|
+
- timestamp
|
|
88
|
+
properties:
|
|
89
|
+
phase:
|
|
90
|
+
type: string
|
|
91
|
+
description: Phase that was reviewed.
|
|
92
|
+
result:
|
|
93
|
+
type: string
|
|
94
|
+
enum:
|
|
95
|
+
- pass
|
|
96
|
+
- fail
|
|
97
|
+
description: Gate review outcome.
|
|
98
|
+
timestamp:
|
|
99
|
+
type: string
|
|
100
|
+
format: date-time
|
|
101
|
+
description: ISO 8601 timestamp of when the gate review completed.
|
|
102
|
+
cost:
|
|
103
|
+
type: object
|
|
104
|
+
description: Current cost snapshot.
|
|
105
|
+
properties:
|
|
106
|
+
tokens_used:
|
|
107
|
+
type: integer
|
|
108
|
+
minimum: 0
|
|
109
|
+
description: Total tokens consumed so far.
|
|
110
|
+
budget:
|
|
111
|
+
type: number
|
|
112
|
+
minimum: 0
|
|
113
|
+
description: Total token budget.
|
|
114
|
+
percent:
|
|
115
|
+
type: number
|
|
116
|
+
minimum: 0
|
|
117
|
+
maximum: 100
|
|
118
|
+
description: Percentage of budget consumed.
|
|
119
|
+
next_action:
|
|
120
|
+
type: string
|
|
121
|
+
description: Description of the next expected action or step.
|
|
122
|
+
additionalProperties: false
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
$schema: "https://json-schema.org/draft/2020-12/schema"
|
|
2
|
+
$id: "https://sniper.ai/schemas/protocol"
|
|
3
|
+
title: SNIPER Protocol
|
|
4
|
+
description: Schema for SNIPER protocol definition files that define lifecycle phase sequences.
|
|
5
|
+
type: object
|
|
6
|
+
required:
|
|
7
|
+
- name
|
|
8
|
+
- description
|
|
9
|
+
- budget
|
|
10
|
+
- phases
|
|
11
|
+
properties:
|
|
12
|
+
name:
|
|
13
|
+
type: string
|
|
14
|
+
description: Unique protocol identifier (e.g. full, feature, patch, hotfix).
|
|
15
|
+
description:
|
|
16
|
+
type: string
|
|
17
|
+
description: Human-readable description of the protocol's purpose.
|
|
18
|
+
budget:
|
|
19
|
+
type: integer
|
|
20
|
+
minimum: 1
|
|
21
|
+
description: Maximum token budget for the entire protocol execution.
|
|
22
|
+
phases:
|
|
23
|
+
type: array
|
|
24
|
+
minItems: 1
|
|
25
|
+
description: Ordered list of phases that compose this protocol.
|
|
26
|
+
items:
|
|
27
|
+
type: object
|
|
28
|
+
required:
|
|
29
|
+
- name
|
|
30
|
+
- description
|
|
31
|
+
- agents
|
|
32
|
+
- spawn_strategy
|
|
33
|
+
properties:
|
|
34
|
+
name:
|
|
35
|
+
type: string
|
|
36
|
+
description: Phase identifier (e.g. discover, plan, implement, review).
|
|
37
|
+
description:
|
|
38
|
+
type: string
|
|
39
|
+
description: Human-readable description of what this phase accomplishes.
|
|
40
|
+
agents:
|
|
41
|
+
type: array
|
|
42
|
+
minItems: 1
|
|
43
|
+
items:
|
|
44
|
+
type: string
|
|
45
|
+
description: Agent personas assigned to this phase.
|
|
46
|
+
spawn_strategy:
|
|
47
|
+
type: string
|
|
48
|
+
enum:
|
|
49
|
+
- single
|
|
50
|
+
- team
|
|
51
|
+
description: Whether to spawn a single agent or a coordinated team.
|
|
52
|
+
gate:
|
|
53
|
+
type: object
|
|
54
|
+
properties:
|
|
55
|
+
checklist:
|
|
56
|
+
type: string
|
|
57
|
+
description: Name of the checklist to evaluate at the gate.
|
|
58
|
+
human_approval:
|
|
59
|
+
type: boolean
|
|
60
|
+
description: Whether a human must approve the gate before proceeding.
|
|
61
|
+
multi_model_checklist:
|
|
62
|
+
type: string
|
|
63
|
+
description: Checklist to use for multi-model review (optional).
|
|
64
|
+
required:
|
|
65
|
+
- checklist
|
|
66
|
+
- human_approval
|
|
67
|
+
additionalProperties: false
|
|
68
|
+
description: Quality gate configuration for this phase.
|
|
69
|
+
outputs:
|
|
70
|
+
type: array
|
|
71
|
+
items:
|
|
72
|
+
type: string
|
|
73
|
+
description: Expected artifacts produced by this phase.
|
|
74
|
+
plan_approval:
|
|
75
|
+
type: boolean
|
|
76
|
+
description: Whether agents must get their plan approved before executing.
|
|
77
|
+
coordination:
|
|
78
|
+
type: array
|
|
79
|
+
description: Inter-agent coordination constraints for team phases.
|
|
80
|
+
items:
|
|
81
|
+
type: object
|
|
82
|
+
required:
|
|
83
|
+
- between
|
|
84
|
+
- topic
|
|
85
|
+
properties:
|
|
86
|
+
between:
|
|
87
|
+
type: array
|
|
88
|
+
minItems: 2
|
|
89
|
+
items:
|
|
90
|
+
type: string
|
|
91
|
+
description: Agent personas that must coordinate.
|
|
92
|
+
topic:
|
|
93
|
+
type: string
|
|
94
|
+
description: Description of the coordination requirement.
|
|
95
|
+
additionalProperties: false
|
|
96
|
+
additionalProperties: false
|
|
97
|
+
auto_retro:
|
|
98
|
+
type: boolean
|
|
99
|
+
description: Whether to trigger the retro-analyst after protocol completion.
|
|
100
|
+
additionalProperties: false
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
$schema: "https://json-schema.org/draft/2020-12/schema"
|
|
2
|
+
$id: "https://sniper.ai/schemas/retro"
|
|
3
|
+
title: Retrospective Report
|
|
4
|
+
description: Schema for SNIPER retrospective reports generated after a lifecycle run completes.
|
|
5
|
+
type: object
|
|
6
|
+
required:
|
|
7
|
+
- protocol
|
|
8
|
+
- completed_at
|
|
9
|
+
properties:
|
|
10
|
+
protocol:
|
|
11
|
+
type: string
|
|
12
|
+
description: The SNIPER protocol version identifier.
|
|
13
|
+
completed_at:
|
|
14
|
+
type: string
|
|
15
|
+
format: date-time
|
|
16
|
+
description: ISO 8601 timestamp of when the lifecycle run completed.
|
|
17
|
+
duration_phases:
|
|
18
|
+
type: array
|
|
19
|
+
description: Per-phase duration and execution summary.
|
|
20
|
+
items:
|
|
21
|
+
type: object
|
|
22
|
+
required:
|
|
23
|
+
- phase
|
|
24
|
+
- agents
|
|
25
|
+
- gate_attempts
|
|
26
|
+
- gate_result
|
|
27
|
+
properties:
|
|
28
|
+
phase:
|
|
29
|
+
type: string
|
|
30
|
+
description: Phase name.
|
|
31
|
+
agents:
|
|
32
|
+
type: integer
|
|
33
|
+
minimum: 0
|
|
34
|
+
description: Number of agents that participated in this phase.
|
|
35
|
+
gate_attempts:
|
|
36
|
+
type: integer
|
|
37
|
+
minimum: 0
|
|
38
|
+
description: Number of times the gate review was attempted.
|
|
39
|
+
gate_result:
|
|
40
|
+
type: string
|
|
41
|
+
enum:
|
|
42
|
+
- pass
|
|
43
|
+
- fail
|
|
44
|
+
description: Final gate review outcome for this phase.
|
|
45
|
+
metrics:
|
|
46
|
+
type: object
|
|
47
|
+
description: Aggregate metrics for the entire lifecycle run.
|
|
48
|
+
properties:
|
|
49
|
+
total_tokens:
|
|
50
|
+
type: integer
|
|
51
|
+
minimum: 0
|
|
52
|
+
description: Total tokens consumed across all phases.
|
|
53
|
+
total_agents_spawned:
|
|
54
|
+
type: integer
|
|
55
|
+
minimum: 0
|
|
56
|
+
description: Total number of agents spawned across all phases.
|
|
57
|
+
gate_pass_rate:
|
|
58
|
+
type: number
|
|
59
|
+
minimum: 0
|
|
60
|
+
maximum: 1
|
|
61
|
+
description: Fraction of gate reviews that passed on the first attempt.
|
|
62
|
+
findings:
|
|
63
|
+
type: object
|
|
64
|
+
description: Retrospective findings and action items.
|
|
65
|
+
properties:
|
|
66
|
+
went_well:
|
|
67
|
+
type: array
|
|
68
|
+
description: Things that went well during the lifecycle run.
|
|
69
|
+
items:
|
|
70
|
+
type: string
|
|
71
|
+
needs_improvement:
|
|
72
|
+
type: array
|
|
73
|
+
description: Areas that need improvement.
|
|
74
|
+
items:
|
|
75
|
+
type: string
|
|
76
|
+
action_items:
|
|
77
|
+
type: array
|
|
78
|
+
description: Concrete action items for future runs.
|
|
79
|
+
items:
|
|
80
|
+
type: string
|
|
81
|
+
velocity:
|
|
82
|
+
type: object
|
|
83
|
+
description: Velocity metrics for this execution, used for budget calibration.
|
|
84
|
+
properties:
|
|
85
|
+
wall_clock_seconds:
|
|
86
|
+
type: number
|
|
87
|
+
minimum: 0
|
|
88
|
+
description: Total wall clock time for the protocol execution in seconds.
|
|
89
|
+
tokens_per_phase:
|
|
90
|
+
type: object
|
|
91
|
+
description: Token usage broken down by phase name.
|
|
92
|
+
additionalProperties:
|
|
93
|
+
type: integer
|
|
94
|
+
minimum: 0
|
|
95
|
+
additionalProperties: false
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
$schema: "https://json-schema.org/draft/2020-12/schema"
|
|
2
|
+
$id: "https://sniper.ai/schemas/revert-plan"
|
|
3
|
+
title: Revert Plan
|
|
4
|
+
description: Schema for SNIPER logical revert plans that track which commits to revert.
|
|
5
|
+
type: object
|
|
6
|
+
required:
|
|
7
|
+
- protocol
|
|
8
|
+
- commits_to_revert
|
|
9
|
+
- backup_branch
|
|
10
|
+
- target_state
|
|
11
|
+
properties:
|
|
12
|
+
protocol:
|
|
13
|
+
type: string
|
|
14
|
+
description: Protocol ID being reverted.
|
|
15
|
+
phase:
|
|
16
|
+
type: string
|
|
17
|
+
description: Optional specific phase being reverted.
|
|
18
|
+
commits_to_revert:
|
|
19
|
+
type: array
|
|
20
|
+
items:
|
|
21
|
+
type: object
|
|
22
|
+
required: [sha, message, agent]
|
|
23
|
+
properties:
|
|
24
|
+
sha: { type: string }
|
|
25
|
+
message: { type: string }
|
|
26
|
+
agent: { type: string }
|
|
27
|
+
description: Commits to revert in reverse chronological order.
|
|
28
|
+
backup_branch:
|
|
29
|
+
type: string
|
|
30
|
+
description: Branch name for backup before revert.
|
|
31
|
+
target_state:
|
|
32
|
+
type: string
|
|
33
|
+
description: Description of the target state after revert.
|
|
34
|
+
created_at:
|
|
35
|
+
type: string
|
|
36
|
+
format: date-time
|
|
37
|
+
dry_run:
|
|
38
|
+
type: boolean
|
|
39
|
+
description: Whether this was a dry run only.
|
|
40
|
+
additionalProperties: false
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
$schema: "https://json-schema.org/draft/2020-12/schema"
|
|
2
|
+
$id: "https://sniper.ai/schemas/signal"
|
|
3
|
+
title: External Signal Record
|
|
4
|
+
description: Schema for SNIPER signal records that capture learnings from CI failures, PR reviews, and production errors.
|
|
5
|
+
type: object
|
|
6
|
+
required:
|
|
7
|
+
- type
|
|
8
|
+
- source
|
|
9
|
+
- timestamp
|
|
10
|
+
- summary
|
|
11
|
+
properties:
|
|
12
|
+
type:
|
|
13
|
+
type: string
|
|
14
|
+
enum: [ci_failure, pr_review_comment, production_error, manual]
|
|
15
|
+
description: Signal type classification.
|
|
16
|
+
source:
|
|
17
|
+
type: string
|
|
18
|
+
description: Where the signal came from (e.g., "github-actions", "pr-42", "datadog").
|
|
19
|
+
timestamp:
|
|
20
|
+
type: string
|
|
21
|
+
format: date-time
|
|
22
|
+
summary:
|
|
23
|
+
type: string
|
|
24
|
+
description: One-line summary of the signal.
|
|
25
|
+
details:
|
|
26
|
+
type: string
|
|
27
|
+
description: Full details (error message, review comment text, etc.).
|
|
28
|
+
learning:
|
|
29
|
+
type: string
|
|
30
|
+
description: Extracted learning or pattern to apply in future.
|
|
31
|
+
relevance_tags:
|
|
32
|
+
type: array
|
|
33
|
+
items: { type: string }
|
|
34
|
+
description: Tags for matching against agent context.
|
|
35
|
+
affected_files:
|
|
36
|
+
type: array
|
|
37
|
+
items: { type: string }
|
|
38
|
+
description: File paths affected by this signal.
|
|
39
|
+
additionalProperties: false
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
$schema: "https://json-schema.org/draft/2020-12/schema"
|
|
2
|
+
$id: "https://sniper.ai/schemas/velocity"
|
|
3
|
+
title: Velocity
|
|
4
|
+
description: Protocol execution history and calibrated budgets for adaptive budget selection.
|
|
5
|
+
type: object
|
|
6
|
+
required:
|
|
7
|
+
- executions
|
|
8
|
+
properties:
|
|
9
|
+
executions:
|
|
10
|
+
type: array
|
|
11
|
+
description: History of protocol executions with timing and token data.
|
|
12
|
+
items:
|
|
13
|
+
type: object
|
|
14
|
+
required:
|
|
15
|
+
- protocol
|
|
16
|
+
- completed_at
|
|
17
|
+
- tokens_used
|
|
18
|
+
properties:
|
|
19
|
+
protocol:
|
|
20
|
+
type: string
|
|
21
|
+
description: Protocol name that was executed.
|
|
22
|
+
completed_at:
|
|
23
|
+
type: string
|
|
24
|
+
format: date-time
|
|
25
|
+
description: ISO 8601 timestamp of when the execution completed.
|
|
26
|
+
wall_clock_seconds:
|
|
27
|
+
type: number
|
|
28
|
+
minimum: 0
|
|
29
|
+
description: Wall clock duration of the execution in seconds.
|
|
30
|
+
tokens_used:
|
|
31
|
+
type: integer
|
|
32
|
+
minimum: 0
|
|
33
|
+
description: Total tokens consumed during the execution.
|
|
34
|
+
tokens_per_phase:
|
|
35
|
+
type: object
|
|
36
|
+
description: Token usage broken down by phase name.
|
|
37
|
+
additionalProperties:
|
|
38
|
+
type: integer
|
|
39
|
+
minimum: 0
|
|
40
|
+
calibrated_budgets:
|
|
41
|
+
type: object
|
|
42
|
+
description: p75 of token usage from last 5+ executions, keyed by protocol name.
|
|
43
|
+
additionalProperties:
|
|
44
|
+
type: integer
|
|
45
|
+
minimum: 0
|
|
46
|
+
rolling_averages:
|
|
47
|
+
type: object
|
|
48
|
+
description: Exponential moving average of token usage, keyed by protocol name.
|
|
49
|
+
additionalProperties:
|
|
50
|
+
type: number
|
|
51
|
+
minimum: 0
|
|
52
|
+
additionalProperties: false
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
$schema: "https://json-schema.org/draft/2020-12/schema"
|
|
2
|
+
$id: "https://sniper.ai/schemas/workspace-lock"
|
|
3
|
+
title: Workspace File Lock
|
|
4
|
+
description: Schema for advisory file locks in SNIPER workspace coordination.
|
|
5
|
+
type: object
|
|
6
|
+
required:
|
|
7
|
+
- file
|
|
8
|
+
- locked_by
|
|
9
|
+
- since
|
|
10
|
+
properties:
|
|
11
|
+
file:
|
|
12
|
+
type: string
|
|
13
|
+
description: Relative file path being locked.
|
|
14
|
+
locked_by:
|
|
15
|
+
type: object
|
|
16
|
+
required: [project, agent, protocol]
|
|
17
|
+
properties:
|
|
18
|
+
project:
|
|
19
|
+
type: string
|
|
20
|
+
description: Project name that holds the lock.
|
|
21
|
+
agent:
|
|
22
|
+
type: string
|
|
23
|
+
description: Agent that acquired the lock.
|
|
24
|
+
protocol:
|
|
25
|
+
type: string
|
|
26
|
+
description: Protocol execution that holds the lock.
|
|
27
|
+
since:
|
|
28
|
+
type: string
|
|
29
|
+
format: date-time
|
|
30
|
+
description: When the lock was acquired.
|
|
31
|
+
reason:
|
|
32
|
+
type: string
|
|
33
|
+
description: Why the lock was acquired.
|
|
34
|
+
additionalProperties: false
|