@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.
Files changed (210) hide show
  1. package/README.md +87 -98
  2. package/agents/analyst.md +29 -0
  3. package/agents/architect.md +38 -0
  4. package/agents/backend-dev.md +43 -0
  5. package/agents/code-reviewer.md +72 -0
  6. package/agents/doc-writer.md +60 -0
  7. package/agents/frontend-dev.md +43 -0
  8. package/agents/fullstack-dev.md +44 -0
  9. package/agents/gate-reviewer.md +72 -0
  10. package/agents/lead-orchestrator.md +51 -0
  11. package/agents/product-manager.md +40 -0
  12. package/agents/qa-engineer.md +37 -0
  13. package/agents/retro-analyst.md +104 -0
  14. package/checklists/discover.yaml +23 -0
  15. package/checklists/implement.yaml +28 -0
  16. package/checklists/ingest-document.yaml +18 -0
  17. package/checklists/ingest-extract.yaml +13 -0
  18. package/checklists/ingest-scan.yaml +18 -0
  19. package/checklists/multi-faceted-review.yaml +57 -0
  20. package/checklists/plan.yaml +36 -0
  21. package/checklists/refactor-analyze.yaml +19 -0
  22. package/checklists/review.yaml +29 -0
  23. package/claude-md.template +42 -0
  24. package/config.template.yaml +156 -0
  25. package/hooks/settings-hooks.json +40 -0
  26. package/hooks/signal-hooks.json +16 -0
  27. package/package.json +23 -5
  28. package/personas/cognitive/devils-advocate.md +24 -0
  29. package/personas/cognitive/performance-focused.md +23 -0
  30. package/personas/cognitive/security-first.md +24 -0
  31. package/protocols/explore.yaml +21 -0
  32. package/protocols/feature.yaml +47 -0
  33. package/protocols/full.yaml +65 -0
  34. package/protocols/hotfix.yaml +19 -0
  35. package/protocols/ingest.yaml +42 -0
  36. package/protocols/patch.yaml +30 -0
  37. package/protocols/refactor.yaml +43 -0
  38. package/schemas/checkpoint.schema.yaml +133 -0
  39. package/schemas/cost.schema.yaml +97 -0
  40. package/schemas/dependency-graph.schema.yaml +37 -0
  41. package/schemas/gate-result.schema.yaml +101 -0
  42. package/schemas/knowledge-manifest.schema.yaml +39 -0
  43. package/schemas/live-status.schema.yaml +122 -0
  44. package/schemas/protocol-meta.schema.yaml +58 -0
  45. package/schemas/protocol.schema.yaml +100 -0
  46. package/schemas/retro.schema.yaml +95 -0
  47. package/schemas/revert-plan.schema.yaml +40 -0
  48. package/schemas/signal.schema.yaml +39 -0
  49. package/schemas/velocity.schema.yaml +52 -0
  50. package/schemas/workspace-lock.schema.yaml +34 -0
  51. package/schemas/workspace.schema.yaml +82 -0
  52. package/skills/sniper-flow/SKILL.md +196 -0
  53. package/skills/sniper-init/SKILL.md +102 -0
  54. package/skills/sniper-review/SKILL.md +49 -0
  55. package/skills/sniper-status/SKILL.md +79 -0
  56. package/templates/architecture.md +23 -0
  57. package/templates/checkpoint.yaml +27 -0
  58. package/templates/codebase-overview.md +19 -0
  59. package/templates/cost.yaml +23 -0
  60. package/templates/custom-protocol.yaml +98 -0
  61. package/templates/knowledge-manifest.yaml +32 -0
  62. package/templates/live-status.yaml +26 -0
  63. package/templates/multi-faceted-review-report.md +28 -0
  64. package/templates/registry.md +4 -0
  65. package/templates/review-report.md +25 -0
  66. package/templates/signal-record.yaml +37 -0
  67. package/templates/spec.md +28 -0
  68. package/templates/story.md +19 -0
  69. package/templates/velocity.yaml +9 -0
  70. package/templates/workspace-config.yaml +44 -0
  71. package/framework/checklists/code-review.md +0 -33
  72. package/framework/checklists/debug-review.md +0 -34
  73. package/framework/checklists/discover-review.md +0 -33
  74. package/framework/checklists/doc-review.md +0 -39
  75. package/framework/checklists/feature-review.md +0 -42
  76. package/framework/checklists/ingest-review.md +0 -42
  77. package/framework/checklists/memory-review.md +0 -30
  78. package/framework/checklists/perf-review.md +0 -33
  79. package/framework/checklists/plan-review.md +0 -52
  80. package/framework/checklists/refactor-review.md +0 -33
  81. package/framework/checklists/security-review.md +0 -34
  82. package/framework/checklists/sprint-review.md +0 -41
  83. package/framework/checklists/story-review.md +0 -30
  84. package/framework/checklists/test-review.md +0 -32
  85. package/framework/checklists/workspace-review.md +0 -34
  86. package/framework/claude-md.template +0 -37
  87. package/framework/commands/sniper-audit.md +0 -1549
  88. package/framework/commands/sniper-compose.md +0 -323
  89. package/framework/commands/sniper-debug.md +0 -337
  90. package/framework/commands/sniper-discover.md +0 -423
  91. package/framework/commands/sniper-doc.md +0 -441
  92. package/framework/commands/sniper-feature.md +0 -515
  93. package/framework/commands/sniper-ingest.md +0 -506
  94. package/framework/commands/sniper-init.md +0 -388
  95. package/framework/commands/sniper-memory.md +0 -219
  96. package/framework/commands/sniper-plan.md +0 -630
  97. package/framework/commands/sniper-review.md +0 -369
  98. package/framework/commands/sniper-solve.md +0 -408
  99. package/framework/commands/sniper-sprint.md +0 -716
  100. package/framework/commands/sniper-status.md +0 -481
  101. package/framework/commands/sniper-workspace-feature.md +0 -267
  102. package/framework/commands/sniper-workspace-init.md +0 -252
  103. package/framework/commands/sniper-workspace-status.md +0 -112
  104. package/framework/commands/sniper-workspace-validate.md +0 -138
  105. package/framework/config.template.yaml +0 -196
  106. package/framework/personas/cognitive/devils-advocate.md +0 -30
  107. package/framework/personas/cognitive/mentor-explainer.md +0 -29
  108. package/framework/personas/cognitive/performance-focused.md +0 -30
  109. package/framework/personas/cognitive/security-first.md +0 -29
  110. package/framework/personas/cognitive/systems-thinker.md +0 -29
  111. package/framework/personas/cognitive/user-empathetic.md +0 -29
  112. package/framework/personas/domain/.gitkeep +0 -0
  113. package/framework/personas/process/analyst.md +0 -29
  114. package/framework/personas/process/architect.md +0 -30
  115. package/framework/personas/process/architecture-cartographer.md +0 -25
  116. package/framework/personas/process/code-archaeologist.md +0 -22
  117. package/framework/personas/process/code-investigator.md +0 -29
  118. package/framework/personas/process/code-reviewer.md +0 -26
  119. package/framework/personas/process/contract-designer.md +0 -31
  120. package/framework/personas/process/convention-miner.md +0 -27
  121. package/framework/personas/process/coverage-analyst.md +0 -24
  122. package/framework/personas/process/developer.md +0 -32
  123. package/framework/personas/process/doc-analyst.md +0 -63
  124. package/framework/personas/process/doc-reviewer.md +0 -62
  125. package/framework/personas/process/doc-writer.md +0 -42
  126. package/framework/personas/process/flake-hunter.md +0 -30
  127. package/framework/personas/process/impact-analyst.md +0 -23
  128. package/framework/personas/process/integration-validator.md +0 -29
  129. package/framework/personas/process/log-analyst.md +0 -22
  130. package/framework/personas/process/migration-architect.md +0 -24
  131. package/framework/personas/process/perf-profiler.md +0 -27
  132. package/framework/personas/process/product-manager.md +0 -32
  133. package/framework/personas/process/qa-engineer.md +0 -31
  134. package/framework/personas/process/release-manager.md +0 -23
  135. package/framework/personas/process/retro-analyst.md +0 -30
  136. package/framework/personas/process/scrum-master.md +0 -31
  137. package/framework/personas/process/threat-modeler.md +0 -30
  138. package/framework/personas/process/triage-lead.md +0 -23
  139. package/framework/personas/process/ux-designer.md +0 -31
  140. package/framework/personas/process/vuln-scanner.md +0 -27
  141. package/framework/personas/process/workspace-orchestrator.md +0 -30
  142. package/framework/personas/technical/ai-ml.md +0 -33
  143. package/framework/personas/technical/api-design.md +0 -32
  144. package/framework/personas/technical/backend.md +0 -32
  145. package/framework/personas/technical/database.md +0 -32
  146. package/framework/personas/technical/frontend.md +0 -33
  147. package/framework/personas/technical/infrastructure.md +0 -32
  148. package/framework/personas/technical/security.md +0 -34
  149. package/framework/settings.template.json +0 -6
  150. package/framework/spawn-prompts/_template.md +0 -25
  151. package/framework/teams/debug.yaml +0 -56
  152. package/framework/teams/discover.yaml +0 -57
  153. package/framework/teams/doc.yaml +0 -76
  154. package/framework/teams/feature-plan.yaml +0 -61
  155. package/framework/teams/ingest.yaml +0 -85
  156. package/framework/teams/perf.yaml +0 -33
  157. package/framework/teams/plan.yaml +0 -86
  158. package/framework/teams/refactor.yaml +0 -34
  159. package/framework/teams/retro.yaml +0 -30
  160. package/framework/teams/review-pr.yaml +0 -73
  161. package/framework/teams/review-release.yaml +0 -70
  162. package/framework/teams/security.yaml +0 -59
  163. package/framework/teams/solve.yaml +0 -48
  164. package/framework/teams/sprint.yaml +0 -68
  165. package/framework/teams/test.yaml +0 -59
  166. package/framework/teams/workspace-feature.yaml +0 -69
  167. package/framework/teams/workspace-validation.yaml +0 -27
  168. package/framework/templates/arch-delta.md +0 -74
  169. package/framework/templates/architecture.md +0 -95
  170. package/framework/templates/brief.md +0 -73
  171. package/framework/templates/bug-report.md +0 -55
  172. package/framework/templates/contract-validation-report.md +0 -68
  173. package/framework/templates/contract.yaml +0 -60
  174. package/framework/templates/conventions.md +0 -59
  175. package/framework/templates/coverage-report.md +0 -67
  176. package/framework/templates/doc-api.md +0 -53
  177. package/framework/templates/doc-guide.md +0 -35
  178. package/framework/templates/doc-readme.md +0 -49
  179. package/framework/templates/epic.md +0 -47
  180. package/framework/templates/feature-brief.md +0 -54
  181. package/framework/templates/feature-spec.md +0 -53
  182. package/framework/templates/flaky-report.md +0 -64
  183. package/framework/templates/investigation.md +0 -49
  184. package/framework/templates/memory-anti-pattern.yaml +0 -16
  185. package/framework/templates/memory-convention.yaml +0 -17
  186. package/framework/templates/memory-decision.yaml +0 -16
  187. package/framework/templates/migration-plan.md +0 -47
  188. package/framework/templates/optimization-plan.md +0 -59
  189. package/framework/templates/performance-profile.md +0 -64
  190. package/framework/templates/personas.md +0 -118
  191. package/framework/templates/postmortem.md +0 -69
  192. package/framework/templates/pr-review.md +0 -50
  193. package/framework/templates/prd.md +0 -92
  194. package/framework/templates/refactor-scope.md +0 -52
  195. package/framework/templates/release-readiness.md +0 -66
  196. package/framework/templates/retro.yaml +0 -44
  197. package/framework/templates/risks.md +0 -64
  198. package/framework/templates/security.md +0 -111
  199. package/framework/templates/sprint-review.md +0 -32
  200. package/framework/templates/story.md +0 -53
  201. package/framework/templates/threat-model.md +0 -71
  202. package/framework/templates/ux-spec.md +0 -71
  203. package/framework/templates/vulnerability-report.md +0 -56
  204. package/framework/templates/workspace-brief.md +0 -52
  205. package/framework/templates/workspace-plan.md +0 -50
  206. package/framework/workflows/discover-only.md +0 -39
  207. package/framework/workflows/full-lifecycle.md +0 -56
  208. package/framework/workflows/quick-feature.md +0 -44
  209. package/framework/workflows/sprint-cycle.md +0 -47
  210. package/framework/workflows/workspace-feature.md +0 -71
@@ -0,0 +1,133 @@
1
+ $schema: "https://json-schema.org/draft/2020-12/schema"
2
+ $id: "https://sniper.ai/schemas/checkpoint"
3
+ title: Phase Checkpoint
4
+ description: Schema for SNIPER phase checkpoint files that track progress through lifecycle phases.
5
+ type: object
6
+ required:
7
+ - protocol
8
+ - phase
9
+ - timestamp
10
+ - status
11
+ properties:
12
+ protocol:
13
+ type: string
14
+ description: The SNIPER protocol version identifier.
15
+ phase:
16
+ type: string
17
+ description: The lifecycle phase this checkpoint belongs to (e.g. discover, plan, implement, review).
18
+ timestamp:
19
+ type: string
20
+ format: date-time
21
+ description: ISO 8601 timestamp of when this checkpoint was recorded.
22
+ status:
23
+ type: string
24
+ enum:
25
+ - in_progress
26
+ - completed
27
+ - failed
28
+ description: Current status of the phase.
29
+ agents:
30
+ type: array
31
+ description: List of agents participating in this phase.
32
+ items:
33
+ type: object
34
+ required:
35
+ - name
36
+ - status
37
+ - tasks_completed
38
+ - tasks_total
39
+ properties:
40
+ name:
41
+ type: string
42
+ description: Agent persona name.
43
+ status:
44
+ type: string
45
+ enum:
46
+ - active
47
+ - completed
48
+ - failed
49
+ description: Current status of the agent.
50
+ tasks_completed:
51
+ type: integer
52
+ minimum: 0
53
+ description: Number of tasks the agent has completed.
54
+ tasks_total:
55
+ type: integer
56
+ minimum: 0
57
+ description: Total number of tasks assigned to the agent.
58
+ gate_result:
59
+ oneOf:
60
+ - type: "null"
61
+ - type: object
62
+ required:
63
+ - result
64
+ - blocking_failures
65
+ properties:
66
+ result:
67
+ type: string
68
+ enum:
69
+ - pass
70
+ - fail
71
+ description: Overall gate review result.
72
+ blocking_failures:
73
+ type: integer
74
+ minimum: 0
75
+ description: Number of blocking check failures.
76
+ description: Gate review result, or null if the gate has not been run yet.
77
+ artifacts_produced:
78
+ type: array
79
+ description: List of artifacts produced during this phase.
80
+ items:
81
+ type: object
82
+ required:
83
+ - path
84
+ - status
85
+ properties:
86
+ path:
87
+ type: string
88
+ description: File path of the produced artifact.
89
+ status:
90
+ type: string
91
+ enum:
92
+ - draft
93
+ - complete
94
+ description: Whether the artifact is a draft or complete.
95
+ token_usage:
96
+ type: object
97
+ description: Token consumption metrics for this phase.
98
+ properties:
99
+ phase_tokens:
100
+ type: integer
101
+ minimum: 0
102
+ description: Tokens consumed during this phase.
103
+ cumulative_tokens:
104
+ type: integer
105
+ minimum: 0
106
+ description: Total tokens consumed across all phases up to and including this one.
107
+ budget_remaining:
108
+ type: number
109
+ minimum: 0
110
+ description: Remaining token budget.
111
+ commits:
112
+ type: array
113
+ description: Git commits made during this phase, used for logical revert.
114
+ items:
115
+ type: object
116
+ required:
117
+ - sha
118
+ - message
119
+ - agent
120
+ properties:
121
+ sha:
122
+ type: string
123
+ description: Git commit SHA.
124
+ message:
125
+ type: string
126
+ description: Commit message.
127
+ agent:
128
+ type: string
129
+ description: Agent that produced this commit.
130
+ notes:
131
+ type: string
132
+ description: Free-form notes about the checkpoint.
133
+ additionalProperties: false
@@ -0,0 +1,97 @@
1
+ $schema: "https://json-schema.org/draft/2020-12/schema"
2
+ $id: "https://sniper.ai/schemas/cost"
3
+ title: Cost Tracking
4
+ description: Schema for SNIPER cost tracking that monitors token usage and budget across phases.
5
+ type: object
6
+ required:
7
+ - protocol
8
+ - started_at
9
+ - budget
10
+ properties:
11
+ protocol:
12
+ type: string
13
+ description: The SNIPER protocol version identifier.
14
+ started_at:
15
+ type: string
16
+ format: date-time
17
+ description: ISO 8601 timestamp of when cost tracking began.
18
+ budget:
19
+ type: number
20
+ minimum: 0
21
+ description: Total token budget allocated for the project.
22
+ phases:
23
+ type: array
24
+ description: Per-phase cost breakdown.
25
+ items:
26
+ type: object
27
+ required:
28
+ - name
29
+ properties:
30
+ name:
31
+ type: string
32
+ description: Phase name (e.g. discover, plan, implement, review).
33
+ started_at:
34
+ type: string
35
+ format: date-time
36
+ description: ISO 8601 timestamp of when this phase started.
37
+ completed_at:
38
+ type: string
39
+ format: date-time
40
+ description: ISO 8601 timestamp of when this phase completed.
41
+ tokens_used:
42
+ type: integer
43
+ minimum: 0
44
+ description: Total tokens consumed during this phase.
45
+ agents:
46
+ type: array
47
+ description: Per-agent cost breakdown within this phase.
48
+ items:
49
+ type: object
50
+ required:
51
+ - name
52
+ - tokens_used
53
+ properties:
54
+ name:
55
+ type: string
56
+ description: Agent persona name.
57
+ tokens_used:
58
+ type: integer
59
+ minimum: 0
60
+ description: Tokens consumed by this agent.
61
+ totals:
62
+ type: object
63
+ description: Aggregate cost totals.
64
+ properties:
65
+ tokens_used:
66
+ type: integer
67
+ minimum: 0
68
+ description: Total tokens consumed across all phases.
69
+ budget_remaining:
70
+ type: number
71
+ minimum: 0
72
+ description: Remaining token budget.
73
+ budget_percent_used:
74
+ type: number
75
+ minimum: 0
76
+ maximum: 100
77
+ description: Percentage of budget consumed.
78
+ enforcement:
79
+ type: object
80
+ description: Budget enforcement thresholds expressed as fractions of the total budget.
81
+ properties:
82
+ warn_threshold:
83
+ type: number
84
+ minimum: 0
85
+ maximum: 1
86
+ description: Fraction of budget at which a warning is issued.
87
+ soft_cap:
88
+ type: number
89
+ minimum: 0
90
+ maximum: 1
91
+ description: Fraction of budget at which soft enforcement begins (e.g. require confirmation).
92
+ hard_cap:
93
+ type: number
94
+ minimum: 0
95
+ maximum: 1
96
+ description: Fraction of budget at which execution is halted.
97
+ additionalProperties: false
@@ -0,0 +1,37 @@
1
+ $schema: "https://json-schema.org/draft/2020-12/schema"
2
+ $id: "https://sniper.ai/schemas/dependency-graph"
3
+ title: Cross-Project Dependency Graph
4
+ description: Schema for tracking API dependencies between projects in a SNIPER workspace.
5
+ type: object
6
+ required:
7
+ - projects
8
+ properties:
9
+ projects:
10
+ type: array
11
+ items:
12
+ type: object
13
+ required: [name, exports, imports]
14
+ properties:
15
+ name:
16
+ type: string
17
+ exports:
18
+ type: array
19
+ items:
20
+ type: object
21
+ required: [api, file]
22
+ properties:
23
+ api: { type: string, description: "API endpoint or export name" }
24
+ file: { type: string, description: "Source file path" }
25
+ version: { type: string }
26
+ imports:
27
+ type: array
28
+ items:
29
+ type: object
30
+ required: [api, from_project]
31
+ properties:
32
+ api: { type: string }
33
+ from_project: { type: string }
34
+ updated_at:
35
+ type: string
36
+ format: date-time
37
+ additionalProperties: false
@@ -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,58 @@
1
+ $schema: "https://json-schema.org/draft/2020-12/schema"
2
+ $id: "https://sniper.ai/schemas/protocol-meta"
3
+ title: ProtocolMeta
4
+ description: Metadata for a protocol run, stored at .sniper/artifacts/{protocol_id}/meta.yaml.
5
+ type: object
6
+ required:
7
+ - id
8
+ - protocol
9
+ - status
10
+ - started
11
+ properties:
12
+ id:
13
+ type: string
14
+ pattern: "^SNPR-\\d{8}-[a-f0-9]{4}$"
15
+ description: Timestamp-based protocol ID (e.g., SNPR-20260307-a3f2).
16
+ protocol:
17
+ type: string
18
+ description: Protocol name (full, feature, patch, etc.).
19
+ description:
20
+ type: string
21
+ description: Human-readable description of what this protocol run does.
22
+ status:
23
+ type: string
24
+ enum: [in_progress, completed, failed, cancelled]
25
+ description: Current status of the protocol run.
26
+ started:
27
+ type: string
28
+ format: date-time
29
+ description: ISO 8601 timestamp of when the protocol started.
30
+ completed:
31
+ type: string
32
+ format: date-time
33
+ description: ISO 8601 timestamp of when the protocol completed.
34
+ agents:
35
+ type: array
36
+ items:
37
+ type: string
38
+ description: List of agent names used in this run.
39
+ token_usage:
40
+ type: integer
41
+ minimum: 0
42
+ description: Total tokens consumed during this run.
43
+ gate_results:
44
+ type: object
45
+ additionalProperties:
46
+ type: string
47
+ enum: [pass, fail]
48
+ description: Gate results per phase.
49
+ stories_count:
50
+ type: integer
51
+ minimum: 0
52
+ description: Number of stories created.
53
+ commits:
54
+ type: array
55
+ items:
56
+ type: string
57
+ description: Git commit SHAs produced during this run.
58
+ additionalProperties: true
@@ -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