@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.
Files changed (208) hide show
  1. package/README.md +88 -98
  2. package/agents/analyst.md +30 -0
  3. package/agents/architect.md +36 -0
  4. package/agents/backend-dev.md +43 -0
  5. package/agents/code-reviewer.md +72 -0
  6. package/agents/frontend-dev.md +43 -0
  7. package/agents/fullstack-dev.md +44 -0
  8. package/agents/gate-reviewer.md +62 -0
  9. package/agents/lead-orchestrator.md +51 -0
  10. package/agents/product-manager.md +38 -0
  11. package/agents/qa-engineer.md +37 -0
  12. package/agents/retro-analyst.md +98 -0
  13. package/checklists/discover.yaml +23 -0
  14. package/checklists/implement.yaml +28 -0
  15. package/checklists/ingest-document.yaml +18 -0
  16. package/checklists/ingest-extract.yaml +13 -0
  17. package/checklists/ingest-scan.yaml +18 -0
  18. package/checklists/multi-faceted-review.yaml +56 -0
  19. package/checklists/plan.yaml +36 -0
  20. package/checklists/refactor-analyze.yaml +18 -0
  21. package/checklists/review.yaml +28 -0
  22. package/claude-md.template +42 -0
  23. package/config.template.yaml +156 -0
  24. package/hooks/settings-hooks.json +31 -0
  25. package/hooks/signal-hooks.json +11 -0
  26. package/package.json +23 -5
  27. package/personas/cognitive/devils-advocate.md +24 -0
  28. package/personas/cognitive/performance-focused.md +23 -0
  29. package/personas/cognitive/security-first.md +24 -0
  30. package/protocols/explore.yaml +18 -0
  31. package/protocols/feature.yaml +45 -0
  32. package/protocols/full.yaml +63 -0
  33. package/protocols/hotfix.yaml +19 -0
  34. package/protocols/ingest.yaml +39 -0
  35. package/protocols/patch.yaml +30 -0
  36. package/protocols/refactor.yaml +41 -0
  37. package/schemas/checkpoint.schema.yaml +133 -0
  38. package/schemas/cost.schema.yaml +97 -0
  39. package/schemas/dependency-graph.schema.yaml +37 -0
  40. package/schemas/gate-result.schema.yaml +101 -0
  41. package/schemas/knowledge-manifest.schema.yaml +39 -0
  42. package/schemas/live-status.schema.yaml +122 -0
  43. package/schemas/protocol.schema.yaml +100 -0
  44. package/schemas/retro.schema.yaml +95 -0
  45. package/schemas/revert-plan.schema.yaml +40 -0
  46. package/schemas/signal.schema.yaml +39 -0
  47. package/schemas/velocity.schema.yaml +52 -0
  48. package/schemas/workspace-lock.schema.yaml +34 -0
  49. package/schemas/workspace.schema.yaml +82 -0
  50. package/skills/sniper-flow/SKILL.md +243 -0
  51. package/skills/sniper-flow-headless/SKILL.md +105 -0
  52. package/skills/sniper-init/SKILL.md +103 -0
  53. package/skills/sniper-review/SKILL.md +49 -0
  54. package/skills/sniper-status/SKILL.md +79 -0
  55. package/templates/architecture.md +23 -0
  56. package/templates/checkpoint.yaml +27 -0
  57. package/templates/codebase-overview.md +19 -0
  58. package/templates/cost.yaml +23 -0
  59. package/templates/custom-protocol.yaml +98 -0
  60. package/templates/knowledge-manifest.yaml +32 -0
  61. package/templates/live-status.yaml +26 -0
  62. package/templates/multi-faceted-review-report.md +28 -0
  63. package/templates/review-report.md +25 -0
  64. package/templates/signal-record.yaml +37 -0
  65. package/templates/spec.md +28 -0
  66. package/templates/story.md +19 -0
  67. package/templates/velocity.yaml +9 -0
  68. package/templates/workspace-config.yaml +44 -0
  69. package/framework/checklists/code-review.md +0 -33
  70. package/framework/checklists/debug-review.md +0 -34
  71. package/framework/checklists/discover-review.md +0 -33
  72. package/framework/checklists/doc-review.md +0 -39
  73. package/framework/checklists/feature-review.md +0 -42
  74. package/framework/checklists/ingest-review.md +0 -42
  75. package/framework/checklists/memory-review.md +0 -30
  76. package/framework/checklists/perf-review.md +0 -33
  77. package/framework/checklists/plan-review.md +0 -52
  78. package/framework/checklists/refactor-review.md +0 -33
  79. package/framework/checklists/security-review.md +0 -34
  80. package/framework/checklists/sprint-review.md +0 -41
  81. package/framework/checklists/story-review.md +0 -30
  82. package/framework/checklists/test-review.md +0 -32
  83. package/framework/checklists/workspace-review.md +0 -34
  84. package/framework/claude-md.template +0 -37
  85. package/framework/commands/sniper-audit.md +0 -1549
  86. package/framework/commands/sniper-compose.md +0 -323
  87. package/framework/commands/sniper-debug.md +0 -337
  88. package/framework/commands/sniper-discover.md +0 -423
  89. package/framework/commands/sniper-doc.md +0 -441
  90. package/framework/commands/sniper-feature.md +0 -515
  91. package/framework/commands/sniper-ingest.md +0 -506
  92. package/framework/commands/sniper-init.md +0 -388
  93. package/framework/commands/sniper-memory.md +0 -219
  94. package/framework/commands/sniper-plan.md +0 -630
  95. package/framework/commands/sniper-review.md +0 -369
  96. package/framework/commands/sniper-solve.md +0 -408
  97. package/framework/commands/sniper-sprint.md +0 -716
  98. package/framework/commands/sniper-status.md +0 -481
  99. package/framework/commands/sniper-workspace-feature.md +0 -267
  100. package/framework/commands/sniper-workspace-init.md +0 -252
  101. package/framework/commands/sniper-workspace-status.md +0 -112
  102. package/framework/commands/sniper-workspace-validate.md +0 -138
  103. package/framework/config.template.yaml +0 -196
  104. package/framework/personas/cognitive/devils-advocate.md +0 -30
  105. package/framework/personas/cognitive/mentor-explainer.md +0 -29
  106. package/framework/personas/cognitive/performance-focused.md +0 -30
  107. package/framework/personas/cognitive/security-first.md +0 -29
  108. package/framework/personas/cognitive/systems-thinker.md +0 -29
  109. package/framework/personas/cognitive/user-empathetic.md +0 -29
  110. package/framework/personas/domain/.gitkeep +0 -0
  111. package/framework/personas/process/analyst.md +0 -29
  112. package/framework/personas/process/architect.md +0 -30
  113. package/framework/personas/process/architecture-cartographer.md +0 -25
  114. package/framework/personas/process/code-archaeologist.md +0 -22
  115. package/framework/personas/process/code-investigator.md +0 -29
  116. package/framework/personas/process/code-reviewer.md +0 -26
  117. package/framework/personas/process/contract-designer.md +0 -31
  118. package/framework/personas/process/convention-miner.md +0 -27
  119. package/framework/personas/process/coverage-analyst.md +0 -24
  120. package/framework/personas/process/developer.md +0 -32
  121. package/framework/personas/process/doc-analyst.md +0 -63
  122. package/framework/personas/process/doc-reviewer.md +0 -62
  123. package/framework/personas/process/doc-writer.md +0 -42
  124. package/framework/personas/process/flake-hunter.md +0 -30
  125. package/framework/personas/process/impact-analyst.md +0 -23
  126. package/framework/personas/process/integration-validator.md +0 -29
  127. package/framework/personas/process/log-analyst.md +0 -22
  128. package/framework/personas/process/migration-architect.md +0 -24
  129. package/framework/personas/process/perf-profiler.md +0 -27
  130. package/framework/personas/process/product-manager.md +0 -32
  131. package/framework/personas/process/qa-engineer.md +0 -31
  132. package/framework/personas/process/release-manager.md +0 -23
  133. package/framework/personas/process/retro-analyst.md +0 -30
  134. package/framework/personas/process/scrum-master.md +0 -31
  135. package/framework/personas/process/threat-modeler.md +0 -30
  136. package/framework/personas/process/triage-lead.md +0 -23
  137. package/framework/personas/process/ux-designer.md +0 -31
  138. package/framework/personas/process/vuln-scanner.md +0 -27
  139. package/framework/personas/process/workspace-orchestrator.md +0 -30
  140. package/framework/personas/technical/ai-ml.md +0 -33
  141. package/framework/personas/technical/api-design.md +0 -32
  142. package/framework/personas/technical/backend.md +0 -32
  143. package/framework/personas/technical/database.md +0 -32
  144. package/framework/personas/technical/frontend.md +0 -33
  145. package/framework/personas/technical/infrastructure.md +0 -32
  146. package/framework/personas/technical/security.md +0 -34
  147. package/framework/settings.template.json +0 -6
  148. package/framework/spawn-prompts/_template.md +0 -25
  149. package/framework/teams/debug.yaml +0 -56
  150. package/framework/teams/discover.yaml +0 -57
  151. package/framework/teams/doc.yaml +0 -76
  152. package/framework/teams/feature-plan.yaml +0 -61
  153. package/framework/teams/ingest.yaml +0 -85
  154. package/framework/teams/perf.yaml +0 -33
  155. package/framework/teams/plan.yaml +0 -86
  156. package/framework/teams/refactor.yaml +0 -34
  157. package/framework/teams/retro.yaml +0 -30
  158. package/framework/teams/review-pr.yaml +0 -73
  159. package/framework/teams/review-release.yaml +0 -70
  160. package/framework/teams/security.yaml +0 -59
  161. package/framework/teams/solve.yaml +0 -48
  162. package/framework/teams/sprint.yaml +0 -68
  163. package/framework/teams/test.yaml +0 -59
  164. package/framework/teams/workspace-feature.yaml +0 -69
  165. package/framework/teams/workspace-validation.yaml +0 -27
  166. package/framework/templates/arch-delta.md +0 -74
  167. package/framework/templates/architecture.md +0 -95
  168. package/framework/templates/brief.md +0 -73
  169. package/framework/templates/bug-report.md +0 -55
  170. package/framework/templates/contract-validation-report.md +0 -68
  171. package/framework/templates/contract.yaml +0 -60
  172. package/framework/templates/conventions.md +0 -59
  173. package/framework/templates/coverage-report.md +0 -67
  174. package/framework/templates/doc-api.md +0 -53
  175. package/framework/templates/doc-guide.md +0 -35
  176. package/framework/templates/doc-readme.md +0 -49
  177. package/framework/templates/epic.md +0 -47
  178. package/framework/templates/feature-brief.md +0 -54
  179. package/framework/templates/feature-spec.md +0 -53
  180. package/framework/templates/flaky-report.md +0 -64
  181. package/framework/templates/investigation.md +0 -49
  182. package/framework/templates/memory-anti-pattern.yaml +0 -16
  183. package/framework/templates/memory-convention.yaml +0 -17
  184. package/framework/templates/memory-decision.yaml +0 -16
  185. package/framework/templates/migration-plan.md +0 -47
  186. package/framework/templates/optimization-plan.md +0 -59
  187. package/framework/templates/performance-profile.md +0 -64
  188. package/framework/templates/personas.md +0 -118
  189. package/framework/templates/postmortem.md +0 -69
  190. package/framework/templates/pr-review.md +0 -50
  191. package/framework/templates/prd.md +0 -92
  192. package/framework/templates/refactor-scope.md +0 -52
  193. package/framework/templates/release-readiness.md +0 -66
  194. package/framework/templates/retro.yaml +0 -44
  195. package/framework/templates/risks.md +0 -64
  196. package/framework/templates/security.md +0 -111
  197. package/framework/templates/sprint-review.md +0 -32
  198. package/framework/templates/story.md +0 -53
  199. package/framework/templates/threat-model.md +0 -71
  200. package/framework/templates/ux-spec.md +0 -71
  201. package/framework/templates/vulnerability-report.md +0 -56
  202. package/framework/templates/workspace-brief.md +0 -52
  203. package/framework/templates/workspace-plan.md +0 -50
  204. package/framework/workflows/discover-only.md +0 -39
  205. package/framework/workflows/full-lifecycle.md +0 -56
  206. package/framework/workflows/quick-feature.md +0 -44
  207. package/framework/workflows/sprint-cycle.md +0 -47
  208. 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