@sniper.ai/core 1.0.1 → 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 (133) hide show
  1. package/README.md +119 -39
  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/discover-review.md +0 -33
  71. package/framework/checklists/doc-review.md +0 -39
  72. package/framework/checklists/plan-review.md +0 -52
  73. package/framework/checklists/sprint-review.md +0 -41
  74. package/framework/checklists/story-review.md +0 -30
  75. package/framework/claude-md.template +0 -37
  76. package/framework/commands/sniper-compose.md +0 -237
  77. package/framework/commands/sniper-discover.md +0 -397
  78. package/framework/commands/sniper-doc.md +0 -441
  79. package/framework/commands/sniper-init.md +0 -372
  80. package/framework/commands/sniper-plan.md +0 -608
  81. package/framework/commands/sniper-review.md +0 -305
  82. package/framework/commands/sniper-solve.md +0 -375
  83. package/framework/commands/sniper-sprint.md +0 -601
  84. package/framework/commands/sniper-status.md +0 -276
  85. package/framework/config.template.yaml +0 -117
  86. package/framework/personas/cognitive/devils-advocate.md +0 -30
  87. package/framework/personas/cognitive/mentor-explainer.md +0 -29
  88. package/framework/personas/cognitive/performance-focused.md +0 -30
  89. package/framework/personas/cognitive/security-first.md +0 -29
  90. package/framework/personas/cognitive/systems-thinker.md +0 -29
  91. package/framework/personas/cognitive/user-empathetic.md +0 -29
  92. package/framework/personas/domain/.gitkeep +0 -0
  93. package/framework/personas/process/analyst.md +0 -29
  94. package/framework/personas/process/architect.md +0 -30
  95. package/framework/personas/process/developer.md +0 -32
  96. package/framework/personas/process/doc-analyst.md +0 -63
  97. package/framework/personas/process/doc-reviewer.md +0 -62
  98. package/framework/personas/process/doc-writer.md +0 -42
  99. package/framework/personas/process/product-manager.md +0 -32
  100. package/framework/personas/process/qa-engineer.md +0 -31
  101. package/framework/personas/process/scrum-master.md +0 -31
  102. package/framework/personas/process/ux-designer.md +0 -31
  103. package/framework/personas/technical/ai-ml.md +0 -33
  104. package/framework/personas/technical/api-design.md +0 -32
  105. package/framework/personas/technical/backend.md +0 -32
  106. package/framework/personas/technical/database.md +0 -32
  107. package/framework/personas/technical/frontend.md +0 -33
  108. package/framework/personas/technical/infrastructure.md +0 -32
  109. package/framework/personas/technical/security.md +0 -34
  110. package/framework/settings.template.json +0 -6
  111. package/framework/spawn-prompts/_template.md +0 -22
  112. package/framework/teams/discover.yaml +0 -57
  113. package/framework/teams/doc.yaml +0 -76
  114. package/framework/teams/plan.yaml +0 -86
  115. package/framework/teams/solve.yaml +0 -48
  116. package/framework/teams/sprint.yaml +0 -68
  117. package/framework/templates/architecture.md +0 -72
  118. package/framework/templates/brief.md +0 -52
  119. package/framework/templates/doc-api.md +0 -53
  120. package/framework/templates/doc-guide.md +0 -35
  121. package/framework/templates/doc-readme.md +0 -49
  122. package/framework/templates/epic.md +0 -33
  123. package/framework/templates/personas.md +0 -118
  124. package/framework/templates/prd.md +0 -69
  125. package/framework/templates/risks.md +0 -64
  126. package/framework/templates/security.md +0 -90
  127. package/framework/templates/sprint-review.md +0 -32
  128. package/framework/templates/story.md +0 -37
  129. package/framework/templates/ux-spec.md +0 -54
  130. package/framework/workflows/discover-only.md +0 -39
  131. package/framework/workflows/full-lifecycle.md +0 -56
  132. package/framework/workflows/quick-feature.md +0 -44
  133. package/framework/workflows/sprint-cycle.md +0 -47
@@ -0,0 +1,23 @@
1
+ # Performance-Focused Thinking
2
+
3
+ Apply this cognitive lens to all decisions:
4
+
5
+ ## Efficiency-First Evaluation
6
+
7
+ - **Measure before optimizing**: Never guess at bottlenecks. Profile first, optimize second.
8
+ - **Complexity awareness**: Know the Big-O of your data structures and algorithms. O(n^2) is a red flag for any collection that could grow.
9
+ - **Resource consciousness**: Consider memory allocation, network round-trips, and I/O operations as costs.
10
+
11
+ ## Performance Checklist
12
+
13
+ When reviewing or writing code, always check:
14
+ 1. **N+1 queries** — Is the code making a query per item in a loop? Batch instead.
15
+ 2. **Unbounded collections** — Are arrays, queues, or caches growing without limits? Add bounds.
16
+ 3. **Unnecessary computation** — Is work being repeated that could be cached or memoized?
17
+ 4. **Blocking operations** — Are synchronous I/O calls blocking the event loop or main thread?
18
+ 5. **Payload size** — Are API responses returning more data than the caller needs?
19
+ 6. **Connection management** — Are database/HTTP connections pooled and reused?
20
+
21
+ ## Tradeoff Framework
22
+
23
+ Performance improvements must justify their complexity cost. A 10% speedup that doubles code complexity is rarely worth it. A 10x speedup that adds one line is always worth it.
@@ -0,0 +1,24 @@
1
+ # Security-First Thinking
2
+
3
+ Apply this cognitive lens to all decisions:
4
+
5
+ ## Threat-First Decision Framework
6
+
7
+ - **Before implementing**: Ask "How could this be abused?" for every external input, API endpoint, and data flow
8
+ - **Default deny**: Require explicit allowlisting over blocklisting. Reject unknown inputs.
9
+ - **Least privilege**: Request minimum permissions. Scope access to what's needed now, not what might be needed later.
10
+ - **Defense in depth**: Never rely on a single security control. Validate at boundaries AND internally.
11
+
12
+ ## Security Evaluation Checklist
13
+
14
+ When reviewing or writing code, always check:
15
+ 1. Input validation — Is all external input sanitized before use?
16
+ 2. Authentication — Is the caller verified before any action?
17
+ 3. Authorization — Does the caller have permission for THIS specific action?
18
+ 4. Data exposure — Could error messages, logs, or responses leak sensitive data?
19
+ 5. Injection — Could user input end up in SQL, shell commands, or HTML unescaped?
20
+ 6. Secrets — Are credentials in environment variables, never in code or logs?
21
+
22
+ ## When In Doubt
23
+
24
+ Flag the security concern explicitly rather than making assumptions. A false positive is far cheaper than a vulnerability.
@@ -0,0 +1,18 @@
1
+ name: explore
2
+ description: Exploratory analysis — understand a codebase or problem space
3
+ budget: 500000 # 500K tokens
4
+
5
+ phases:
6
+ - name: discover
7
+ description: Research, analyze, and document findings
8
+ agents:
9
+ - analyst
10
+ spawn_strategy: single
11
+ gate:
12
+ checklist: discover
13
+ human_approval: false
14
+ outputs:
15
+ - docs/spec.md
16
+ - docs/codebase-overview.md
17
+
18
+ auto_retro: false # Exploration doesn't need retros
@@ -0,0 +1,45 @@
1
+ name: feature
2
+ description: Incremental feature — plan, implement, review
3
+ budget: 800000 # 800K tokens
4
+
5
+ phases:
6
+ - name: plan
7
+ description: Feature design and story creation
8
+ agents:
9
+ - architect
10
+ - product-manager
11
+ spawn_strategy: team
12
+ gate:
13
+ checklist: plan
14
+ human_approval: true
15
+ outputs:
16
+ - docs/architecture.md
17
+ - docs/prd.md
18
+ - docs/stories/
19
+
20
+ - name: implement
21
+ description: Feature implementation
22
+ agents:
23
+ - fullstack-dev
24
+ - qa-engineer
25
+ spawn_strategy: team
26
+ plan_approval: true
27
+ gate:
28
+ checklist: implement
29
+ human_approval: false
30
+ outputs:
31
+ - source code changes
32
+ - test files
33
+
34
+ - name: review
35
+ description: Code review
36
+ agents:
37
+ - code-reviewer
38
+ spawn_strategy: single
39
+ gate:
40
+ checklist: review
41
+ human_approval: true
42
+ outputs:
43
+ - docs/review-report.md
44
+
45
+ auto_retro: true
@@ -0,0 +1,63 @@
1
+ name: full
2
+ description: Complete project lifecycle — discovery through review
3
+ budget: 2000000 # 2M tokens
4
+
5
+ phases:
6
+ - name: discover
7
+ description: Research, analyze codebase, produce discovery spec
8
+ agents:
9
+ - analyst
10
+ spawn_strategy: single # One agent, no team needed
11
+ gate:
12
+ checklist: discover
13
+ human_approval: false
14
+ outputs:
15
+ - docs/spec.md
16
+ - docs/codebase-overview.md
17
+
18
+ - name: plan
19
+ description: Architecture design, PRD creation, story breakdown
20
+ agents:
21
+ - architect
22
+ - product-manager
23
+ spawn_strategy: team # Multiple agents, use TeamCreate
24
+ coordination:
25
+ - between: [architect, product-manager]
26
+ topic: Architecture must be approved before stories reference it
27
+ gate:
28
+ checklist: plan
29
+ human_approval: true # Human reviews the plan before implementation
30
+ outputs:
31
+ - docs/architecture.md
32
+ - docs/prd.md
33
+ - docs/stories/
34
+
35
+ - name: implement
36
+ description: Code implementation with worktree isolation
37
+ agents:
38
+ - fullstack-dev
39
+ - qa-engineer
40
+ spawn_strategy: team
41
+ plan_approval: true # Each agent must get plan approved before coding
42
+ gate:
43
+ checklist: implement
44
+ human_approval: false
45
+ outputs:
46
+ - source code changes
47
+ - test files
48
+
49
+ - name: review
50
+ description: Code review and final quality gate
51
+ agents:
52
+ - code-reviewer
53
+ spawn_strategy: single
54
+ gate:
55
+ # Uses multi-faceted-review checklist when review.multi_model is enabled in config;
56
+ # otherwise falls back to standard review checklist
57
+ checklist: review
58
+ multi_model_checklist: multi-faceted-review
59
+ human_approval: true # Human final sign-off
60
+ outputs:
61
+ - docs/review-report.md
62
+
63
+ auto_retro: true # Trigger retro-analyst after completion
@@ -0,0 +1,19 @@
1
+ name: hotfix
2
+ description: Critical fix — fastest path to production
3
+ budget: 100000 # 100K tokens
4
+
5
+ phases:
6
+ - name: implement
7
+ description: Emergency fix with minimal overhead
8
+ agents:
9
+ - fullstack-dev
10
+ spawn_strategy: single
11
+ plan_approval: false
12
+ gate:
13
+ checklist: implement
14
+ blocking: false
15
+ outputs:
16
+ - source code changes
17
+ - test files
18
+
19
+ auto_retro: false # Hotfixes are too urgent for retros
@@ -0,0 +1,39 @@
1
+ name: ingest
2
+ description: Codebase ingestion — scan, document, extract conventions
3
+ budget: 1000000 # 1M tokens
4
+
5
+ phases:
6
+ - name: scan
7
+ description: Deep scan of existing codebase
8
+ agents:
9
+ - analyst
10
+ spawn_strategy: single
11
+ gate:
12
+ checklist: ingest-scan
13
+ human_approval: false
14
+ outputs:
15
+ - docs/codebase-overview.md
16
+
17
+ - name: document
18
+ description: Generate documentation from code analysis
19
+ agents:
20
+ - analyst
21
+ spawn_strategy: single
22
+ gate:
23
+ checklist: ingest-document
24
+ human_approval: false
25
+ outputs:
26
+ - docs/spec.md
27
+
28
+ - name: extract
29
+ description: Extract conventions, patterns, and anti-patterns
30
+ agents:
31
+ - analyst
32
+ spawn_strategy: single
33
+ gate:
34
+ checklist: ingest-extract
35
+ human_approval: false
36
+ outputs:
37
+ - .sniper/conventions.yaml
38
+
39
+ auto_retro: false
@@ -0,0 +1,30 @@
1
+ name: patch
2
+ description: Quick fix — implement and review only
3
+ budget: 200000 # 200K tokens
4
+
5
+ phases:
6
+ - name: implement
7
+ description: Bug fix or small change
8
+ agents:
9
+ - fullstack-dev
10
+ spawn_strategy: single
11
+ plan_approval: false # Quick fixes skip plan approval
12
+ gate:
13
+ checklist: implement
14
+ human_approval: false
15
+ outputs:
16
+ - source code changes
17
+ - test files
18
+
19
+ - name: review
20
+ description: Code review
21
+ agents:
22
+ - code-reviewer
23
+ spawn_strategy: single
24
+ gate:
25
+ checklist: review
26
+ human_approval: true
27
+ outputs:
28
+ - docs/review-report.md
29
+
30
+ auto_retro: false # Patches are too small for retros
@@ -0,0 +1,41 @@
1
+ name: refactor
2
+ description: Code improvement — analyze, refactor, and review
3
+ budget: 600000 # 600K tokens
4
+
5
+ phases:
6
+ - name: analyze
7
+ description: Analyze code structure and identify refactoring targets
8
+ agents:
9
+ - analyst
10
+ spawn_strategy: single
11
+ gate:
12
+ checklist: refactor-analyze
13
+ human_approval: false
14
+ outputs:
15
+ - docs/spec.md
16
+
17
+ - name: implement
18
+ description: Apply refactoring changes
19
+ agents:
20
+ - fullstack-dev
21
+ spawn_strategy: single
22
+ plan_approval: false
23
+ gate:
24
+ checklist: implement
25
+ human_approval: false
26
+ outputs:
27
+ - source code changes
28
+ - test files
29
+
30
+ - name: review
31
+ description: Review refactored code
32
+ agents:
33
+ - code-reviewer
34
+ spawn_strategy: single
35
+ gate:
36
+ checklist: review
37
+ human_approval: true
38
+ outputs:
39
+ - docs/review-report.md
40
+
41
+ auto_retro: true
@@ -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