@ginkoai/cli 1.6.1 → 1.7.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 +34 -0
- package/dist/commands/agent/agent-client.d.ts +150 -0
- package/dist/commands/agent/agent-client.d.ts.map +1 -0
- package/dist/commands/agent/agent-client.js +170 -0
- package/dist/commands/agent/agent-client.js.map +1 -0
- package/dist/commands/agent/index.d.ts +22 -0
- package/dist/commands/agent/index.d.ts.map +1 -0
- package/dist/commands/agent/index.js +121 -0
- package/dist/commands/agent/index.js.map +1 -0
- package/dist/commands/agent/list.d.ts +22 -0
- package/dist/commands/agent/list.d.ts.map +1 -0
- package/dist/commands/agent/list.js +119 -0
- package/dist/commands/agent/list.js.map +1 -0
- package/dist/commands/agent/register.d.ts +21 -0
- package/dist/commands/agent/register.d.ts.map +1 -0
- package/dist/commands/agent/register.js +97 -0
- package/dist/commands/agent/register.js.map +1 -0
- package/dist/commands/agent/status.d.ts +19 -0
- package/dist/commands/agent/status.d.ts.map +1 -0
- package/dist/commands/agent/status.js +271 -0
- package/dist/commands/agent/status.js.map +1 -0
- package/dist/commands/agent/work.d.ts +22 -0
- package/dist/commands/agent/work.d.ts.map +1 -0
- package/dist/commands/agent/work.js +459 -0
- package/dist/commands/agent/work.js.map +1 -0
- package/dist/commands/checkpoint/create.d.ts +27 -0
- package/dist/commands/checkpoint/create.d.ts.map +1 -0
- package/dist/commands/checkpoint/create.js +82 -0
- package/dist/commands/checkpoint/create.js.map +1 -0
- package/dist/commands/checkpoint/index.d.ts +23 -0
- package/dist/commands/checkpoint/index.d.ts.map +1 -0
- package/dist/commands/checkpoint/index.js +91 -0
- package/dist/commands/checkpoint/index.js.map +1 -0
- package/dist/commands/checkpoint/list.d.ts +27 -0
- package/dist/commands/checkpoint/list.d.ts.map +1 -0
- package/dist/commands/checkpoint/list.js +115 -0
- package/dist/commands/checkpoint/list.js.map +1 -0
- package/dist/commands/checkpoint/show.d.ts +23 -0
- package/dist/commands/checkpoint/show.d.ts.map +1 -0
- package/dist/commands/checkpoint/show.js +102 -0
- package/dist/commands/checkpoint/show.js.map +1 -0
- package/dist/commands/dlq.d.ts +24 -0
- package/dist/commands/dlq.d.ts.map +1 -0
- package/dist/commands/dlq.js +172 -0
- package/dist/commands/dlq.js.map +1 -0
- package/dist/commands/epic.d.ts +29 -0
- package/dist/commands/epic.d.ts.map +1 -0
- package/dist/commands/epic.js +322 -0
- package/dist/commands/epic.js.map +1 -0
- package/dist/commands/escalation/create.d.ts +22 -0
- package/dist/commands/escalation/create.d.ts.map +1 -0
- package/dist/commands/escalation/create.js +122 -0
- package/dist/commands/escalation/create.js.map +1 -0
- package/dist/commands/escalation/escalation-client.d.ts +101 -0
- package/dist/commands/escalation/escalation-client.d.ts.map +1 -0
- package/dist/commands/escalation/escalation-client.js +129 -0
- package/dist/commands/escalation/escalation-client.js.map +1 -0
- package/dist/commands/escalation/index.d.ts +22 -0
- package/dist/commands/escalation/index.d.ts.map +1 -0
- package/dist/commands/escalation/index.js +94 -0
- package/dist/commands/escalation/index.js.map +1 -0
- package/dist/commands/escalation/list.d.ts +24 -0
- package/dist/commands/escalation/list.d.ts.map +1 -0
- package/dist/commands/escalation/list.js +170 -0
- package/dist/commands/escalation/list.js.map +1 -0
- package/dist/commands/escalation/resolve.d.ts +20 -0
- package/dist/commands/escalation/resolve.d.ts.map +1 -0
- package/dist/commands/escalation/resolve.js +102 -0
- package/dist/commands/escalation/resolve.js.map +1 -0
- package/dist/commands/graph/api-client.d.ts +222 -1
- package/dist/commands/graph/api-client.d.ts.map +1 -1
- package/dist/commands/graph/api-client.js +82 -0
- package/dist/commands/graph/api-client.js.map +1 -1
- package/dist/commands/handoff.d.ts.map +1 -1
- package/dist/commands/handoff.js +9 -1
- package/dist/commands/handoff.js.map +1 -1
- package/dist/commands/log.d.ts +3 -0
- package/dist/commands/log.d.ts.map +1 -1
- package/dist/commands/log.js +110 -16
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/notifications/history.d.ts +21 -0
- package/dist/commands/notifications/history.d.ts.map +1 -0
- package/dist/commands/notifications/history.js +160 -0
- package/dist/commands/notifications/history.js.map +1 -0
- package/dist/commands/notifications/index.d.ts +22 -0
- package/dist/commands/notifications/index.d.ts.map +1 -0
- package/dist/commands/notifications/index.js +87 -0
- package/dist/commands/notifications/index.js.map +1 -0
- package/dist/commands/notifications/list.d.ts +19 -0
- package/dist/commands/notifications/list.d.ts.map +1 -0
- package/dist/commands/notifications/list.js +132 -0
- package/dist/commands/notifications/list.js.map +1 -0
- package/dist/commands/notifications/test.d.ts +19 -0
- package/dist/commands/notifications/test.d.ts.map +1 -0
- package/dist/commands/notifications/test.js +217 -0
- package/dist/commands/notifications/test.js.map +1 -0
- package/dist/commands/orchestrate.d.ts +25 -0
- package/dist/commands/orchestrate.d.ts.map +1 -0
- package/dist/commands/orchestrate.js +858 -0
- package/dist/commands/orchestrate.js.map +1 -0
- package/dist/commands/sprint/deps.d.ts +29 -0
- package/dist/commands/sprint/deps.d.ts.map +1 -0
- package/dist/commands/sprint/deps.js +269 -0
- package/dist/commands/sprint/deps.js.map +1 -0
- package/dist/commands/sprint/index.d.ts +10 -5
- package/dist/commands/sprint/index.d.ts.map +1 -1
- package/dist/commands/sprint/index.js +26 -5
- package/dist/commands/sprint/index.js.map +1 -1
- package/dist/commands/start/index.d.ts.map +1 -1
- package/dist/commands/start/index.js +6 -0
- package/dist/commands/start/index.js.map +1 -1
- package/dist/commands/start/start-reflection.d.ts +11 -0
- package/dist/commands/start/start-reflection.d.ts.map +1 -1
- package/dist/commands/start/start-reflection.js +150 -12
- package/dist/commands/start/start-reflection.js.map +1 -1
- package/dist/commands/verify.d.ts +17 -0
- package/dist/commands/verify.d.ts.map +1 -0
- package/dist/commands/verify.js +232 -0
- package/dist/commands/verify.js.map +1 -0
- package/dist/core/session-log-manager.d.ts +1 -1
- package/dist/core/session-log-manager.d.ts.map +1 -1
- package/dist/core/session-log-manager.js +12 -3
- package/dist/core/session-log-manager.js.map +1 -1
- package/dist/index.js +98 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/__tests__/task-timeout.test.d.ts +12 -0
- package/dist/lib/__tests__/task-timeout.test.d.ts.map +1 -0
- package/dist/lib/__tests__/task-timeout.test.js +278 -0
- package/dist/lib/__tests__/task-timeout.test.js.map +1 -0
- package/dist/lib/agent-heartbeat.d.ts +68 -0
- package/dist/lib/agent-heartbeat.d.ts.map +1 -0
- package/dist/lib/agent-heartbeat.js +117 -0
- package/dist/lib/agent-heartbeat.js.map +1 -0
- package/dist/lib/checkpoint.d.ts +85 -0
- package/dist/lib/checkpoint.d.ts.map +1 -0
- package/dist/lib/checkpoint.js +323 -0
- package/dist/lib/checkpoint.js.map +1 -0
- package/dist/lib/context-metrics.d.ts +230 -0
- package/dist/lib/context-metrics.d.ts.map +1 -0
- package/dist/lib/context-metrics.js +372 -0
- package/dist/lib/context-metrics.js.map +1 -0
- package/dist/lib/dead-letter-queue.d.ts +108 -0
- package/dist/lib/dead-letter-queue.d.ts.map +1 -0
- package/dist/lib/dead-letter-queue.js +378 -0
- package/dist/lib/dead-letter-queue.js.map +1 -0
- package/dist/lib/event-logger.d.ts +9 -1
- package/dist/lib/event-logger.d.ts.map +1 -1
- package/dist/lib/event-logger.js +45 -3
- package/dist/lib/event-logger.js.map +1 -1
- package/dist/lib/event-queue.d.ts.map +1 -1
- package/dist/lib/event-queue.js +13 -2
- package/dist/lib/event-queue.js.map +1 -1
- package/dist/lib/examples/timeout-demo.d.ts +13 -0
- package/dist/lib/examples/timeout-demo.d.ts.map +1 -0
- package/dist/lib/examples/timeout-demo.js +102 -0
- package/dist/lib/examples/timeout-demo.js.map +1 -0
- package/dist/lib/examples/timeout-integration-example.d.ts +17 -0
- package/dist/lib/examples/timeout-integration-example.d.ts.map +1 -0
- package/dist/lib/examples/timeout-integration-example.js +223 -0
- package/dist/lib/examples/timeout-integration-example.js.map +1 -0
- package/dist/lib/notification-hooks.d.ts +103 -0
- package/dist/lib/notification-hooks.d.ts.map +1 -0
- package/dist/lib/notification-hooks.js +223 -0
- package/dist/lib/notification-hooks.js.map +1 -0
- package/dist/lib/notifications/discord.d.ts +20 -0
- package/dist/lib/notifications/discord.d.ts.map +1 -0
- package/dist/lib/notifications/discord.js +140 -0
- package/dist/lib/notifications/discord.js.map +1 -0
- package/dist/lib/notifications/index.d.ts +66 -0
- package/dist/lib/notifications/index.d.ts.map +1 -0
- package/dist/lib/notifications/index.js +120 -0
- package/dist/lib/notifications/index.js.map +1 -0
- package/dist/lib/notifications/slack.d.ts +20 -0
- package/dist/lib/notifications/slack.d.ts.map +1 -0
- package/dist/lib/notifications/slack.js +186 -0
- package/dist/lib/notifications/slack.js.map +1 -0
- package/dist/lib/notifications/teams.d.ts +20 -0
- package/dist/lib/notifications/teams.d.ts.map +1 -0
- package/dist/lib/notifications/teams.js +146 -0
- package/dist/lib/notifications/teams.js.map +1 -0
- package/dist/lib/notifications/webhook.d.ts +23 -0
- package/dist/lib/notifications/webhook.d.ts.map +1 -0
- package/dist/lib/notifications/webhook.js +65 -0
- package/dist/lib/notifications/webhook.js.map +1 -0
- package/dist/lib/orchestrator-state.d.ts +194 -0
- package/dist/lib/orchestrator-state.d.ts.map +1 -0
- package/dist/lib/orchestrator-state.js +332 -0
- package/dist/lib/orchestrator-state.js.map +1 -0
- package/dist/lib/output-formatter.d.ts +25 -1
- package/dist/lib/output-formatter.d.ts.map +1 -1
- package/dist/lib/output-formatter.js +37 -17
- package/dist/lib/output-formatter.js.map +1 -1
- package/dist/lib/realtime-cursor.d.ts +107 -0
- package/dist/lib/realtime-cursor.d.ts.map +1 -0
- package/dist/lib/realtime-cursor.js +260 -0
- package/dist/lib/realtime-cursor.js.map +1 -0
- package/dist/lib/rollback.d.ts +86 -0
- package/dist/lib/rollback.d.ts.map +1 -0
- package/dist/lib/rollback.js +405 -0
- package/dist/lib/rollback.js.map +1 -0
- package/dist/lib/sprint-loader.d.ts +41 -2
- package/dist/lib/sprint-loader.d.ts.map +1 -1
- package/dist/lib/sprint-loader.js +335 -9
- package/dist/lib/sprint-loader.js.map +1 -1
- package/dist/lib/stale-agent-detector.d.ts +102 -0
- package/dist/lib/stale-agent-detector.d.ts.map +1 -0
- package/dist/lib/stale-agent-detector.js +156 -0
- package/dist/lib/stale-agent-detector.js.map +1 -0
- package/dist/lib/task-dependencies.d.ts +143 -0
- package/dist/lib/task-dependencies.d.ts.map +1 -0
- package/dist/lib/task-dependencies.js +357 -0
- package/dist/lib/task-dependencies.js.map +1 -0
- package/dist/lib/task-timeout.d.ts +153 -0
- package/dist/lib/task-timeout.d.ts.map +1 -0
- package/dist/lib/task-timeout.js +505 -0
- package/dist/lib/task-timeout.js.map +1 -0
- package/dist/lib/verification/build-check.d.ts +55 -0
- package/dist/lib/verification/build-check.d.ts.map +1 -0
- package/dist/lib/verification/build-check.js +111 -0
- package/dist/lib/verification/build-check.js.map +1 -0
- package/dist/lib/verification/index.d.ts +19 -0
- package/dist/lib/verification/index.d.ts.map +1 -0
- package/dist/lib/verification/index.js +17 -0
- package/dist/lib/verification/index.js.map +1 -0
- package/dist/lib/verification/lint-check.d.ts +34 -0
- package/dist/lib/verification/lint-check.d.ts.map +1 -0
- package/dist/lib/verification/lint-check.js +215 -0
- package/dist/lib/verification/lint-check.js.map +1 -0
- package/dist/lib/verification/test-runner.d.ts +50 -0
- package/dist/lib/verification/test-runner.d.ts.map +1 -0
- package/dist/lib/verification/test-runner.js +225 -0
- package/dist/lib/verification/test-runner.js.map +1 -0
- package/dist/templates/ai-instructions-template.d.ts +3 -2
- package/dist/templates/ai-instructions-template.d.ts.map +1 -1
- package/dist/templates/ai-instructions-template.js +104 -2
- package/dist/templates/ai-instructions-template.js.map +1 -1
- package/dist/templates/epic-template.md +319 -0
- package/dist/utils/command-helpers.d.ts +10 -0
- package/dist/utils/command-helpers.d.ts.map +1 -1
- package/dist/utils/command-helpers.js +59 -1
- package/dist/utils/command-helpers.js.map +1 -1
- package/dist/utils/pattern-confidence.d.ts +82 -0
- package/dist/utils/pattern-confidence.d.ts.map +1 -0
- package/dist/utils/pattern-confidence.js +172 -0
- package/dist/utils/pattern-confidence.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
# Epic Creation Template
|
|
2
|
+
|
|
3
|
+
## AI-Mediated Epic Creation Guide
|
|
4
|
+
|
|
5
|
+
**For AI Partners:** Use this template to guide a natural conversation with the user. Ask these questions conversationally, synthesize responses, and create a well-formed epic with sprint breakdown.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Epic Questions
|
|
10
|
+
|
|
11
|
+
### 1. Epic Goal & Vision (Required)
|
|
12
|
+
**Ask:** "What's the big-picture goal? What capability or outcome are you trying to achieve?"
|
|
13
|
+
|
|
14
|
+
**Synthesize into:**
|
|
15
|
+
- Clear, measurable epic goal
|
|
16
|
+
- Vision statement (the "why")
|
|
17
|
+
- Expected business/user impact
|
|
18
|
+
|
|
19
|
+
**Example:**
|
|
20
|
+
> **Goal:** Enable AI partners to access project patterns and gotchas at session start, reducing rework by 65%
|
|
21
|
+
> **Vision:** Create an AI-native cognitive scaffolding that surfaces relevant context automatically
|
|
22
|
+
> **Impact:** Faster AI onboarding, fewer repeated mistakes, higher quality first-pass code
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
### 2. Success Criteria (Required)
|
|
27
|
+
**Ask:** "How will you know the epic is complete? What metrics matter?"
|
|
28
|
+
|
|
29
|
+
**Synthesize into:**
|
|
30
|
+
- 3-5 measurable success criteria
|
|
31
|
+
- Clear acceptance thresholds
|
|
32
|
+
- Observable outcomes
|
|
33
|
+
|
|
34
|
+
**Example:**
|
|
35
|
+
> **Success Criteria:**
|
|
36
|
+
> - [ ] Pattern/gotcha context visible in `ginko start` output
|
|
37
|
+
> - [ ] Decision accuracy > 85% (AI chooses correct patterns)
|
|
38
|
+
> - [ ] Rework rate < 10% (fewer "redo" events)
|
|
39
|
+
> - [ ] Context load time < 2 seconds
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
### 3. Scope & Boundaries (Required)
|
|
44
|
+
**Ask:** "What's included in this epic? What's explicitly out?"
|
|
45
|
+
|
|
46
|
+
**Synthesize into:**
|
|
47
|
+
- In Scope: Specific deliverables
|
|
48
|
+
- Out of Scope: What won't be built
|
|
49
|
+
- Dependencies: What needs to exist first
|
|
50
|
+
|
|
51
|
+
**Example:**
|
|
52
|
+
> **In Scope:**
|
|
53
|
+
> - Graph schema for patterns, gotchas, ADRs
|
|
54
|
+
> - API endpoints for querying task context
|
|
55
|
+
> - CLI integration in `ginko start`
|
|
56
|
+
> - Session logging of pattern usage
|
|
57
|
+
>
|
|
58
|
+
> **Out of Scope:**
|
|
59
|
+
> - Cross-project pattern discovery
|
|
60
|
+
> - ML-based pattern recommendation
|
|
61
|
+
> - Real-time collaboration features
|
|
62
|
+
>
|
|
63
|
+
> **Dependencies:**
|
|
64
|
+
> - Neo4j graph database operational
|
|
65
|
+
> - ADR-002 frontmatter standard in place
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### 4. Sprint Breakdown (Required)
|
|
70
|
+
**Ask:** "Let's break this into 1-2 week sprints. What are the logical phases?"
|
|
71
|
+
|
|
72
|
+
**Guide the user to identify:**
|
|
73
|
+
- Natural delivery phases (infrastructure → features → polish)
|
|
74
|
+
- Clear sprint goals that build on each other
|
|
75
|
+
- Estimated duration per sprint
|
|
76
|
+
|
|
77
|
+
**Example:**
|
|
78
|
+
> **Sprint 1: Core Infrastructure (2 weeks)**
|
|
79
|
+
> Goal: Establish graph schema and basic relationships
|
|
80
|
+
> Tasks: Schema design, Node creation, Basic queries
|
|
81
|
+
>
|
|
82
|
+
> **Sprint 2: API Integration (2 weeks)**
|
|
83
|
+
> Goal: Expose graph data through API endpoints
|
|
84
|
+
> Tasks: Pattern API, Gotcha API, Context enrichment
|
|
85
|
+
>
|
|
86
|
+
> **Sprint 3: CLI Integration (1 week)**
|
|
87
|
+
> Goal: Surface context in ginko start
|
|
88
|
+
> Tasks: Output formatting, Performance optimization
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### 5. Tasks per Sprint (Required)
|
|
93
|
+
**Ask:** "For each sprint, what are the specific tasks? Let's estimate effort."
|
|
94
|
+
|
|
95
|
+
**For each task, capture:**
|
|
96
|
+
- Task ID and title
|
|
97
|
+
- Effort estimate (hours or t-shirt size)
|
|
98
|
+
- Priority (HIGH/MEDIUM/LOW)
|
|
99
|
+
- Key files to modify
|
|
100
|
+
- Related ADRs/patterns/gotchas
|
|
101
|
+
|
|
102
|
+
**Example:**
|
|
103
|
+
> **TASK-1: Design Graph Schema (4h)**
|
|
104
|
+
> Priority: HIGH
|
|
105
|
+
> Files: src/graph/schema/patterns.cypher
|
|
106
|
+
> Follow: ADR-002
|
|
107
|
+
>
|
|
108
|
+
> **TASK-2: Create Pattern API (8h)**
|
|
109
|
+
> Priority: HIGH
|
|
110
|
+
> Files: dashboard/src/app/api/v1/task/[id]/patterns/route.ts
|
|
111
|
+
> Apply: retry-pattern
|
|
112
|
+
> Avoid: verbose-output-gotcha
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
### 6. Risks & Dependencies (Optional - Think & Build mode)
|
|
117
|
+
**Ask:** "What could block progress? Any technical risks?"
|
|
118
|
+
|
|
119
|
+
**Synthesize into:**
|
|
120
|
+
- Key risks with mitigation strategies
|
|
121
|
+
- External dependencies
|
|
122
|
+
- Technical debt considerations
|
|
123
|
+
|
|
124
|
+
**Example:**
|
|
125
|
+
> **Risks:**
|
|
126
|
+
> - Graph query performance may degrade with scale → Add indexes early
|
|
127
|
+
> - API authentication complexity → Reuse existing auth pattern
|
|
128
|
+
>
|
|
129
|
+
> **Dependencies:**
|
|
130
|
+
> - Neo4j AuraDB instance (already provisioned)
|
|
131
|
+
> - Bearer token authentication (existing)
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Work Mode Detection
|
|
136
|
+
|
|
137
|
+
Listen for signals to determine planning depth:
|
|
138
|
+
|
|
139
|
+
**Hack & Ship** (light depth):
|
|
140
|
+
- Keywords: quick, prototype, spike, experiment
|
|
141
|
+
- Time: ~10 minutes conversation
|
|
142
|
+
- Required: Goal, Success Criteria, 1 sprint outline
|
|
143
|
+
|
|
144
|
+
**Think & Build** (standard depth):
|
|
145
|
+
- Keywords: team, milestone, production, quality
|
|
146
|
+
- Time: ~20 minutes conversation
|
|
147
|
+
- Required: Goal, Success, Scope, Sprint breakdown with tasks
|
|
148
|
+
|
|
149
|
+
**Full Planning** (comprehensive):
|
|
150
|
+
- Keywords: stakeholders, compliance, budget, timeline
|
|
151
|
+
- Time: ~40 minutes conversation
|
|
152
|
+
- Required: All sections including risks, dependencies, detailed estimates
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Conversation Guidelines for AI Partners
|
|
157
|
+
|
|
158
|
+
### Do:
|
|
159
|
+
- Start with the big picture ("What outcome are you aiming for?")
|
|
160
|
+
- Help them think in phases/sprints naturally
|
|
161
|
+
- Offer insights ("Based on similar projects, you might want to...")
|
|
162
|
+
- Suggest task breakdowns based on your knowledge
|
|
163
|
+
- Validate scope is achievable
|
|
164
|
+
- Reference existing patterns/ADRs from the codebase
|
|
165
|
+
|
|
166
|
+
### Don't:
|
|
167
|
+
- Ask all questions mechanically
|
|
168
|
+
- Force detailed estimates if they're unsure (mark TBD)
|
|
169
|
+
- Create too many sprints (3-4 max for most epics)
|
|
170
|
+
- Add tasks they haven't mentioned without asking
|
|
171
|
+
- Make it feel like a formal planning session
|
|
172
|
+
|
|
173
|
+
### Completion Logic:
|
|
174
|
+
Stop when:
|
|
175
|
+
- Overall confidence > 70%, OR
|
|
176
|
+
- Goal, success criteria, and at least 2 sprints defined
|
|
177
|
+
- User signals they're done ("Let's start with that")
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Output Format
|
|
182
|
+
|
|
183
|
+
After conversation, create files in `docs/sprints/`:
|
|
184
|
+
|
|
185
|
+
### Epic File: `docs/sprints/EPIC-XXX-[name].md`
|
|
186
|
+
|
|
187
|
+
```markdown
|
|
188
|
+
---
|
|
189
|
+
epic_id: EPIC-XXX
|
|
190
|
+
status: active
|
|
191
|
+
created: YYYY-MM-DD
|
|
192
|
+
updated: YYYY-MM-DD
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
# EPIC-XXX: [Epic Title]
|
|
196
|
+
|
|
197
|
+
## Vision
|
|
198
|
+
[Why this epic matters - the big picture]
|
|
199
|
+
|
|
200
|
+
## Goal
|
|
201
|
+
[Clear, measurable epic goal]
|
|
202
|
+
|
|
203
|
+
## Success Criteria
|
|
204
|
+
- [ ] [Criterion 1]
|
|
205
|
+
- [ ] [Criterion 2]
|
|
206
|
+
- [ ] [Criterion 3]
|
|
207
|
+
|
|
208
|
+
## Scope
|
|
209
|
+
|
|
210
|
+
### In Scope
|
|
211
|
+
- [Deliverable 1]
|
|
212
|
+
- [Deliverable 2]
|
|
213
|
+
|
|
214
|
+
### Out of Scope
|
|
215
|
+
- [Excluded item 1]
|
|
216
|
+
- [Excluded item 2]
|
|
217
|
+
|
|
218
|
+
### Dependencies
|
|
219
|
+
- [Dependency 1]
|
|
220
|
+
- [Dependency 2]
|
|
221
|
+
|
|
222
|
+
## Sprint Breakdown
|
|
223
|
+
|
|
224
|
+
| Sprint | Goal | Duration | Status |
|
|
225
|
+
|--------|------|----------|--------|
|
|
226
|
+
| Sprint 1 | [Goal] | 2 weeks | Not Started |
|
|
227
|
+
| Sprint 2 | [Goal] | 2 weeks | Not Started |
|
|
228
|
+
| Sprint 3 | [Goal] | 1 week | Not Started |
|
|
229
|
+
|
|
230
|
+
## Risks & Mitigations
|
|
231
|
+
- [Risk 1]: [Mitigation]
|
|
232
|
+
- [Risk 2]: [Mitigation]
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Changelog
|
|
237
|
+
|
|
238
|
+
### v1.0.0 - YYYY-MM-DD
|
|
239
|
+
- Initial epic creation
|
|
240
|
+
- Participants: [user email], Claude
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Sprint Files: `docs/sprints/SPRINT-YYYY-MM-[epic]-sprint[N].md`
|
|
244
|
+
|
|
245
|
+
```markdown
|
|
246
|
+
# SPRINT: [Epic Name] Sprint [N] - [Sprint Title]
|
|
247
|
+
|
|
248
|
+
## Sprint Overview
|
|
249
|
+
|
|
250
|
+
**Sprint Goal**: [What this sprint achieves]
|
|
251
|
+
**Duration**: [X weeks] (YYYY-MM-DD to YYYY-MM-DD)
|
|
252
|
+
**Type**: [Infrastructure|Feature|Polish] sprint
|
|
253
|
+
**Progress:** 0% (0/N tasks complete)
|
|
254
|
+
|
|
255
|
+
**Success Criteria:**
|
|
256
|
+
- [Sprint-specific criterion 1]
|
|
257
|
+
- [Sprint-specific criterion 2]
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Sprint Tasks
|
|
262
|
+
|
|
263
|
+
### TASK-1: [Task Title] ([Effort])
|
|
264
|
+
**Status:** [ ] Not Started
|
|
265
|
+
**Priority:** HIGH
|
|
266
|
+
|
|
267
|
+
**Goal:** [What this task achieves]
|
|
268
|
+
|
|
269
|
+
**Implementation Notes:**
|
|
270
|
+
[Any guidance for implementation]
|
|
271
|
+
|
|
272
|
+
**Files:**
|
|
273
|
+
- `path/to/file.ts`
|
|
274
|
+
|
|
275
|
+
Follow: [ADR-XXX]
|
|
276
|
+
Apply: [pattern-name]
|
|
277
|
+
Avoid: [gotcha-name]
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
### TASK-2: [Task Title] ([Effort])
|
|
282
|
+
**Status:** [ ] Not Started
|
|
283
|
+
**Priority:** MEDIUM
|
|
284
|
+
|
|
285
|
+
...
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Accomplishments This Sprint
|
|
290
|
+
|
|
291
|
+
[To be filled as work progresses]
|
|
292
|
+
|
|
293
|
+
## Next Steps
|
|
294
|
+
|
|
295
|
+
[To be updated during sprint]
|
|
296
|
+
|
|
297
|
+
## Blockers
|
|
298
|
+
|
|
299
|
+
[To be updated if blockers arise]
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## Graph Sync
|
|
305
|
+
|
|
306
|
+
After creating files, sync to graph with:
|
|
307
|
+
- Epic node: `(:Epic {id, title, goal, status, progress})`
|
|
308
|
+
- Sprint nodes: `(:Sprint {id, name, goal, progress})`
|
|
309
|
+
- Task nodes: `(:Task {id, title, status, effort, priority})`
|
|
310
|
+
- Relationships:
|
|
311
|
+
- `(Epic)-[:CONTAINS]->(Sprint)`
|
|
312
|
+
- `(Sprint)-[:CONTAINS]->(Task)`
|
|
313
|
+
- `(Task)-[:MUST_FOLLOW]->(ADR)`
|
|
314
|
+
- `(Task)-[:APPLIES_PATTERN]->(Pattern)`
|
|
315
|
+
- `(Task)-[:AVOID_GOTCHA]->(Gotcha)`
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
**Remember:** The goal is to help the user think through their epic clearly, not to create perfect documentation. Quality thinking over complete forms. Natural conversation over bureaucratic planning.
|
|
@@ -73,4 +73,14 @@ export declare function analyzeQuality(entry: LogEntry): {
|
|
|
73
73
|
score: number;
|
|
74
74
|
warnings: string[];
|
|
75
75
|
};
|
|
76
|
+
/**
|
|
77
|
+
* Extract gotcha references from description
|
|
78
|
+
* Supports multiple patterns:
|
|
79
|
+
* - Explicit gotcha IDs: gotcha_xxx, gotcha-xxx
|
|
80
|
+
* - Kebab-case names with -gotcha suffix: verbose-output-gotcha
|
|
81
|
+
* - Natural language: "the verbose output gotcha", "gotcha: verbose output"
|
|
82
|
+
*
|
|
83
|
+
* EPIC-002 Sprint 3 TASK-4: Gotcha Resolution Tracking
|
|
84
|
+
*/
|
|
85
|
+
export declare function extractGotchaReferences(description: string): string[];
|
|
76
86
|
//# sourceMappingURL=command-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/command-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"command-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/command-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAsF/D;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CA4CtE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAmC3D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,SAAS,GAChB,OAAO,CAGT;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,mDAErC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,GAAG,MAAM,CAUT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyDtE;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,CAAC;IACtB,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAoE/D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAOrF;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAwCrE"}
|
|
@@ -33,9 +33,15 @@ const CATEGORY_PATTERNS = {
|
|
|
33
33
|
],
|
|
34
34
|
insight: [
|
|
35
35
|
/\b(discovered|learned|realized|found that)\b/i,
|
|
36
|
-
/\b(insight|pattern|observation
|
|
36
|
+
/\b(insight|pattern|observation)\b/i,
|
|
37
37
|
/\b(breakthrough|understanding|key finding)\b/i,
|
|
38
38
|
],
|
|
39
|
+
gotcha: [
|
|
40
|
+
/\b(gotcha|pitfall|trap|footgun|caveat)\b/i,
|
|
41
|
+
/\b(watch out|be careful|don't|avoid|warning)\b/i,
|
|
42
|
+
/\b(lesson learned|the hard way|bit me|cost me)\b/i,
|
|
43
|
+
/\b(symptom|cause|solution|workaround)\b/i,
|
|
44
|
+
],
|
|
39
45
|
achievement: [
|
|
40
46
|
/\b(completed|finished|delivered|shipped)\b/i,
|
|
41
47
|
/\b(milestone|achievement|success)\b/i,
|
|
@@ -48,6 +54,12 @@ const CATEGORY_PATTERNS = {
|
|
|
48
54
|
/\b(created?|made|new)\s+(feature\s+)?branch\b/i, // Branch operations
|
|
49
55
|
/\bbranch\b.*\b(created?|new|made)\b/i, // Branch creation
|
|
50
56
|
],
|
|
57
|
+
blocker: [
|
|
58
|
+
/\b(blocked|blocking|blocker|impediment)\b/i,
|
|
59
|
+
/\b(can'?t proceed|waiting on|depends on|stuck)\b/i,
|
|
60
|
+
/\b(critical dependency|missing|unavailable|rate limit)\b/i,
|
|
61
|
+
/\b(blocks?|prevents?|halts?)\s+(work|progress|task)/i,
|
|
62
|
+
],
|
|
51
63
|
};
|
|
52
64
|
/**
|
|
53
65
|
* Impact indicators - metrics and language intensity
|
|
@@ -95,8 +107,10 @@ export function detectCategory(description) {
|
|
|
95
107
|
feature: 0,
|
|
96
108
|
decision: 0,
|
|
97
109
|
insight: 0,
|
|
110
|
+
gotcha: 0,
|
|
98
111
|
achievement: 0,
|
|
99
112
|
git: 0,
|
|
113
|
+
blocker: 0,
|
|
100
114
|
};
|
|
101
115
|
// Check for low-confidence cases (very short descriptions)
|
|
102
116
|
const wordCount = description.trim().split(/\s+/).length;
|
|
@@ -311,4 +325,48 @@ export function analyzeQuality(entry) {
|
|
|
311
325
|
warnings: validation.warnings,
|
|
312
326
|
};
|
|
313
327
|
}
|
|
328
|
+
/**
|
|
329
|
+
* Extract gotcha references from description
|
|
330
|
+
* Supports multiple patterns:
|
|
331
|
+
* - Explicit gotcha IDs: gotcha_xxx, gotcha-xxx
|
|
332
|
+
* - Kebab-case names with -gotcha suffix: verbose-output-gotcha
|
|
333
|
+
* - Natural language: "the verbose output gotcha", "gotcha: verbose output"
|
|
334
|
+
*
|
|
335
|
+
* EPIC-002 Sprint 3 TASK-4: Gotcha Resolution Tracking
|
|
336
|
+
*/
|
|
337
|
+
export function extractGotchaReferences(description) {
|
|
338
|
+
if (!description || typeof description !== 'string') {
|
|
339
|
+
return [];
|
|
340
|
+
}
|
|
341
|
+
const gotchaIds = new Set();
|
|
342
|
+
// Pattern 1: Explicit gotcha IDs (gotcha_xxx or gotcha-xxx)
|
|
343
|
+
const explicitPattern = /\bgotcha[_-]([a-zA-Z0-9_-]+)\b/gi;
|
|
344
|
+
let match;
|
|
345
|
+
while ((match = explicitPattern.exec(description)) !== null) {
|
|
346
|
+
// Normalize to gotcha_xxx format
|
|
347
|
+
const id = `gotcha_${match[1].replace(/-/g, '_')}`;
|
|
348
|
+
gotchaIds.add(id);
|
|
349
|
+
}
|
|
350
|
+
// Pattern 2: Kebab-case names ending with -gotcha
|
|
351
|
+
const kebabPattern = /\b([a-z][a-z0-9]*(?:-[a-z0-9]+)*-gotcha)\b/gi;
|
|
352
|
+
while ((match = kebabPattern.exec(description)) !== null) {
|
|
353
|
+
const id = `gotcha_${match[1].replace(/-/g, '_')}`;
|
|
354
|
+
gotchaIds.add(id);
|
|
355
|
+
}
|
|
356
|
+
// Pattern 3: Natural language "the X gotcha" pattern
|
|
357
|
+
const naturalPattern = /\bthe\s+([a-z][a-z0-9\s-]*)\s+gotcha\b/gi;
|
|
358
|
+
while ((match = naturalPattern.exec(description)) !== null) {
|
|
359
|
+
const name = match[1].trim().toLowerCase().replace(/\s+/g, '_').replace(/-/g, '_');
|
|
360
|
+
const id = `gotcha_${name}_gotcha`;
|
|
361
|
+
gotchaIds.add(id);
|
|
362
|
+
}
|
|
363
|
+
// Pattern 4: "gotcha: X" pattern
|
|
364
|
+
const colonPattern = /\bgotcha:\s*([a-z][a-z0-9\s-]*?)(?:[.!?,;]|$)/gi;
|
|
365
|
+
while ((match = colonPattern.exec(description)) !== null) {
|
|
366
|
+
const name = match[1].trim().toLowerCase().replace(/\s+/g, '_').replace(/-/g, '_');
|
|
367
|
+
const id = `gotcha_${name}`;
|
|
368
|
+
gotchaIds.add(id);
|
|
369
|
+
}
|
|
370
|
+
return Array.from(gotchaIds);
|
|
371
|
+
}
|
|
314
372
|
//# sourceMappingURL=command-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-helpers.js","sourceRoot":"","sources":["../../src/utils/command-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGnE;;GAEG;AACH,MAAM,iBAAiB,GAAkC;IACvD,GAAG,EAAE;QACH,4DAA4D;QAC5D,sCAAsC;QACtC,uCAAuC;KACxC;IACD,OAAO,EAAE;QACP,kDAAkD;QAClD,2CAA2C;QAC3C,+BAA+B;KAChC;IACD,QAAQ,EAAE;QACR,yCAAyC;QACzC,8CAA8C;QAC9C,2CAA2C;QAC3C,uCAAuC;KACxC;IACD,OAAO,EAAE;QACP,+CAA+C;QAC/C,2CAA2C;QAC3C,+CAA+C;KAChD;IACD,WAAW,EAAE;QACX,6CAA6C;QAC7C,sCAAsC;QACtC,qCAAqC;KACtC;IACD,GAAG,EAAE;QACH,+EAA+E;QAC/E,wBAAwB;QACxB,4BAA4B;QAC5B,gDAAgD,EAAE,oBAAoB;QACtE,sCAAsC,EAAE,kBAAkB;KAC3D;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,qDAAqD;YACrD,gCAAgC;YAChC,sBAAsB;YACtB,0CAA0C;YAC1C,4CAA4C;SAC7C;QACD,YAAY,EAAE;YACZ,6DAA6D,EAAE,sBAAsB;YACrF,gDAAgD,EAAE,wBAAwB;YAC1E,uBAAuB,EAAE,mBAAmB;YAC5C,6BAA6B,EAAE,qBAAqB;SACrD;KACF;IACD,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,6CAA6C;YAC7C,uCAAuC;SACxC;KACF;IACD,GAAG,EAAE;QACH,QAAQ,EAAE;YACR,qCAAqC;YACrC,8CAA8C;SAC/C;KACF;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,6DAA6D;IAC7D,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAgC;QAC1C,GAAG,EAAE,CAAC;QACN,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;QACd,GAAG,EAAE,CAAC;KACP,CAAC;IAEF,2DAA2D;IAC3D,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACzD,MAAM,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC;IAE9B,+CAA+C;IAC/C,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,QAAuB,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,gBAAgB,GAAuB,IAAI,CAAC;IAEhD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACrB,QAAQ,GAAG,KAAK,CAAC;YACjB,gBAAgB,GAAG,QAAuB,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,6DAA6D;IAC7D,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3E,OAAO,QAAQ,CAAC,CAAC,eAAe;IAClC,CAAC;IAED,yCAAyC;IACzC,KAAK,MAAM,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACrD,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1D,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,KAAK,MAAM,OAAO,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACrD,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,KAAK,MAAM,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxD,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAqB,EACrB,MAAiB;IAEjB,MAAM,kBAAkB,GAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACpF,OAAO,MAAM,KAAK,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,MAAM,gBAAgB,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAGrC;IACC,IAAI,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACzE,CAAC;SAAM,IAAI,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,gCAAgC;IAChC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CACjC,yHAAyH,CAC1H,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,UAAU,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,uCAAuC;IACvC,MAAM,WAAW,GAAG;QAClB,0BAA0B;QAC1B,sBAAsB;QACtB,wBAAwB;QACxB,uBAAuB;KACxB,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM;QACR,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,MAAM,WAAW,GAAG;QAClB,wBAAwB;QACxB,0BAA0B;QAC1B,oDAAoD;KACrD,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM;QACR,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,MAAM,cAAc,GAAG;QACrB,uFAAuF;QACvF,0FAA0F;KAC3F,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3C,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,CAAC;AAsBD,MAAM,UAAU,cAAc,CAAC,OAAwB;IACrD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,2BAA2B;IAC3B,MAAM,SAAS,GACb,OAAO,CAAC,YAAY,EAAE,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,MAAM;QAC5D,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC/B,CAAC,CAAC,EAAE,CAAC;IACT,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAC5F,CAAC;IAEF,iCAAiC;IACjC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,wCAAwC;IACxC,IAAI,OAAO,CAAC,YAAY,EAAE,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;QACnE,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC;QACvF,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC;QAC5F,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC7C,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAC5E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB;IACzC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAe;IAC5C,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC3G,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,UAAU,CAAC,QAAQ;KAC9B,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"command-helpers.js","sourceRoot":"","sources":["../../src/utils/command-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: utility
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2025-11-25
|
|
5
|
+
* @tags: [pattern, confidence, scoring, epic-002, task-3]
|
|
6
|
+
* @related: [sprint-loader.ts, ../lib/output-formatter.ts]
|
|
7
|
+
* @priority: medium
|
|
8
|
+
* @complexity: low
|
|
9
|
+
* @dependencies: []
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Pattern Confidence Calculator (TASK-3: EPIC-002 Sprint 3)
|
|
13
|
+
*
|
|
14
|
+
* Calculates confidence levels for patterns based on:
|
|
15
|
+
* - Usage count: More usages = higher confidence
|
|
16
|
+
* - Age: Patterns proven over time have higher confidence
|
|
17
|
+
* - Resolution rate: For gotchas, successful resolutions increase confidence
|
|
18
|
+
*
|
|
19
|
+
* Confidence levels:
|
|
20
|
+
* - high: Well-established pattern with proven track record
|
|
21
|
+
* - medium: Reasonable confidence, some usage history
|
|
22
|
+
* - low: New or rarely used pattern
|
|
23
|
+
*/
|
|
24
|
+
export type ConfidenceLevel = 'high' | 'medium' | 'low';
|
|
25
|
+
export interface PatternMetrics {
|
|
26
|
+
/** Number of times pattern has been applied */
|
|
27
|
+
usageCount: number;
|
|
28
|
+
/** Date pattern was first created */
|
|
29
|
+
createdAt: Date | string;
|
|
30
|
+
/** Date pattern was last used */
|
|
31
|
+
lastUsedAt?: Date | string;
|
|
32
|
+
/** For gotchas: number of times encountered */
|
|
33
|
+
encounters?: number;
|
|
34
|
+
/** For gotchas: number of successful resolutions */
|
|
35
|
+
resolutions?: number;
|
|
36
|
+
}
|
|
37
|
+
export interface ConfidenceResult {
|
|
38
|
+
level: ConfidenceLevel;
|
|
39
|
+
score: number;
|
|
40
|
+
factors: {
|
|
41
|
+
usage: number;
|
|
42
|
+
age: number;
|
|
43
|
+
resolution?: number;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Calculate confidence level for a pattern
|
|
48
|
+
*
|
|
49
|
+
* @param metrics - Pattern usage metrics
|
|
50
|
+
* @returns Confidence result with level, score, and contributing factors
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* const confidence = calculateConfidence({
|
|
54
|
+
* usageCount: 8,
|
|
55
|
+
* createdAt: '2025-11-01',
|
|
56
|
+
* lastUsedAt: '2025-11-24'
|
|
57
|
+
* });
|
|
58
|
+
* // { level: 'high', score: 85, factors: { usage: 100, age: 75 } }
|
|
59
|
+
*/
|
|
60
|
+
export declare function calculateConfidence(metrics: PatternMetrics): ConfidenceResult;
|
|
61
|
+
/**
|
|
62
|
+
* Get default confidence for new patterns
|
|
63
|
+
* New patterns start at medium to avoid cold-start issues
|
|
64
|
+
*/
|
|
65
|
+
export declare function getDefaultConfidence(): ConfidenceResult;
|
|
66
|
+
/**
|
|
67
|
+
* Sort patterns by confidence (highest first)
|
|
68
|
+
*
|
|
69
|
+
* @param patterns - Array of patterns with confidence scores
|
|
70
|
+
* @returns Sorted array (descending by score)
|
|
71
|
+
*/
|
|
72
|
+
export declare function sortByConfidence<T extends {
|
|
73
|
+
confidence?: ConfidenceResult;
|
|
74
|
+
}>(patterns: T[]): T[];
|
|
75
|
+
/**
|
|
76
|
+
* Format confidence for display
|
|
77
|
+
*
|
|
78
|
+
* @param confidence - Confidence result
|
|
79
|
+
* @returns Human-readable string
|
|
80
|
+
*/
|
|
81
|
+
export declare function formatConfidence(confidence: ConfidenceResult): string;
|
|
82
|
+
//# sourceMappingURL=pattern-confidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-confidence.d.ts","sourceRoot":"","sources":["../../src/utils/pattern-confidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,iCAAiC;IACjC,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAwBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,gBAAgB,CA6C7E;AAiDD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CASvD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS;IAAE,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAAE,EAC1E,QAAQ,EAAE,CAAC,EAAE,GACZ,CAAC,EAAE,CAML;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAGrE"}
|