@ginkoai/cli 2.4.4 → 2.5.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/LICENSE +661 -21
- package/dist/commands/agent/status.d.ts.map +1 -1
- package/dist/commands/agent/status.js +2 -0
- package/dist/commands/agent/status.js.map +1 -1
- package/dist/commands/assign.d.ts.map +1 -1
- package/dist/commands/assign.js +2 -0
- package/dist/commands/assign.js.map +1 -1
- package/dist/commands/charter.js +3 -3
- package/dist/commands/charter.js.map +1 -1
- package/dist/commands/context/index.d.ts +28 -0
- package/dist/commands/context/index.d.ts.map +1 -0
- package/dist/commands/context/index.js +165 -0
- package/dist/commands/context/index.js.map +1 -0
- package/dist/commands/context/score.d.ts +34 -0
- package/dist/commands/context/score.d.ts.map +1 -0
- package/dist/commands/context/score.js +163 -0
- package/dist/commands/context/score.js.map +1 -0
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +10 -0
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/diff/diff-command.d.ts.map +1 -1
- package/dist/commands/diff/diff-command.js +2 -0
- package/dist/commands/diff/diff-command.js.map +1 -1
- package/dist/commands/epic/status.d.ts.map +1 -1
- package/dist/commands/epic/status.js +5 -0
- package/dist/commands/epic/status.js.map +1 -1
- package/dist/commands/graph/api-client.d.ts +131 -0
- package/dist/commands/graph/api-client.d.ts.map +1 -1
- package/dist/commands/graph/api-client.js +153 -0
- package/dist/commands/graph/api-client.js.map +1 -1
- package/dist/commands/graph/cleanup.d.ts.map +1 -1
- package/dist/commands/graph/cleanup.js +2 -0
- package/dist/commands/graph/cleanup.js.map +1 -1
- package/dist/commands/graph/explore.d.ts.map +1 -1
- package/dist/commands/graph/explore.js +2 -0
- package/dist/commands/graph/explore.js.map +1 -1
- package/dist/commands/graph/init.d.ts.map +1 -1
- package/dist/commands/graph/init.js +4 -10
- package/dist/commands/graph/init.js.map +1 -1
- package/dist/commands/graph/query.d.ts.map +1 -1
- package/dist/commands/graph/query.js +2 -0
- package/dist/commands/graph/query.js.map +1 -1
- package/dist/commands/graph/status.d.ts.map +1 -1
- package/dist/commands/graph/status.js +2 -0
- package/dist/commands/graph/status.js.map +1 -1
- package/dist/commands/handoff.d.ts.map +1 -1
- package/dist/commands/handoff.js +34 -0
- package/dist/commands/handoff.js.map +1 -1
- package/dist/commands/health.d.ts +15 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +212 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/init-copilot.js +1 -1
- package/dist/commands/init-copilot.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +74 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/join/index.js +2 -2
- package/dist/commands/knowledge/create.d.ts.map +1 -1
- package/dist/commands/knowledge/create.js +2 -0
- package/dist/commands/knowledge/create.js.map +1 -1
- package/dist/commands/knowledge/graph.d.ts.map +1 -1
- package/dist/commands/knowledge/graph.js +2 -0
- package/dist/commands/knowledge/graph.js.map +1 -1
- package/dist/commands/knowledge/search.d.ts.map +1 -1
- package/dist/commands/knowledge/search.js +2 -0
- package/dist/commands/knowledge/search.js.map +1 -1
- package/dist/commands/log.d.ts.map +1 -1
- package/dist/commands/log.js +4 -3
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/orchestrate.d.ts.map +1 -1
- package/dist/commands/orchestrate.js +2 -0
- package/dist/commands/orchestrate.js.map +1 -1
- package/dist/commands/pull/pull-command.d.ts.map +1 -1
- package/dist/commands/pull/pull-command.js +2 -0
- package/dist/commands/pull/pull-command.js.map +1 -1
- package/dist/commands/push/push-command.d.ts.map +1 -1
- package/dist/commands/push/push-command.js +19 -2
- package/dist/commands/push/push-command.js.map +1 -1
- package/dist/commands/ship.js +1 -1
- package/dist/commands/ship.js.map +1 -1
- package/dist/commands/sprint/create.d.ts +9 -5
- package/dist/commands/sprint/create.d.ts.map +1 -1
- package/dist/commands/sprint/create.js +226 -29
- package/dist/commands/sprint/create.js.map +1 -1
- package/dist/commands/sprint/index.d.ts.map +1 -1
- package/dist/commands/sprint/index.js +9 -5
- package/dist/commands/sprint/index.js.map +1 -1
- package/dist/commands/sprint/status.d.ts +3 -0
- package/dist/commands/sprint/status.d.ts.map +1 -1
- package/dist/commands/sprint/status.js +88 -2
- package/dist/commands/sprint/status.js.map +1 -1
- package/dist/commands/start/index.js +3 -3
- package/dist/commands/start/index.js.map +1 -1
- package/dist/commands/start/start-reflection.d.ts +5 -0
- package/dist/commands/start/start-reflection.d.ts.map +1 -1
- package/dist/commands/start/start-reflection.js +60 -11
- package/dist/commands/start/start-reflection.js.map +1 -1
- package/dist/commands/sync/sync-command.js +1 -1
- package/dist/commands/sync/sync-command.js.map +1 -1
- package/dist/commands/sync/team-sync.js +1 -1
- package/dist/commands/task/status.d.ts +1 -1
- package/dist/commands/task/status.d.ts.map +1 -1
- package/dist/commands/task/status.js +161 -6
- package/dist/commands/task/status.js.map +1 -1
- package/dist/commands/team/members.d.ts.map +1 -1
- package/dist/commands/team/members.js +4 -0
- package/dist/commands/team/members.js.map +1 -1
- package/dist/commands/team/projects.d.ts.map +1 -1
- package/dist/commands/team/projects.js +3 -0
- package/dist/commands/team/projects.js.map +1 -1
- package/dist/commands/team/status.d.ts.map +1 -1
- package/dist/commands/team/status.js +2 -0
- package/dist/commands/team/status.js.map +1 -1
- package/dist/index.js +12 -8
- package/dist/index.js.map +1 -1
- package/dist/lib/adoption-score.d.ts +1 -1
- package/dist/lib/adoption-score.d.ts.map +1 -1
- package/dist/lib/adoption-score.js +1 -0
- package/dist/lib/adoption-score.js.map +1 -1
- package/dist/lib/context-loader-events.d.ts +4 -4
- package/dist/lib/context-loader-events.d.ts.map +1 -1
- package/dist/lib/context-loader-events.js +69 -18
- package/dist/lib/context-loader-events.js.map +1 -1
- package/dist/lib/context-quality.d.ts +224 -0
- package/dist/lib/context-quality.d.ts.map +1 -0
- package/dist/lib/context-quality.js +363 -0
- package/dist/lib/context-quality.js.map +1 -0
- package/dist/lib/event-logger.d.ts.map +1 -1
- package/dist/lib/event-logger.js +2 -3
- package/dist/lib/event-logger.js.map +1 -1
- package/dist/lib/health-checker.d.ts +35 -0
- package/dist/lib/health-checker.d.ts.map +1 -0
- package/dist/lib/health-checker.js +475 -0
- package/dist/lib/health-checker.js.map +1 -0
- package/dist/lib/output-formatter.d.ts +48 -0
- package/dist/lib/output-formatter.d.ts.map +1 -1
- package/dist/lib/output-formatter.js +168 -4
- package/dist/lib/output-formatter.js.map +1 -1
- package/dist/lib/resumption-brief.d.ts +91 -0
- package/dist/lib/resumption-brief.d.ts.map +1 -0
- package/dist/lib/resumption-brief.js +344 -0
- package/dist/lib/resumption-brief.js.map +1 -0
- package/dist/lib/staleness-detector.js +1 -1
- package/dist/lib/state-cache.d.ts +43 -0
- package/dist/lib/state-cache.d.ts.map +1 -1
- package/dist/lib/state-cache.js +72 -0
- package/dist/lib/state-cache.js.map +1 -1
- package/dist/lib/targeted-coaching.js +2 -2
- package/dist/lib/task-parser.d.ts +34 -4
- package/dist/lib/task-parser.d.ts.map +1 -1
- package/dist/lib/task-parser.js +110 -4
- package/dist/lib/task-parser.js.map +1 -1
- package/dist/services/context-search.d.ts.map +1 -1
- package/dist/services/context-search.js +4 -2
- package/dist/services/context-search.js.map +1 -1
- package/dist/templates/ai-instructions-template.d.ts.map +1 -1
- package/dist/templates/ai-instructions-template.js +20 -0
- package/dist/templates/ai-instructions-template.js.map +1 -1
- package/dist/templates/commands/handoff.md +40 -0
- package/dist/templates/commands/quick.md +27 -0
- package/dist/templates/commands/ship.md +43 -0
- package/dist/templates/commands/start.md +15 -0
- package/dist/templates/commands/vibecheck.md +36 -0
- package/dist/templates/skills/ginko/SKILL.md +1 -8
- package/dist/templates/sprint-template.md +273 -0
- package/dist/utils/cloud-guard.d.ts +48 -0
- package/dist/utils/cloud-guard.d.ts.map +1 -0
- package/dist/utils/cloud-guard.js +107 -0
- package/dist/utils/cloud-guard.js.map +1 -0
- package/dist/utils/config-loader.d.ts +2 -2
- package/dist/utils/config-loader.js +2 -2
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +11 -10
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/perf-logger.d.ts +100 -0
- package/dist/utils/perf-logger.d.ts.map +1 -0
- package/dist/utils/perf-logger.js +132 -0
- package/dist/utils/perf-logger.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: utility
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2026-02-05
|
|
5
|
+
* @tags: [context-quality, ai-feedback, flow-optimization, epic-018, sprint-1]
|
|
6
|
+
* @related: [event-logger.ts, context-metrics.ts, ../commands/context.ts]
|
|
7
|
+
* @priority: high
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: [event-logger]
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Context Quality Scoring Module (EPIC-018 Sprint 1 TASK-9)
|
|
13
|
+
*
|
|
14
|
+
* Provides a self-assessment framework for AI assistants to score how
|
|
15
|
+
* well-prepared they feel after context loads. This creates a feedback loop
|
|
16
|
+
* for synthesis improvement.
|
|
17
|
+
*
|
|
18
|
+
* Dimensions:
|
|
19
|
+
* - Direction: Do I know what to do next?
|
|
20
|
+
* - Intent: Do I understand WHY?
|
|
21
|
+
* - Location: Do I know WHERE to start?
|
|
22
|
+
* - History: Do I know WHAT was decided?
|
|
23
|
+
*
|
|
24
|
+
* Usage:
|
|
25
|
+
* - AI scores context within 60 seconds of session start
|
|
26
|
+
* - Scores logged as events for aggregation and analysis
|
|
27
|
+
* - Low scores surface synthesis improvement opportunities
|
|
28
|
+
*/
|
|
29
|
+
import { logEvent } from './event-logger.js';
|
|
30
|
+
// ============================================================
|
|
31
|
+
// Constants
|
|
32
|
+
// ============================================================
|
|
33
|
+
/**
|
|
34
|
+
* Dimension metadata for each quality dimension
|
|
35
|
+
*/
|
|
36
|
+
export const DIMENSION_INFO = {
|
|
37
|
+
direction: {
|
|
38
|
+
name: 'Direction',
|
|
39
|
+
question: 'Do I know what to do next?',
|
|
40
|
+
description: 'Clarity about immediate next steps, current task, and sprint goals',
|
|
41
|
+
improvementHint: 'Include current task details, sprint progress, and explicit next steps in context'
|
|
42
|
+
},
|
|
43
|
+
intent: {
|
|
44
|
+
name: 'Intent',
|
|
45
|
+
question: 'Do I understand WHY?',
|
|
46
|
+
description: 'Understanding of purpose, motivation, and business value',
|
|
47
|
+
improvementHint: 'Reference epic goals, PRD context, and stakeholder needs'
|
|
48
|
+
},
|
|
49
|
+
location: {
|
|
50
|
+
name: 'Location',
|
|
51
|
+
question: 'Do I know WHERE to start?',
|
|
52
|
+
description: 'Knowledge of relevant files, entry points, and architecture',
|
|
53
|
+
improvementHint: 'Include file paths, module locations, and architectural context'
|
|
54
|
+
},
|
|
55
|
+
history: {
|
|
56
|
+
name: 'History',
|
|
57
|
+
question: 'Do I know WHAT was decided?',
|
|
58
|
+
description: 'Awareness of past decisions, ADRs, and established patterns',
|
|
59
|
+
improvementHint: 'Reference relevant ADRs, previous decisions, and gotchas'
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Thresholds for quality zone classification
|
|
64
|
+
*/
|
|
65
|
+
export const QUALITY_THRESHOLDS = {
|
|
66
|
+
excellent: 9.0, // 9-10
|
|
67
|
+
good: 7.0, // 7-8.9
|
|
68
|
+
adequate: 5.0, // 5-6.9
|
|
69
|
+
poor: 3.0, // 3-4.9
|
|
70
|
+
critical: 0.0 // 0-2.9
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Alert threshold - scores below this in any dimension trigger notes
|
|
74
|
+
*/
|
|
75
|
+
export const DIMENSION_ALERT_THRESHOLD = 7;
|
|
76
|
+
// ============================================================
|
|
77
|
+
// Scoring Functions
|
|
78
|
+
// ============================================================
|
|
79
|
+
/**
|
|
80
|
+
* Calculate overall score from individual dimensions
|
|
81
|
+
*
|
|
82
|
+
* @param dimensions - Individual dimension scores
|
|
83
|
+
* @returns Average of all dimensions (0-10)
|
|
84
|
+
*/
|
|
85
|
+
export function calculateOverallScore(dimensions) {
|
|
86
|
+
const { direction, intent, location, history } = dimensions;
|
|
87
|
+
const sum = direction + intent + location + history;
|
|
88
|
+
const average = sum / 4;
|
|
89
|
+
// Round to 1 decimal place
|
|
90
|
+
return Math.round(average * 10) / 10;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Create a complete quality score from dimension values
|
|
94
|
+
*
|
|
95
|
+
* @param dimensions - Individual dimension scores (0-10 each)
|
|
96
|
+
* @param scoredBy - 'ai' or user email
|
|
97
|
+
* @param notes - Optional notes about what's missing
|
|
98
|
+
* @returns Complete ContextQualityScore
|
|
99
|
+
*/
|
|
100
|
+
export function createQualityScore(dimensions, scoredBy, notes) {
|
|
101
|
+
// Validate and clamp dimension values
|
|
102
|
+
const clamp = (value) => Math.max(0, Math.min(10, value));
|
|
103
|
+
const direction = clamp(dimensions.direction);
|
|
104
|
+
const intent = clamp(dimensions.intent);
|
|
105
|
+
const location = clamp(dimensions.location);
|
|
106
|
+
const history = clamp(dimensions.history);
|
|
107
|
+
return {
|
|
108
|
+
direction,
|
|
109
|
+
intent,
|
|
110
|
+
location,
|
|
111
|
+
history,
|
|
112
|
+
overall: calculateOverallScore({ direction, intent, location, history }),
|
|
113
|
+
scoredAt: new Date(),
|
|
114
|
+
scoredBy,
|
|
115
|
+
notes
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get quality zone from overall score
|
|
120
|
+
*
|
|
121
|
+
* @param score - Overall score (0-10)
|
|
122
|
+
* @returns Quality zone classification
|
|
123
|
+
*/
|
|
124
|
+
export function getQualityZone(score) {
|
|
125
|
+
if (score >= QUALITY_THRESHOLDS.excellent)
|
|
126
|
+
return 'excellent';
|
|
127
|
+
if (score >= QUALITY_THRESHOLDS.good)
|
|
128
|
+
return 'good';
|
|
129
|
+
if (score >= QUALITY_THRESHOLDS.adequate)
|
|
130
|
+
return 'adequate';
|
|
131
|
+
if (score >= QUALITY_THRESHOLDS.poor)
|
|
132
|
+
return 'poor';
|
|
133
|
+
return 'critical';
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Get color for quality zone (for display)
|
|
137
|
+
*
|
|
138
|
+
* @param zone - Quality zone
|
|
139
|
+
* @returns Chalk color name
|
|
140
|
+
*/
|
|
141
|
+
export function getQualityColor(zone) {
|
|
142
|
+
switch (zone) {
|
|
143
|
+
case 'excellent': return 'green';
|
|
144
|
+
case 'good': return 'cyan';
|
|
145
|
+
case 'adequate': return 'yellow';
|
|
146
|
+
case 'poor': return 'red';
|
|
147
|
+
case 'critical': return 'magenta';
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Generate suggestions based on low-scoring dimensions
|
|
152
|
+
*
|
|
153
|
+
* @param score - The quality score
|
|
154
|
+
* @returns Array of improvement suggestions
|
|
155
|
+
*/
|
|
156
|
+
export function generateSuggestions(score) {
|
|
157
|
+
const suggestions = [];
|
|
158
|
+
// Check each dimension against threshold
|
|
159
|
+
const dimensions = ['direction', 'intent', 'location', 'history'];
|
|
160
|
+
for (const dim of dimensions) {
|
|
161
|
+
if (score[dim] < DIMENSION_ALERT_THRESHOLD) {
|
|
162
|
+
const info = DIMENSION_INFO[dim];
|
|
163
|
+
suggestions.push(`${info.name} (${score[dim]}/10): ${info.improvementHint}`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// Add general suggestions for critical scores
|
|
167
|
+
if (score.overall < QUALITY_THRESHOLDS.adequate) {
|
|
168
|
+
suggestions.push('Consider running `ginko start --verbose` for more context');
|
|
169
|
+
suggestions.push('Check if session handoff includes sufficient detail');
|
|
170
|
+
}
|
|
171
|
+
return suggestions;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Create complete feedback with score and suggestions
|
|
175
|
+
*
|
|
176
|
+
* @param dimensions - Individual dimension scores
|
|
177
|
+
* @param scoredBy - 'ai' or user email
|
|
178
|
+
* @param notes - Optional notes about what's missing
|
|
179
|
+
* @returns Complete feedback with suggestions
|
|
180
|
+
*/
|
|
181
|
+
export function createQualityFeedback(dimensions, scoredBy, notes) {
|
|
182
|
+
const score = createQualityScore(dimensions, scoredBy, notes);
|
|
183
|
+
const suggestions = generateSuggestions(score);
|
|
184
|
+
return {
|
|
185
|
+
score,
|
|
186
|
+
suggestions,
|
|
187
|
+
scoreConfidence: 0.8 // Default meta-confidence
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
// ============================================================
|
|
191
|
+
// Event Logging
|
|
192
|
+
// ============================================================
|
|
193
|
+
/**
|
|
194
|
+
* Log a context quality score as an event
|
|
195
|
+
*
|
|
196
|
+
* This enables aggregation and analysis of context quality over time.
|
|
197
|
+
*
|
|
198
|
+
* @param score - The quality score to log
|
|
199
|
+
* @returns Promise resolving when event is logged
|
|
200
|
+
*/
|
|
201
|
+
export async function logContextQualityScore(score) {
|
|
202
|
+
const zone = getQualityZone(score.overall);
|
|
203
|
+
// Format description for event log
|
|
204
|
+
const description = formatScoreDescription(score);
|
|
205
|
+
const eventEntry = {
|
|
206
|
+
category: 'insight',
|
|
207
|
+
description,
|
|
208
|
+
impact: zone === 'critical' || zone === 'poor' ? 'high' : 'medium',
|
|
209
|
+
tags: [
|
|
210
|
+
'context-quality',
|
|
211
|
+
`quality-${zone}`,
|
|
212
|
+
`direction-${Math.round(score.direction)}`,
|
|
213
|
+
`intent-${Math.round(score.intent)}`,
|
|
214
|
+
`location-${Math.round(score.location)}`,
|
|
215
|
+
`history-${Math.round(score.history)}`
|
|
216
|
+
]
|
|
217
|
+
};
|
|
218
|
+
await logEvent(eventEntry);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Format score as a human-readable description
|
|
222
|
+
*
|
|
223
|
+
* @param score - The quality score
|
|
224
|
+
* @returns Formatted description string
|
|
225
|
+
*/
|
|
226
|
+
export function formatScoreDescription(score) {
|
|
227
|
+
const zone = getQualityZone(score.overall);
|
|
228
|
+
let desc = `Context score: direction=${score.direction}, intent=${score.intent}, location=${score.location}, history=${score.history} (overall: ${score.overall}/10, ${zone})`;
|
|
229
|
+
if (score.notes && score.notes.length > 0) {
|
|
230
|
+
desc += ` | Notes: ${score.notes.join('; ')}`;
|
|
231
|
+
}
|
|
232
|
+
return desc;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Format score as compact single-line display
|
|
236
|
+
*
|
|
237
|
+
* @param score - The quality score
|
|
238
|
+
* @returns Compact display string
|
|
239
|
+
*/
|
|
240
|
+
export function formatScoreCompact(score) {
|
|
241
|
+
const zone = getQualityZone(score.overall);
|
|
242
|
+
const icon = zone === 'excellent' ? '++' :
|
|
243
|
+
zone === 'good' ? '+' :
|
|
244
|
+
zone === 'adequate' ? '~' :
|
|
245
|
+
zone === 'poor' ? '-' :
|
|
246
|
+
'--';
|
|
247
|
+
return `[${icon}] D:${score.direction} I:${score.intent} L:${score.location} H:${score.history} = ${score.overall}/10`;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Format score for detailed display
|
|
251
|
+
*
|
|
252
|
+
* @param feedback - Complete feedback with suggestions
|
|
253
|
+
* @returns Multi-line display string
|
|
254
|
+
*/
|
|
255
|
+
export function formatScoreDetailed(feedback) {
|
|
256
|
+
const { score, suggestions } = feedback;
|
|
257
|
+
const zone = getQualityZone(score.overall);
|
|
258
|
+
const lines = [
|
|
259
|
+
`Context Quality Assessment`,
|
|
260
|
+
`==========================`,
|
|
261
|
+
'',
|
|
262
|
+
`Overall: ${score.overall}/10 (${zone.toUpperCase()})`,
|
|
263
|
+
'',
|
|
264
|
+
`Dimensions:`,
|
|
265
|
+
` Direction: ${score.direction}/10 - ${DIMENSION_INFO.direction.question}`,
|
|
266
|
+
` Intent: ${score.intent}/10 - ${DIMENSION_INFO.intent.question}`,
|
|
267
|
+
` Location: ${score.location}/10 - ${DIMENSION_INFO.location.question}`,
|
|
268
|
+
` History: ${score.history}/10 - ${DIMENSION_INFO.history.question}`
|
|
269
|
+
];
|
|
270
|
+
if (score.notes && score.notes.length > 0) {
|
|
271
|
+
lines.push('');
|
|
272
|
+
lines.push('Notes:');
|
|
273
|
+
for (const note of score.notes) {
|
|
274
|
+
lines.push(` - ${note}`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
if (suggestions.length > 0) {
|
|
278
|
+
lines.push('');
|
|
279
|
+
lines.push('Suggestions:');
|
|
280
|
+
for (const suggestion of suggestions) {
|
|
281
|
+
lines.push(` - ${suggestion}`);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
if (score.scoredBy) {
|
|
285
|
+
lines.push('');
|
|
286
|
+
lines.push(`Scored by: ${score.scoredBy} at ${score.scoredAt.toISOString()}`);
|
|
287
|
+
}
|
|
288
|
+
return lines.join('\n');
|
|
289
|
+
}
|
|
290
|
+
// ============================================================
|
|
291
|
+
// Parsing Functions
|
|
292
|
+
// ============================================================
|
|
293
|
+
/**
|
|
294
|
+
* Parse a score string into a ContextQualityScore
|
|
295
|
+
*
|
|
296
|
+
* Supports formats:
|
|
297
|
+
* - "direction=8, intent=7, location=9, history=6"
|
|
298
|
+
* - "8,7,9,6" (in order: direction, intent, location, history)
|
|
299
|
+
*
|
|
300
|
+
* @param input - Score string to parse
|
|
301
|
+
* @param scoredBy - Who scored (optional)
|
|
302
|
+
* @returns Parsed ContextQualityScore
|
|
303
|
+
* @throws Error if parsing fails
|
|
304
|
+
*/
|
|
305
|
+
export function parseScoreString(input, scoredBy) {
|
|
306
|
+
// Try named format first: "direction=8, intent=7, ..."
|
|
307
|
+
const namedMatch = input.match(/direction[=:]?\s*(\d+)/i);
|
|
308
|
+
if (namedMatch) {
|
|
309
|
+
const direction = parseInt(input.match(/direction[=:]?\s*(\d+)/i)?.[1] || '0', 10);
|
|
310
|
+
const intent = parseInt(input.match(/intent[=:]?\s*(\d+)/i)?.[1] || '0', 10);
|
|
311
|
+
const location = parseInt(input.match(/location[=:]?\s*(\d+)/i)?.[1] || '0', 10);
|
|
312
|
+
const history = parseInt(input.match(/history[=:]?\s*(\d+)/i)?.[1] || '0', 10);
|
|
313
|
+
return createQualityScore({ direction, intent, location, history }, scoredBy);
|
|
314
|
+
}
|
|
315
|
+
// Try positional format: "8,7,9,6"
|
|
316
|
+
const numbers = input.split(/[,\s]+/).map(s => parseInt(s.trim(), 10)).filter(n => !isNaN(n));
|
|
317
|
+
if (numbers.length >= 4) {
|
|
318
|
+
const [direction, intent, location, history] = numbers;
|
|
319
|
+
return createQualityScore({ direction, intent, location, history }, scoredBy);
|
|
320
|
+
}
|
|
321
|
+
throw new Error(`Unable to parse score string: "${input}". Expected format: "direction=8, intent=7, location=9, history=6" or "8,7,9,6"`);
|
|
322
|
+
}
|
|
323
|
+
// ============================================================
|
|
324
|
+
// Quick Score Function (for AI use)
|
|
325
|
+
// ============================================================
|
|
326
|
+
/**
|
|
327
|
+
* Quick score entry point for AI assistants
|
|
328
|
+
*
|
|
329
|
+
* Call this within 60 seconds of session start to log context quality.
|
|
330
|
+
*
|
|
331
|
+
* @param direction - 0-10: Do I know what to do next?
|
|
332
|
+
* @param intent - 0-10: Do I understand WHY?
|
|
333
|
+
* @param location - 0-10: Do I know WHERE to start?
|
|
334
|
+
* @param history - 0-10: Do I know WHAT was decided?
|
|
335
|
+
* @param notes - Optional notes about what's missing
|
|
336
|
+
* @returns Promise resolving to the logged score
|
|
337
|
+
*
|
|
338
|
+
* @example
|
|
339
|
+
* ```typescript
|
|
340
|
+
* // AI scores context after ginko start
|
|
341
|
+
* await scoreContext(8, 7, 9, 6, ['Missing ADR references for auth decision']);
|
|
342
|
+
* ```
|
|
343
|
+
*/
|
|
344
|
+
export async function scoreContext(direction, intent, location, history, notes) {
|
|
345
|
+
const score = createQualityScore({ direction, intent, location, history }, 'ai', notes);
|
|
346
|
+
await logContextQualityScore(score);
|
|
347
|
+
return score;
|
|
348
|
+
}
|
|
349
|
+
export default {
|
|
350
|
+
createQualityScore,
|
|
351
|
+
createQualityFeedback,
|
|
352
|
+
scoreContext,
|
|
353
|
+
logContextQualityScore,
|
|
354
|
+
parseScoreString,
|
|
355
|
+
formatScoreCompact,
|
|
356
|
+
formatScoreDetailed,
|
|
357
|
+
getQualityZone,
|
|
358
|
+
getQualityColor,
|
|
359
|
+
DIMENSION_INFO,
|
|
360
|
+
QUALITY_THRESHOLDS,
|
|
361
|
+
DIMENSION_ALERT_THRESHOLD
|
|
362
|
+
};
|
|
363
|
+
//# sourceMappingURL=context-quality.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-quality.js","sourceRoot":"","sources":["../../src/lib/context-quality.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-logger.d.ts","sourceRoot":"","sources":["../../src/lib/event-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpG,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,eAAe,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,KAAM,SAAQ,UAAU;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"event-logger.d.ts","sourceRoot":"","sources":["../../src/lib/event-logger.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/event-logger.js
CHANGED
|
@@ -49,9 +49,8 @@ async function getEventContext() {
|
|
|
49
49
|
catch (error) {
|
|
50
50
|
// Not in a git repo or git not available
|
|
51
51
|
}
|
|
52
|
-
// Organization ID:
|
|
53
|
-
|
|
54
|
-
const orgId = 'watchhill-ai'; // Can be enhanced to read from config
|
|
52
|
+
// Organization ID: read from config or use default
|
|
53
|
+
const orgId = 'local';
|
|
55
54
|
// EPIC-004 Sprint 2 TASK-7: Get agent ID if registered
|
|
56
55
|
const agentId = await getAgentId();
|
|
57
56
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-logger.js","sourceRoot":"","sources":["../../src/lib/event-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAoDzC;;;GAGG;AACH,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAE1D,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8EAA8E;IAChF,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe;IAC5B,MAAM,SAAS,GAAG,MAAM,YAAY,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE/C,qBAAqB;IACrB,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,QAAQ,CAAC,iCAAiC,EAAE;YACnD,QAAQ,EAAE,MAAM;YAChB,GAAG,EAAE,WAAW;SACjB,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yCAAyC;IAC3C,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"event-logger.js","sourceRoot":"","sources":["../../src/lib/event-logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileType: utility
|
|
3
|
+
* @status: current
|
|
4
|
+
* @updated: 2026-02-16
|
|
5
|
+
* @tags: [health, adherence, process, supervision, EPIC-022]
|
|
6
|
+
* @related: [sync-state.ts, ../core/session-log-manager.ts, ../commands/health.ts]
|
|
7
|
+
* @priority: high
|
|
8
|
+
* @complexity: medium
|
|
9
|
+
* @dependencies: [fs-extra, simple-git, glob]
|
|
10
|
+
*/
|
|
11
|
+
export interface HealthCheckItem {
|
|
12
|
+
label: string;
|
|
13
|
+
status: 'pass' | 'warn' | 'fail';
|
|
14
|
+
detail: string;
|
|
15
|
+
fix?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface HealthCategory {
|
|
18
|
+
name: string;
|
|
19
|
+
icon: string;
|
|
20
|
+
items: HealthCheckItem[];
|
|
21
|
+
}
|
|
22
|
+
export interface HealthResult {
|
|
23
|
+
categories: HealthCategory[];
|
|
24
|
+
adherence: number;
|
|
25
|
+
passCount: number;
|
|
26
|
+
warnCount: number;
|
|
27
|
+
failCount: number;
|
|
28
|
+
totalChecks: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Run all health checks and return structured results.
|
|
32
|
+
* All checks are local-only (no cloud dependency).
|
|
33
|
+
*/
|
|
34
|
+
export declare function runHealthChecks(): Promise<HealthResult>;
|
|
35
|
+
//# sourceMappingURL=health-checker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health-checker.d.ts","sourceRoot":"","sources":["../../src/lib/health-checker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA0BH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAID;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAiC7D"}
|