@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
|
@@ -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
|