shotgun-sh 0.1.0.dev12__py3-none-any.whl → 0.1.0.dev13__py3-none-any.whl

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.

Potentially problematic release.


This version of shotgun-sh might be problematic. Click here for more details.

Files changed (49) hide show
  1. shotgun/agents/common.py +94 -79
  2. shotgun/agents/config/constants.py +18 -0
  3. shotgun/agents/config/manager.py +68 -16
  4. shotgun/agents/config/provider.py +11 -6
  5. shotgun/agents/models.py +6 -0
  6. shotgun/agents/plan.py +15 -37
  7. shotgun/agents/research.py +10 -45
  8. shotgun/agents/specify.py +97 -0
  9. shotgun/agents/tasks.py +7 -36
  10. shotgun/agents/tools/artifact_management.py +450 -0
  11. shotgun/agents/tools/file_management.py +2 -2
  12. shotgun/artifacts/__init__.py +17 -0
  13. shotgun/artifacts/exceptions.py +89 -0
  14. shotgun/artifacts/manager.py +529 -0
  15. shotgun/artifacts/models.py +332 -0
  16. shotgun/artifacts/service.py +463 -0
  17. shotgun/artifacts/templates/__init__.py +10 -0
  18. shotgun/artifacts/templates/loader.py +252 -0
  19. shotgun/artifacts/templates/models.py +136 -0
  20. shotgun/artifacts/templates/plan/delivery_and_release_plan.yaml +66 -0
  21. shotgun/artifacts/templates/research/market_research.yaml +585 -0
  22. shotgun/artifacts/templates/research/sdk_comparison.yaml +257 -0
  23. shotgun/artifacts/templates/specify/prd.yaml +331 -0
  24. shotgun/artifacts/templates/specify/product_spec.yaml +301 -0
  25. shotgun/artifacts/utils.py +76 -0
  26. shotgun/cli/plan.py +1 -4
  27. shotgun/cli/specify.py +69 -0
  28. shotgun/cli/tasks.py +0 -4
  29. shotgun/logging_config.py +23 -7
  30. shotgun/main.py +7 -6
  31. shotgun/prompts/agents/partials/artifact_system.j2 +32 -0
  32. shotgun/prompts/agents/partials/common_agent_system_prompt.j2 +28 -2
  33. shotgun/prompts/agents/partials/content_formatting.j2 +65 -0
  34. shotgun/prompts/agents/partials/interactive_mode.j2 +10 -2
  35. shotgun/prompts/agents/plan.j2 +31 -32
  36. shotgun/prompts/agents/research.j2 +37 -29
  37. shotgun/prompts/agents/specify.j2 +31 -0
  38. shotgun/prompts/agents/tasks.j2 +27 -12
  39. shotgun/sdk/artifact_models.py +186 -0
  40. shotgun/sdk/artifacts.py +448 -0
  41. shotgun/tui/app.py +26 -7
  42. shotgun/tui/screens/chat.py +28 -3
  43. shotgun/tui/screens/directory_setup.py +113 -0
  44. {shotgun_sh-0.1.0.dev12.dist-info → shotgun_sh-0.1.0.dev13.dist-info}/METADATA +2 -2
  45. {shotgun_sh-0.1.0.dev12.dist-info → shotgun_sh-0.1.0.dev13.dist-info}/RECORD +48 -25
  46. shotgun/prompts/user/research.j2 +0 -5
  47. {shotgun_sh-0.1.0.dev12.dist-info → shotgun_sh-0.1.0.dev13.dist-info}/WHEEL +0 -0
  48. {shotgun_sh-0.1.0.dev12.dist-info → shotgun_sh-0.1.0.dev13.dist-info}/entry_points.txt +0 -0
  49. {shotgun_sh-0.1.0.dev12.dist-info → shotgun_sh-0.1.0.dev13.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,257 @@
1
+ name: SDK & Library Research Template
2
+ purpose: Use this template to build a comprehensive research and comparison document for SDKs and libraries considered in a project.
3
+ prompt: |
4
+ First, suggest creating a research.overview section to establish the problem and requirements.
5
+ Then, once the user reviews, move on to the discovery and evaluation sections.
6
+ Include a systematic evaluation framework that defines technical requirements, constraints, and quality criteria for the SDK/library selection.
7
+ The research should enable the team to make an informed decision based on objective comparisons and practical testing.
8
+ Prioritize evaluation criteria by technical criticality × business impact to maximize long-term project success.
9
+ Facilitate thorough investigation: Breadth of options before depth of analysis
10
+ Suggest alternatives if the user's initial requirements seem too restrictive: Flexibility over perfect fit
11
+ Your focus needs to be on creating clear, actionable research artifacts that development teams can use to make and justify technical decisions.
12
+ If user provides detailed requirements with use case, technical constraints, and project context, acknowledge and get to work OR ask for more details if critical context is truly missing.
13
+ sections:
14
+ research.overview:
15
+ instructions: |
16
+ # What is a good research.overview section?
17
+
18
+ • Clarifies the technical need
19
+ • Establishes scope and constraints
20
+ • Aligns the team on evaluation criteria
21
+ • Sets realistic timeline for decision
22
+
23
+ # Questions to ask yourself:
24
+ • What problem are we trying to solve with this SDK/library?
25
+ • What happens if we make the wrong choice?
26
+ • What are our non-negotiable requirements?
27
+ • Is there anything specific to our tech stack that constrains choices?
28
+
29
+ # Includes:
30
+ Research Objective: [One clear sentence stating what SDK/library type we need and why]
31
+ Problem Context:
32
+ Current limitation: [What can't we do now?]
33
+ Business impact: [Cost of not solving this]
34
+ Technical debt risk: [What happens if we choose poorly?]
35
+ Timeline: [When do we need to decide?]
36
+ [additional relevant context]
37
+
38
+ # Success Criteria:
39
+
40
+ | Criterion | Description | Priority |
41
+ |-----------|-------------|----------|
42
+ | Performance requirements | Must handle X operations/sec | Critical |
43
+ | Developer experience | Clear documentation, active community | High |
44
+ | Maintenance burden | Regular updates, security patches | Medium |
45
+ [more criteria relevant to the specific research]
46
+
47
+ research.requirements:
48
+ instructions: |
49
+ # How to write a good research.requirements section
50
+
51
+ Define technical and business requirements that will guide the evaluation.
52
+
53
+ • Separates must-haves from nice-to-haves
54
+ • Includes both functional and non-functional requirements
55
+ • Considers team capabilities and constraints
56
+
57
+ # Questions to ask yourself:
58
+ • What features are absolutely essential vs. "would be nice"?
59
+ • What are our technical constraints (language, platform, licenses)?
60
+ • What are our resource constraints (budget, team expertise)?
61
+
62
+ # Includes:
63
+ ## Functional Requirements
64
+ Essential Features:
65
+ - [Core functionality needed]
66
+ - [Integration requirements]
67
+ - [Performance benchmarks]
68
+
69
+ Nice-to-Have Features:
70
+ - [Additional capabilities]
71
+ - [Future-proofing considerations]
72
+
73
+ ## Non-Functional Requirements
74
+ Technical Constraints:
75
+ - Language/Platform: [e.g., Must support TypeScript]
76
+ - Architecture: [e.g., Must work in serverless environment]
77
+ - Performance: [e.g., < 50ms latency for operations]
78
+
79
+ Business Constraints:
80
+ - License: [e.g., MIT or Apache 2.0 preferred]
81
+ - Cost: [e.g., Free for commercial use or < $X/month]
82
+ - Support: [e.g., Active community or paid support available]
83
+ depends_on:
84
+ - "research.overview"
85
+
86
+ research.discovery:
87
+ instructions: |
88
+ # How to write a good research.discovery section
89
+
90
+ Document the process and results of finding available options.
91
+
92
+ • Shows comprehensive search methodology
93
+ • Lists all viable candidates with brief descriptions
94
+ • Explains why certain options were excluded early
95
+
96
+ # Questions to ask yourself:
97
+ • Where did we search? (GitHub, npm, package managers, forums)
98
+ • What keywords and criteria did we use?
99
+ • Are there any industry-standard or popular choices we're missing?
100
+
101
+ # Includes:
102
+ ## Search Methodology
103
+ Sources Consulted:
104
+ - [Package registries searched]
105
+ - [Community recommendations]
106
+ - [Industry reports/comparisons referenced]
107
+
108
+ ## Initial Candidates
109
+
110
+ | Library/SDK | Description | Stars/Downloads | Initial Assessment |
111
+ |-------------|-------------|-----------------|-------------------|
112
+ | Option A | Brief description | GitHub stars or weekly downloads | Meets X requirements, concerns about Y |
113
+ | Option B | Brief description | Metrics | Strong community, lacks feature Z |
114
+ [comprehensive list]
115
+
116
+ ## Early Eliminations
117
+ Excluded Options:
118
+ - **[Library Name]**: [Reason for exclusion]
119
+ - **[Library Name]**: [Critical missing feature or constraint violation]
120
+
121
+ depends_on:
122
+ - "research.requirements"
123
+
124
+ research.technical_evaluation:
125
+ instructions: |
126
+ # How to write a good research.technical_evaluation section
127
+
128
+ Deep technical analysis of the top candidates.
129
+
130
+ • Provides objective, measurable comparisons
131
+ • Includes code examples and API comparisons
132
+ • Evaluates developer experience and learning curve
133
+
134
+ # Questions to ask yourself:
135
+ • How easy is it to implement our use case in each option?
136
+ • What are the performance characteristics under our expected load?
137
+ • How well does each option integrate with our existing stack?
138
+
139
+ # Includes:
140
+ ## Evaluated Options (Top 3-5 candidates)
141
+
142
+ ### **Option A: [Name]**
143
+ Technical Architecture:
144
+ - Core design philosophy
145
+ - Key abstractions and patterns
146
+ - Dependencies and size
147
+
148
+ Code Example:
149
+ ```[language]
150
+ // Example implementing our primary use case
151
+ ```
152
+
153
+ Performance Metrics:
154
+ - Benchmark results
155
+ - Memory footprint
156
+ - Bundle size impact
157
+
158
+ Developer Experience:
159
+ - Setup complexity: [Rating]
160
+ - Documentation quality: [Rating]
161
+ - API design: [Rating]
162
+ - Debugging tools: [Rating]
163
+
164
+ [Repeat for each candidate]
165
+
166
+ depends_on:
167
+ - "research.discovery"
168
+
169
+ research.comparison_matrix:
170
+ instructions: |
171
+ # How to write a good research.comparison_matrix section
172
+
173
+ Side-by-side comparison of all evaluation criteria.
174
+
175
+ • Enables quick visual comparison
176
+ • Uses consistent scoring methodology
177
+ • Weights criteria by importance
178
+
179
+ # Questions to ask yourself:
180
+ • Are we comparing apples to apples?
181
+ • Is our scoring methodology clear and reproducible?
182
+ • Have we weighted criteria appropriately for our use case?
183
+
184
+ # Includes:
185
+ ## Scoring Methodology
186
+ - 🟢 Excellent (3 points): Exceeds requirements
187
+ - 🟡 Good (2 points): Meets requirements
188
+ - 🔴 Poor (1 point): Below requirements
189
+ - ❌ Missing (0 points): Doesn't support
190
+
191
+ ## Feature Comparison
192
+
193
+ | Criterion | Weight | Option A | Option B | Option C |
194
+ |-----------|--------|----------|----------|----------|
195
+ | Core Functionality | 3x | 🟢 (3) | 🟡 (2) | 🟢 (3) |
196
+ | Performance | 2x | 🟡 (2) | 🟢 (3) | 🟡 (2) |
197
+ | Documentation | 1x | 🟢 (3) | 🟡 (2) | 🔴 (1) |
198
+ | Community Support | 1x | 🟡 (2) | 🟢 (3) | 🟡 (2) |
199
+ | **Weighted Total** | | **17** | **18** | **15** |
200
+
201
+ ## Risk Assessment
202
+
203
+ | Risk Factor | Option A | Option B | Option C |
204
+ |-------------|----------|----------|----------|
205
+ | Vendor Lock-in | Low | Medium | Low |
206
+ | Technical Debt | Low | Low | High |
207
+ | Maintenance Risk | Medium | Low | High |
208
+
209
+ depends_on:
210
+ - "research.technical_evaluation"
211
+
212
+ research.decision:
213
+ instructions: |
214
+ # How to write a good research.decision section
215
+
216
+ Clear recommendation with thorough justification.
217
+
218
+ • States the recommendation unambiguously
219
+ • Provides clear rationale tied to requirements
220
+ • Addresses concerns and mitigation strategies
221
+
222
+ # Questions to ask yourself:
223
+ • Will stakeholders understand why we chose this option?
224
+ • Have we addressed all major concerns about our choice?
225
+ • Is our decision reversible if needed?
226
+
227
+ # Includes:
228
+ ## Recommendation
229
+ **Selected Solution:** [Name and version]
230
+
231
+ **Primary Reasons:**
232
+ 1. [Most compelling reason tied to critical requirement]
233
+ 2. [Second key differentiator]
234
+ 3. [Long-term benefit]
235
+
236
+ ## Detailed Justification
237
+
238
+ ### Why [Selected] Over [Alternative A]
239
+ - [Specific technical advantage]
240
+ - [Business consideration]
241
+ - [Risk mitigation]
242
+
243
+ ### Why [Selected] Over [Alternative B]
244
+ - [Comparison points]
245
+
246
+ ## Risk Mitigation Plan
247
+
248
+ | Identified Risk | Mitigation Strategy | Owner |
249
+ |----------------|---------------------|-------|
250
+ | [Specific risk] | [How we'll address it] | [Team/Person] |
251
+
252
+ ## Dissenting Opinions
253
+ - [Any team concerns and how they were addressed]
254
+
255
+ depends_on:
256
+ - "research.comparison_matrix"
257
+ - "research.technical_evaluation"
@@ -0,0 +1,331 @@
1
+ name: Product Requirements Document (PRD) Template
2
+ purpose: Use this template to produce a crisp, decision-oriented PRD that enables engineers to build and executives to understand the bet. Optimize for specificity, thresholds, and rollout decisions; cut anything that doesn’t change how someone builds, measures, or kills the feature.
3
+ prompt: |
4
+ First, create prd.overview to capture the two-sentence problem statement and core inputs.
5
+ Then proceed through the sections in order.
6
+ Keep it ≤5 formatted pages. Favor real data, prototype learnings, concrete thresholds, and adult rollout plans.
7
+ Delete sections that don’t change decisions.
8
+
9
+ Critical principles:
10
+ - No fluff; defend decisions like a Staff PM.
11
+ - Decisions > documentation; thresholds over adjectives.
12
+ - Use real examples and prototype learnings.
13
+ - Set explicit rollout gates, owners, and kill criteria.
14
+
15
+ sections:
16
+ prd.overview:
17
+ instructions: |
18
+ # What to capture
19
+ - **Feature Name** and a **2-sentence problem statement**:
20
+ 1) One-sentence problem with data.
21
+ 2) One sentence on why solving now unlocks value.
22
+ - **Inputs** (fill what you have; leave gaps as Open Questions):
23
+ COMPANY, PRODUCT/AREA, TARGET USERS, STRATEGIC BET/OKR,
24
+ CORE PROBLEM (with data), CURRENT BASELINE METRICS,
25
+ PROTOTYPE LEARNINGS, AI FEATURE? (model/latency/cost),
26
+ HARD DEADLINE, KEY STAKEHOLDERS (names).
27
+
28
+ # Output should make an engineer say “I can build this” and an exec say “I get the bet.”
29
+
30
+ # Includes
31
+ Feature Name: [ ]
32
+ Problem Statement: "[Data-backed sentence]. [Why now unlocks value.]"
33
+ Inputs:
34
+ company: [ ]
35
+ product_area: [ ]
36
+ target_users: [ ]
37
+ strategic_bet_or_okr: [ ]
38
+ core_problem: "[e.g., 73% of X experience Y causing $Z loss]"
39
+ current_baseline_metrics: [ ]
40
+ prototype_learnings: [ ]
41
+ ai_feature:
42
+ enabled: [true|false]
43
+ model: [ ]
44
+ latency_requirements_ms:
45
+ p50: [ ]
46
+ p99: [ ]
47
+ cost_per_1k_requests_usd_max: [ ]
48
+ hard_deadline: [YYYY-MM-DD]
49
+ key_stakeholders:
50
+ - name: [ ]
51
+ role: [ ]
52
+ # first section, no deps
53
+
54
+ opportunity.framing:
55
+ instructions: |
56
+ # Frame the bet crisply
57
+ Core Problem: "[X% of users do Y causing $Z impact]"
58
+ Hypothesis: "If we do X, then Y will improve by Z%."
59
+ Strategy Fit: "[Which OKR this unlocks AND what we are explicitly NOT doing]"
60
+
61
+ Financial Model (monthly impact):
62
+ - Pessimistic: assumptions=[ ], impact=$X, confidence=60%
63
+ - Most Likely: assumptions=[ ], impact=$Y, confidence=30%
64
+ - Optimistic: assumptions=[ ], impact=$Z, confidence=10%
65
+ depends_on:
66
+ - "prd.overview"
67
+
68
+ scope.boundaries:
69
+ instructions: |
70
+ # Draw hard lines to prevent scope creep
71
+ In Scope (checked user stories/surfaces/endpoints):
72
+ - [ ]
73
+ - [ ]
74
+ - [ ]
75
+
76
+ NON-GOALS:
77
+ 1) **[Not building X]** because [reason]
78
+ 2) **[Deferring Z to Qn]** because [dependency]
79
+ 3) **[Not touching system V]** due to [migration/constraints]
80
+ depends_on:
81
+ - "opportunity.framing"
82
+
83
+ success.measurement:
84
+ instructions: |
85
+ # Define success with numbers and decision thresholds
86
+ Primary Success Metrics:
87
+ - name: [ ]
88
+ baseline: "[value ± variance]"
89
+ target: "[value]"
90
+ mde: "[%]"
91
+ decision_threshold: "Ship if >A, kill if <B"
92
+ - name: [ ]
93
+ baseline: "[ ]"
94
+ target: "[ ]"
95
+ mde: "[%]"
96
+ decision_threshold: "[e.g., Must exceed by week 2]"
97
+
98
+ Guardrails (must not regress):
99
+ - metric: [ ]
100
+ threshold: [e.g., P99 latency < Y ms]
101
+ - metric: [ ]
102
+ threshold: [e.g., FP rate < Z%]
103
+
104
+ Graduation Criteria:
105
+ scale_to_100_if: [clear conditions]
106
+ kill_and_revert_if: [explicit failure conditions]
107
+ iterate_if: [middle-ground conditions]
108
+ depends_on:
109
+ - "scope.boundaries"
110
+
111
+ rollout.plan:
112
+ instructions: |
113
+ # Adult rollout plan with real gates, names, and dates
114
+ Phase 1: Validation (Days 1–7)
115
+ exposure: "[X% of specific segment]"
116
+ sampling: "[user/session/request]"
117
+ gate_1:
118
+ date: [YYYY-MM-DD]
119
+ decider: [Name]
120
+ criteria: "[metrics and thresholds]"
121
+
122
+ Phase 2: Controlled Expansion (Days 8–21)
123
+ exposure_ramp: ["X%" , "Y%" , "Z%"]
124
+ gate_2:
125
+ date: [YYYY-MM-DD]
126
+ stakeholder_check: "[specific metric] with [stakeholder]"
127
+ finance_approval_if: "[condition]"
128
+
129
+ Phase 3: Full Launch (Day 22+)
130
+ contingent_on: "[specific criteria]"
131
+ regional_or_segment_order: "[sequence + why]"
132
+ depends_on:
133
+ - "success.measurement"
134
+
135
+ prototype.loop:
136
+ instructions: |
137
+ # Close the loop between prototypes and PRD
138
+ What prototypes taught us:
139
+ - [Learning 1 → changed approach from X to Y]
140
+ - [Learning 2 → discovered edge case Z]
141
+ - [Learning 3 → users want A not B]
142
+
143
+ Next prototype must answer:
144
+ - [ ] Can we handle [edge case] at scale?
145
+ - [ ] Does [approach] work for [segment]?
146
+ - [ ] Is [latency] acceptable for [use case]?
147
+
148
+ PRD revision triggers:
149
+ - If prototype shows [X], revisit [section Y].
150
+ - If [metric] differs by >20% from estimate, reopen financial model.
151
+ depends_on:
152
+ - "rollout.plan"
153
+
154
+ ai.behavior_contract:
155
+ instructions: |
156
+ # Include only if AI feature; otherwise skip this section
157
+ Behavior Contract:
158
+ must:
159
+ - [Specific behavior 1]
160
+ - [Specific behavior 2]
161
+ must_not:
162
+ - [Prohibited behavior 1]
163
+ - [Prohibited behavior 2]
164
+
165
+ Reference Examples (use real data)
166
+ good_examples: 7-10 with Input / Output / Why Good
167
+ bad_examples: 7-10 with Input / Current Output / Correct Handling / Why Bad
168
+ reject_cases: 5 edge cases with Scenario / Detection / Response / Why Reject
169
+
170
+ AI Guardrails:
171
+ pii_echo: "[detection + prevention]"
172
+ hallucination_handling: "[threshold + fallback]"
173
+ latency_ms:
174
+ p50: [ ]
175
+ p99: [ ]
176
+ cost_per_1k_requests_usd_max: [ ]
177
+ token_limits:
178
+ input_tokens_max: [ ]
179
+ output_tokens_max: [ ]
180
+ depends_on:
181
+ - "prototype.loop"
182
+
183
+ risk.management:
184
+ instructions: |
185
+ # Name risks, detection, mitigation, and owners
186
+ risks:
187
+ - risk: [ ]
188
+ likelihood: [Low|Med|High]
189
+ impact: [Low|Med|High]
190
+ detection: "[How detected]"
191
+ mitigation: "[Response]"
192
+ owner: "[Name]"
193
+
194
+ kill_switch:
195
+ location: "[config/flag path]"
196
+ who_can_pull: "[team on-call + escalation]"
197
+ ttr_minutes: [ ]
198
+ fallback_state: "[system reverts to X]"
199
+ depends_on:
200
+ - "prototype.loop"
201
+
202
+ launch.readiness:
203
+ instructions: |
204
+ # Prove we’re ready to ship Day 1
205
+ pre_launch_checklist:
206
+ - golden_eval_set: "[X examples, Y% coverage]"
207
+ - load_test: "Confirmed [X] QPS with [Y] ms P99"
208
+ - dashboards: "[link]"
209
+ - runbook: "[link]"
210
+ - legal_review: "[Name approved Date]"
211
+ - security_review: "[Name approved Date]"
212
+ - finance_model: "Approval if > $[X] impact"
213
+
214
+ day_1_success:
215
+ - "[Metric 1] within expected range"
216
+ - "No P0 incidents"
217
+ - "[X]% of traffic successfully served"
218
+ depends_on:
219
+ - "risk.management"
220
+
221
+ ownership.decisions:
222
+ instructions: |
223
+ # Who decides what, and when
224
+ core_team:
225
+ - role: DRI
226
+ name: [ ]
227
+ accountable_for: "Overall success, kill decision"
228
+ - role: Eng Lead
229
+ name: [ ]
230
+ accountable_for: "Technical delivery, latency"
231
+ - role: Data
232
+ name: [ ]
233
+ accountable_for: "Experiment design, analysis"
234
+ - role: Design
235
+ name: [ ]
236
+ accountable_for: "User experience bar"
237
+ - role: Legal/Security
238
+ name: [ ]
239
+ accountable_for: "Compliance, data handling"
240
+
241
+ decision_calendar:
242
+ - date: [YYYY-MM-DD]
243
+ decision: "Gate 1: Expand?"
244
+ criteria: "[Metrics]"
245
+ decider: "[Name]"
246
+ - date: [YYYY-MM-DD]
247
+ decision: "Gate 2: Graduate?"
248
+ criteria: "[Metrics]"
249
+ decider: "[Name]"
250
+ - date: [YYYY-MM-DD]
251
+ decision: "Post-mortem"
252
+ criteria: "Learnings"
253
+ decider: "All"
254
+ depends_on:
255
+ - "launch.readiness"
256
+
257
+ open.questions:
258
+ instructions: |
259
+ # Track gaps with owners and due dates
260
+ questions:
261
+ - question: "[Missing data X?]"
262
+ owner: "[Name]"
263
+ due_date: [YYYY-MM-DD]
264
+ blocks: "[Launch|Phase 2|—]"
265
+ - question: "[Technical unknown Y?]"
266
+ owner: "[Name]"
267
+ due_date: [YYYY-MM-DD]
268
+ blocks: "[ ]"
269
+ depends_on:
270
+ - "ownership.decisions"
271
+
272
+ json.summary:
273
+ instructions: |
274
+ # Brief machine-readable summary for dashboards/automation
275
+ schema:
276
+ title: "[Feature Name]"
277
+ hypothesis: "[One sentence]"
278
+ problem_magnitude: "$[X]M annual impact"
279
+ confidence_level: "[X]%"
280
+ primary_metrics:
281
+ - name: ""
282
+ baseline: ""
283
+ target: ""
284
+ mde: ""
285
+ threshold: ""
286
+ guardrails:
287
+ - metric: ""
288
+ threshold: ""
289
+ consequence: "auto-kill if breached"
290
+ rollout:
291
+ start_date: "YYYY-MM-DD"
292
+ initial_exposure: "X%"
293
+ duration_days: X
294
+ gates:
295
+ - date: ""
296
+ decision: ""
297
+ criteria: ""
298
+ kill_switch:
299
+ location: ""
300
+ owners: [""]
301
+ ttr_minutes: X
302
+ ai_config:
303
+ model: ""
304
+ behavior_examples:
305
+ good: X
306
+ bad: Y
307
+ reject: Z
308
+ max_latency_p99_ms: X
309
+ max_cost_per_1k: X
310
+ owners:
311
+ dri: ""
312
+ eng_lead: ""
313
+ data_lead: ""
314
+ prototype_learnings_incorporated: true
315
+ next_revision_date: "YYYY-MM-DD"
316
+ depends_on:
317
+ - "open.questions"
318
+
319
+ final.quality_checks:
320
+ instructions: |
321
+ # Run this quick list before sharing
322
+ checklist:
323
+ - "Would an engineer know exactly what to build?"
324
+ - "Can an exec understand the bet in 30 seconds?"
325
+ - "All metrics have baselines and targets?"
326
+ - "Prototype learnings reflected (not hypotheticals)?"
327
+ - "Examples come from real data?"
328
+ - "Every section helps ship, measure, or kill?"
329
+ - "Total length ≤ 5 pages when formatted?"
330
+ depends_on:
331
+ - "json.summary"