@cleocode/core 2026.3.58 → 2026.3.60
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/dist/agents/agent-registry.d.ts +206 -0
- package/dist/agents/agent-registry.d.ts.map +1 -0
- package/dist/agents/agent-registry.js +288 -0
- package/dist/agents/agent-registry.js.map +1 -0
- package/dist/agents/agent-schema.js +5 -0
- package/dist/agents/agent-schema.js.map +1 -1
- package/dist/agents/execution-learning.js +474 -0
- package/dist/agents/execution-learning.js.map +1 -0
- package/dist/agents/health-monitor.d.ts +161 -0
- package/dist/agents/health-monitor.d.ts.map +1 -0
- package/dist/agents/health-monitor.js +217 -0
- package/dist/agents/health-monitor.js.map +1 -0
- package/dist/agents/index.d.ts +3 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +9 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/retry.d.ts +57 -4
- package/dist/agents/retry.d.ts.map +1 -1
- package/dist/agents/retry.js +57 -4
- package/dist/agents/retry.js.map +1 -1
- package/dist/backfill/index.d.ts +27 -0
- package/dist/backfill/index.d.ts.map +1 -1
- package/dist/backfill/index.js +229 -0
- package/dist/backfill/index.js.map +1 -0
- package/dist/bootstrap.d.ts +2 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +135 -28
- package/dist/bootstrap.js.map +1 -1
- package/dist/cleo.d.ts +40 -0
- package/dist/cleo.d.ts.map +1 -1
- package/dist/config.js +83 -0
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1036 -536
- package/dist/index.js.map +4 -4
- package/dist/intelligence/adaptive-validation.js +497 -0
- package/dist/intelligence/adaptive-validation.js.map +1 -0
- package/dist/intelligence/impact.d.ts +34 -1
- package/dist/intelligence/impact.d.ts.map +1 -1
- package/dist/intelligence/impact.js +176 -0
- package/dist/intelligence/impact.js.map +1 -1
- package/dist/intelligence/index.d.ts +2 -2
- package/dist/intelligence/index.d.ts.map +1 -1
- package/dist/intelligence/index.js +6 -1
- package/dist/intelligence/index.js.map +1 -1
- package/dist/intelligence/types.d.ts +60 -0
- package/dist/intelligence/types.d.ts.map +1 -1
- package/dist/internal.d.ts +5 -4
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +11 -2
- package/dist/internal.js.map +1 -1
- package/dist/lib/index.d.ts +10 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +10 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/retry.d.ts +128 -0
- package/dist/lib/retry.d.ts.map +1 -0
- package/dist/lib/retry.js +152 -0
- package/dist/lib/retry.js.map +1 -0
- package/dist/nexus/sharing/index.d.ts +48 -2
- package/dist/nexus/sharing/index.d.ts.map +1 -1
- package/dist/nexus/sharing/index.js +110 -1
- package/dist/nexus/sharing/index.js.map +1 -1
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +22 -2
- package/dist/scaffold.js.map +1 -1
- package/dist/sessions/session-enforcement.js +4 -0
- package/dist/sessions/session-enforcement.js.map +1 -1
- package/dist/stats/index.js +2 -0
- package/dist/stats/index.js.map +1 -1
- package/dist/stats/workflow-telemetry.d.ts +15 -0
- package/dist/stats/workflow-telemetry.d.ts.map +1 -1
- package/dist/stats/workflow-telemetry.js +400 -0
- package/dist/stats/workflow-telemetry.js.map +1 -0
- package/dist/store/brain-schema.js +4 -1
- package/dist/store/brain-schema.js.map +1 -1
- package/dist/store/converters.js +2 -0
- package/dist/store/converters.js.map +1 -1
- package/dist/store/cross-db-cleanup.d.ts +35 -0
- package/dist/store/cross-db-cleanup.d.ts.map +1 -1
- package/dist/store/cross-db-cleanup.js +169 -0
- package/dist/store/cross-db-cleanup.js.map +1 -0
- package/dist/store/db-helpers.js +2 -0
- package/dist/store/db-helpers.js.map +1 -1
- package/dist/store/migration-sqlite.js +5 -0
- package/dist/store/migration-sqlite.js.map +1 -1
- package/dist/store/sqlite-data-accessor.js +20 -28
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sqlite.js +13 -2
- package/dist/store/sqlite.js.map +1 -1
- package/dist/store/task-store.js +4 -0
- package/dist/store/task-store.js.map +1 -1
- package/dist/store/tasks-schema.js +50 -20
- package/dist/store/tasks-schema.js.map +1 -1
- package/dist/tasks/add.js +87 -3
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +15 -4
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/enforcement.d.ts.map +1 -1
- package/dist/tasks/enforcement.js +8 -1
- package/dist/tasks/enforcement.js.map +1 -1
- package/dist/tasks/epic-enforcement.d.ts +61 -0
- package/dist/tasks/epic-enforcement.d.ts.map +1 -1
- package/dist/tasks/epic-enforcement.js +294 -0
- package/dist/tasks/epic-enforcement.js.map +1 -0
- package/dist/tasks/index.js +1 -1
- package/dist/tasks/index.js.map +1 -1
- package/dist/tasks/pipeline-stage.d.ts +70 -1
- package/dist/tasks/pipeline-stage.d.ts.map +1 -1
- package/dist/tasks/pipeline-stage.js +248 -0
- package/dist/tasks/pipeline-stage.js.map +1 -0
- package/dist/tasks/update.js +28 -0
- package/dist/tasks/update.js.map +1 -1
- package/package.json +5 -5
- package/schemas/config.schema.json +37 -1547
- package/src/__tests__/sharing.test.ts +24 -0
- package/src/agents/__tests__/agent-registry.test.ts +351 -0
- package/src/agents/__tests__/health-monitor.test.ts +332 -0
- package/src/agents/agent-registry.ts +394 -0
- package/src/agents/health-monitor.ts +279 -0
- package/src/agents/index.ts +24 -1
- package/src/agents/retry.ts +57 -4
- package/src/backfill/index.ts +27 -0
- package/src/bootstrap.ts +171 -30
- package/src/cleo.ts +103 -2
- package/src/config.ts +3 -3
- package/src/index.ts +1 -0
- package/src/intelligence/__tests__/impact.test.ts +165 -1
- package/src/intelligence/impact.ts +203 -0
- package/src/intelligence/index.ts +3 -0
- package/src/intelligence/types.ts +76 -0
- package/src/internal.ts +20 -0
- package/src/lib/__tests__/retry.test.ts +321 -0
- package/src/lib/index.ts +16 -0
- package/src/lib/retry.ts +224 -0
- package/src/nexus/sharing/index.ts +142 -2
- package/src/scaffold.ts +24 -2
- package/src/stats/workflow-telemetry.ts +15 -0
- package/src/store/__tests__/session-store.test.ts +43 -7
- package/src/store/__tests__/task-store.test.ts +1 -1
- package/src/store/__tests__/test-db-helper.ts +7 -3
- package/src/store/cross-db-cleanup.ts +35 -0
- package/src/tasks/__tests__/epic-enforcement.test.ts +9 -4
- package/src/tasks/__tests__/minimal-test.test.ts +2 -2
- package/src/tasks/__tests__/update.test.ts +25 -25
- package/src/tasks/complete.ts +11 -6
- package/src/tasks/enforcement.ts +6 -3
- package/src/tasks/epic-enforcement.ts +61 -0
- package/src/tasks/pipeline-stage.ts +70 -1
- package/templates/config.template.json +5 -116
- package/templates/global-config.template.json +2 -44
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow Telemetry Module — Agent Workflow Compliance Metrics
|
|
3
|
+
*
|
|
4
|
+
* Computes compliance metrics for WF-001 through WF-005 workflow rules
|
|
5
|
+
* defined in T063. Queries existing data from tasks, sessions, and audit_log
|
|
6
|
+
* tables — no new infrastructure required.
|
|
7
|
+
*
|
|
8
|
+
* Metrics produced:
|
|
9
|
+
* - AC compliance rate: % of tasks with ≥3 acceptance criteria
|
|
10
|
+
* - Session compliance rate: % of task completions that occurred within a session
|
|
11
|
+
* - Gate compliance rate: Average verification gates set per completed task
|
|
12
|
+
* - Workflow violations: Count of tasks that bypassed WF rules
|
|
13
|
+
*
|
|
14
|
+
* @task T065
|
|
15
|
+
* @epic T056
|
|
16
|
+
*/
|
|
17
|
+
import { getLogger } from '../logger.js';
|
|
18
|
+
const log = getLogger('workflow-telemetry');
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
// DB helpers
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
async function queryTasks(cwd, since) {
|
|
23
|
+
try {
|
|
24
|
+
const { getDb } = await import('../store/sqlite.js');
|
|
25
|
+
const { tasks } = await import('../store/tasks-schema.js');
|
|
26
|
+
const { and, gte } = await import('drizzle-orm');
|
|
27
|
+
const db = await getDb(cwd);
|
|
28
|
+
const conditions = [];
|
|
29
|
+
if (since) {
|
|
30
|
+
// Include tasks created or completed since the cutoff
|
|
31
|
+
conditions.push(gte(tasks.createdAt, since));
|
|
32
|
+
}
|
|
33
|
+
const rows = await db
|
|
34
|
+
.select({
|
|
35
|
+
id: tasks.id,
|
|
36
|
+
status: tasks.status,
|
|
37
|
+
acceptanceJson: tasks.acceptanceJson,
|
|
38
|
+
verificationJson: tasks.verificationJson,
|
|
39
|
+
sessionId: tasks.sessionId,
|
|
40
|
+
completedAt: tasks.completedAt,
|
|
41
|
+
createdAt: tasks.createdAt,
|
|
42
|
+
})
|
|
43
|
+
.from(tasks)
|
|
44
|
+
.where(conditions.length > 0 ? and(...conditions) : undefined)
|
|
45
|
+
.all();
|
|
46
|
+
return rows;
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
log.warn({ err }, 'Failed to query tasks for workflow telemetry');
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async function queryCompletionAuditRows(cwd, since) {
|
|
54
|
+
try {
|
|
55
|
+
const { getDb } = await import('../store/sqlite.js');
|
|
56
|
+
const { auditLog } = await import('../store/tasks-schema.js');
|
|
57
|
+
const { and, gte } = await import('drizzle-orm');
|
|
58
|
+
const db = await getDb(cwd);
|
|
59
|
+
// Completion events: action = 'task_completed' OR 'complete'
|
|
60
|
+
// OR operation = 'complete' in dispatch layer
|
|
61
|
+
const conditions = [];
|
|
62
|
+
if (since)
|
|
63
|
+
conditions.push(gte(auditLog.timestamp, since));
|
|
64
|
+
const allRows = await db
|
|
65
|
+
.select({
|
|
66
|
+
action: auditLog.action,
|
|
67
|
+
timestamp: auditLog.timestamp,
|
|
68
|
+
taskId: auditLog.taskId,
|
|
69
|
+
sessionId: auditLog.sessionId,
|
|
70
|
+
afterJson: auditLog.afterJson,
|
|
71
|
+
operation: auditLog.operation,
|
|
72
|
+
domain: auditLog.domain,
|
|
73
|
+
})
|
|
74
|
+
.from(auditLog)
|
|
75
|
+
.where(conditions.length > 0 ? and(...conditions) : undefined)
|
|
76
|
+
.orderBy(auditLog.timestamp)
|
|
77
|
+
.all();
|
|
78
|
+
// Filter to completion events only
|
|
79
|
+
return allRows.filter((row) => {
|
|
80
|
+
const isComplete = row.action === 'task_completed' ||
|
|
81
|
+
row.action === 'complete' ||
|
|
82
|
+
(row.operation === 'complete' && row.domain === 'tasks');
|
|
83
|
+
// Also catch status_changed → done
|
|
84
|
+
if (!isComplete && row.afterJson) {
|
|
85
|
+
try {
|
|
86
|
+
const after = JSON.parse(row.afterJson);
|
|
87
|
+
return after?.status === 'done';
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return isComplete;
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
log.warn({ err }, 'Failed to query audit log for workflow telemetry');
|
|
98
|
+
return [];
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// ---------------------------------------------------------------------------
|
|
102
|
+
// Metric helpers
|
|
103
|
+
// ---------------------------------------------------------------------------
|
|
104
|
+
function parseAcceptanceCriteria(acceptanceJson) {
|
|
105
|
+
if (!acceptanceJson)
|
|
106
|
+
return [];
|
|
107
|
+
try {
|
|
108
|
+
const parsed = JSON.parse(acceptanceJson);
|
|
109
|
+
return Array.isArray(parsed) ? parsed : [];
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
return [];
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function parseVerification(verificationJson) {
|
|
116
|
+
if (!verificationJson)
|
|
117
|
+
return null;
|
|
118
|
+
try {
|
|
119
|
+
return JSON.parse(verificationJson);
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
function countTrueGates(gates) {
|
|
126
|
+
if (!gates || typeof gates !== 'object')
|
|
127
|
+
return 0;
|
|
128
|
+
return Object.values(gates).filter((v) => v === true).length;
|
|
129
|
+
}
|
|
130
|
+
function gradeFromScore(score) {
|
|
131
|
+
if (score >= 0.95)
|
|
132
|
+
return 'A+';
|
|
133
|
+
if (score >= 0.9)
|
|
134
|
+
return 'A';
|
|
135
|
+
if (score >= 0.8)
|
|
136
|
+
return 'B';
|
|
137
|
+
if (score >= 0.7)
|
|
138
|
+
return 'C';
|
|
139
|
+
if (score >= 0.6)
|
|
140
|
+
return 'D';
|
|
141
|
+
return 'F';
|
|
142
|
+
}
|
|
143
|
+
// ---------------------------------------------------------------------------
|
|
144
|
+
// Public API
|
|
145
|
+
// ---------------------------------------------------------------------------
|
|
146
|
+
/**
|
|
147
|
+
* Compute workflow compliance metrics from existing task, session, and audit data.
|
|
148
|
+
*
|
|
149
|
+
* Rules evaluated:
|
|
150
|
+
* WF-001: Tasks MUST have ≥3 acceptance criteria (T058)
|
|
151
|
+
* WF-002: Task completions MUST occur within an active session (T059)
|
|
152
|
+
* WF-003: Completed tasks SHOULD have verification gates set (T061)
|
|
153
|
+
* WF-004: Tasks with verification SHOULD have all 3 gates set
|
|
154
|
+
* WF-005: Tasks MUST have session binding on creation (non-epic)
|
|
155
|
+
*
|
|
156
|
+
* @remarks
|
|
157
|
+
* Derives all metrics from existing audit_log and tasks tables — no new
|
|
158
|
+
* tracking infrastructure is required.
|
|
159
|
+
*
|
|
160
|
+
* @param opts - Report options
|
|
161
|
+
* @param opts.since - ISO 8601 date string to filter metrics from
|
|
162
|
+
* @param opts.cwd - Working directory for database resolution
|
|
163
|
+
* @returns Compliance report with per-rule pass/fail counts and overall rate
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ```ts
|
|
167
|
+
* const report = await getWorkflowComplianceReport({ cwd: '/my/project' });
|
|
168
|
+
* console.log(report.overall.passRate); // e.g. 0.85
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
export async function getWorkflowComplianceReport(opts) {
|
|
172
|
+
const cwd = opts.cwd ?? process.cwd();
|
|
173
|
+
const since = opts.since ?? null;
|
|
174
|
+
const generatedAt = new Date().toISOString();
|
|
175
|
+
const [allTasks, completionEvents] = await Promise.all([
|
|
176
|
+
queryTasks(cwd, since),
|
|
177
|
+
queryCompletionAuditRows(cwd, since),
|
|
178
|
+
]);
|
|
179
|
+
// Include all tasks in WF checks. Epics will naturally show 0 AC criteria
|
|
180
|
+
// which counts as a violation — this is acceptable since epics should also
|
|
181
|
+
// have AC defined. The raw task query does not include the type column to
|
|
182
|
+
// keep the query minimal, so we don't filter by type here.
|
|
183
|
+
const nonEpicTasks = allTasks;
|
|
184
|
+
const completedTasks = allTasks.filter((t) => t.status === 'done' || t.completedAt != null);
|
|
185
|
+
// -------------------------------------------------------------------------
|
|
186
|
+
// WF-001: AC compliance — tasks with ≥3 acceptance criteria
|
|
187
|
+
// -------------------------------------------------------------------------
|
|
188
|
+
const wf001Violations = [];
|
|
189
|
+
let tasksWithAC = 0;
|
|
190
|
+
let tasksWithoutAC = 0;
|
|
191
|
+
for (const task of nonEpicTasks) {
|
|
192
|
+
const ac = parseAcceptanceCriteria(task.acceptanceJson);
|
|
193
|
+
if (ac.length >= 3) {
|
|
194
|
+
tasksWithAC++;
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
tasksWithoutAC++;
|
|
198
|
+
if (wf001Violations.length < 10) {
|
|
199
|
+
wf001Violations.push({
|
|
200
|
+
taskId: task.id,
|
|
201
|
+
rule: 'WF-001',
|
|
202
|
+
detail: `has ${ac.length} AC item(s), needs ≥3`,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
const wf001Total = nonEpicTasks.length;
|
|
208
|
+
const wf001Rate = wf001Total > 0 ? tasksWithAC / wf001Total : 1;
|
|
209
|
+
// -------------------------------------------------------------------------
|
|
210
|
+
// WF-002: Session compliance — completions that occurred inside a session
|
|
211
|
+
// -------------------------------------------------------------------------
|
|
212
|
+
const wf002Violations = [];
|
|
213
|
+
let completionsInSession = 0;
|
|
214
|
+
let completionsOutsideSession = 0;
|
|
215
|
+
for (const event of completionEvents) {
|
|
216
|
+
if (event.sessionId && event.sessionId !== 'unknown' && event.sessionId !== 'system') {
|
|
217
|
+
completionsInSession++;
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
completionsOutsideSession++;
|
|
221
|
+
if (wf002Violations.length < 5) {
|
|
222
|
+
wf002Violations.push({
|
|
223
|
+
taskId: event.taskId ?? 'unknown',
|
|
224
|
+
rule: 'WF-002',
|
|
225
|
+
detail: 'task completed outside an active session',
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
const wf002Total = completionEvents.length;
|
|
231
|
+
const wf002Rate = wf002Total > 0 ? completionsInSession / wf002Total : 1;
|
|
232
|
+
// -------------------------------------------------------------------------
|
|
233
|
+
// WF-003: Gate compliance — completed tasks with verification initialized
|
|
234
|
+
// -------------------------------------------------------------------------
|
|
235
|
+
const wf003Violations = [];
|
|
236
|
+
let tasksWithGates = 0;
|
|
237
|
+
let tasksWithoutGates = 0;
|
|
238
|
+
let totalGatesSet = 0;
|
|
239
|
+
let gateTaskCount = 0;
|
|
240
|
+
for (const task of completedTasks) {
|
|
241
|
+
const verification = parseVerification(task.verificationJson);
|
|
242
|
+
if (verification) {
|
|
243
|
+
tasksWithGates++;
|
|
244
|
+
const gates = (verification.gates ?? {});
|
|
245
|
+
const setCount = countTrueGates(gates);
|
|
246
|
+
totalGatesSet += setCount;
|
|
247
|
+
gateTaskCount++;
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
tasksWithoutGates++;
|
|
251
|
+
if (wf003Violations.length < 5) {
|
|
252
|
+
wf003Violations.push({
|
|
253
|
+
taskId: task.id,
|
|
254
|
+
rule: 'WF-003',
|
|
255
|
+
detail: 'completed without verification gates',
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
const wf003Total = completedTasks.length;
|
|
261
|
+
const wf003Rate = wf003Total > 0 ? tasksWithGates / wf003Total : 1;
|
|
262
|
+
const avgGatesSet = gateTaskCount > 0 ? Math.round((totalGatesSet / gateTaskCount) * 100) / 100 : 0;
|
|
263
|
+
// -------------------------------------------------------------------------
|
|
264
|
+
// WF-004: Full gate compliance — tasks with verification where all 3 gates are set
|
|
265
|
+
// -------------------------------------------------------------------------
|
|
266
|
+
const wf004Violations = [];
|
|
267
|
+
let allGatesSet = 0;
|
|
268
|
+
let partialGates = 0;
|
|
269
|
+
for (const task of completedTasks) {
|
|
270
|
+
const verification = parseVerification(task.verificationJson);
|
|
271
|
+
if (!verification)
|
|
272
|
+
continue; // Already captured in WF-003
|
|
273
|
+
const gates = (verification.gates ?? {});
|
|
274
|
+
const setCount = countTrueGates(gates);
|
|
275
|
+
const totalGates = Object.keys(gates).length;
|
|
276
|
+
if (totalGates > 0 && setCount === totalGates) {
|
|
277
|
+
allGatesSet++;
|
|
278
|
+
}
|
|
279
|
+
else if (totalGates > 0) {
|
|
280
|
+
partialGates++;
|
|
281
|
+
if (wf004Violations.length < 5) {
|
|
282
|
+
wf004Violations.push({
|
|
283
|
+
taskId: task.id,
|
|
284
|
+
rule: 'WF-004',
|
|
285
|
+
detail: `only ${setCount}/${totalGates} verification gates set`,
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
const wf004Total = tasksWithGates;
|
|
291
|
+
const wf004Rate = wf004Total > 0 ? allGatesSet / wf004Total : 1;
|
|
292
|
+
// -------------------------------------------------------------------------
|
|
293
|
+
// WF-005: Session binding on creation — tasks with sessionId set
|
|
294
|
+
// -------------------------------------------------------------------------
|
|
295
|
+
const wf005Violations = [];
|
|
296
|
+
let tasksWithSessionBinding = 0;
|
|
297
|
+
let tasksWithoutSessionBinding = 0;
|
|
298
|
+
for (const task of nonEpicTasks) {
|
|
299
|
+
if (task.sessionId && task.sessionId !== 'unknown' && task.sessionId !== 'system') {
|
|
300
|
+
tasksWithSessionBinding++;
|
|
301
|
+
}
|
|
302
|
+
else {
|
|
303
|
+
tasksWithoutSessionBinding++;
|
|
304
|
+
if (wf005Violations.length < 5) {
|
|
305
|
+
wf005Violations.push({
|
|
306
|
+
taskId: task.id,
|
|
307
|
+
rule: 'WF-005',
|
|
308
|
+
detail: 'created without session binding',
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
const wf005Total = nonEpicTasks.length;
|
|
314
|
+
const wf005Rate = wf005Total > 0 ? tasksWithSessionBinding / wf005Total : 1;
|
|
315
|
+
// -------------------------------------------------------------------------
|
|
316
|
+
// Aggregate
|
|
317
|
+
// -------------------------------------------------------------------------
|
|
318
|
+
const rules = [
|
|
319
|
+
{
|
|
320
|
+
rule: 'WF-001',
|
|
321
|
+
description: 'Tasks must have ≥3 acceptance criteria',
|
|
322
|
+
total: wf001Total,
|
|
323
|
+
violations: tasksWithoutAC,
|
|
324
|
+
complianceRate: Math.round(wf001Rate * 10000) / 10000,
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
rule: 'WF-002',
|
|
328
|
+
description: 'Task completions must occur within an active session',
|
|
329
|
+
total: wf002Total,
|
|
330
|
+
violations: completionsOutsideSession,
|
|
331
|
+
complianceRate: Math.round(wf002Rate * 10000) / 10000,
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
rule: 'WF-003',
|
|
335
|
+
description: 'Completed tasks should have verification gates initialized',
|
|
336
|
+
total: wf003Total,
|
|
337
|
+
violations: tasksWithoutGates,
|
|
338
|
+
complianceRate: Math.round(wf003Rate * 10000) / 10000,
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
rule: 'WF-004',
|
|
342
|
+
description: 'Verification gates should all be marked passed before completion',
|
|
343
|
+
total: wf004Total,
|
|
344
|
+
violations: partialGates,
|
|
345
|
+
complianceRate: Math.round(wf004Rate * 10000) / 10000,
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
rule: 'WF-005',
|
|
349
|
+
description: 'Tasks must be created with active session binding',
|
|
350
|
+
total: wf005Total,
|
|
351
|
+
violations: tasksWithoutSessionBinding,
|
|
352
|
+
complianceRate: Math.round(wf005Rate * 10000) / 10000,
|
|
353
|
+
},
|
|
354
|
+
];
|
|
355
|
+
// Overall score: weighted average (MUST rules count double vs SHOULD)
|
|
356
|
+
// WF-001, WF-002, WF-005 are MUST; WF-003, WF-004 are SHOULD
|
|
357
|
+
const mustWeight = 2;
|
|
358
|
+
const shouldWeight = 1;
|
|
359
|
+
const wf001w = wf001Total > 0 ? mustWeight : 0;
|
|
360
|
+
const wf002w = wf002Total > 0 ? mustWeight : 0;
|
|
361
|
+
const wf003w = wf003Total > 0 ? shouldWeight : 0;
|
|
362
|
+
const wf004w = wf004Total > 0 ? shouldWeight : 0;
|
|
363
|
+
const wf005w = wf005Total > 0 ? mustWeight : 0;
|
|
364
|
+
const totalWeight = wf001w + wf002w + wf003w + wf004w + wf005w;
|
|
365
|
+
const overallScore = totalWeight > 0
|
|
366
|
+
? (wf001w * wf001Rate +
|
|
367
|
+
wf002w * wf002Rate +
|
|
368
|
+
wf003w * wf003Rate +
|
|
369
|
+
wf004w * wf004Rate +
|
|
370
|
+
wf005w * wf005Rate) /
|
|
371
|
+
totalWeight
|
|
372
|
+
: 1;
|
|
373
|
+
const roundedScore = Math.round(overallScore * 10000) / 10000;
|
|
374
|
+
const violationSamples = [
|
|
375
|
+
...wf001Violations,
|
|
376
|
+
...wf002Violations,
|
|
377
|
+
...wf003Violations,
|
|
378
|
+
...wf004Violations,
|
|
379
|
+
...wf005Violations,
|
|
380
|
+
].slice(0, 20);
|
|
381
|
+
return {
|
|
382
|
+
generatedAt,
|
|
383
|
+
since,
|
|
384
|
+
overallScore: roundedScore,
|
|
385
|
+
grade: gradeFromScore(roundedScore),
|
|
386
|
+
rules,
|
|
387
|
+
violationSamples,
|
|
388
|
+
summary: {
|
|
389
|
+
totalTasks: allTasks.length,
|
|
390
|
+
completedTasks: completedTasks.length,
|
|
391
|
+
tasksWithAC,
|
|
392
|
+
tasksWithoutAC,
|
|
393
|
+
completionsInSession,
|
|
394
|
+
completionsOutsideSession,
|
|
395
|
+
tasksWithGates,
|
|
396
|
+
avgGatesSet,
|
|
397
|
+
},
|
|
398
|
+
};
|
|
399
|
+
}
|
|
400
|
+
//# sourceMappingURL=workflow-telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-telemetry.js","sourceRoot":"","sources":["../../src/stats/workflow-telemetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -146,7 +146,10 @@ export const brainObservations = sqliteTable('brain_observations', {
|
|
|
146
146
|
index('idx_brain_observations_created_at').on(table.createdAt),
|
|
147
147
|
index('idx_brain_observations_source_type').on(table.sourceType),
|
|
148
148
|
index('idx_brain_observations_source_session').on(table.sourceSessionId),
|
|
149
|
-
|
|
149
|
+
// T033: composite replaces single-col content_hash; see brain migration
|
|
150
|
+
index('idx_brain_observations_content_hash_created_at').on(table.contentHash, table.createdAt),
|
|
151
|
+
// T033: type + project compound filter optimization
|
|
152
|
+
index('idx_brain_observations_type_project').on(table.type, table.project),
|
|
150
153
|
]);
|
|
151
154
|
// === BRAIN_STICKY_NOTES TABLE ===
|
|
152
155
|
/** Ephemeral sticky notes for quick capture before formal classification. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-schema.js","sourceRoot":"","sources":["../../src/store/brain-schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"brain-schema.js","sourceRoot":"","sources":["../../src/store/brain-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/store/converters.js
CHANGED
|
@@ -41,6 +41,7 @@ export function rowToTask(row) {
|
|
|
41
41
|
sessionId: row.sessionId ?? null,
|
|
42
42
|
}
|
|
43
43
|
: undefined,
|
|
44
|
+
pipelineStage: row.pipelineStage ?? undefined,
|
|
44
45
|
};
|
|
45
46
|
}
|
|
46
47
|
/** Convert a domain Task to a database row for insert/upsert. */
|
|
@@ -74,6 +75,7 @@ export function taskToRow(task) {
|
|
|
74
75
|
createdBy: task.provenance?.createdBy ?? null,
|
|
75
76
|
modifiedBy: task.provenance?.modifiedBy ?? null,
|
|
76
77
|
sessionId: task.provenance?.sessionId ?? null,
|
|
78
|
+
pipelineStage: task.pipelineStage ?? null,
|
|
77
79
|
};
|
|
78
80
|
}
|
|
79
81
|
/** Convert a domain Task to a row suitable for archived tasks. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converters.js","sourceRoot":"","sources":["../../src/store/converters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIjE,0DAA0D;AAC1D,MAAM,UAAU,SAAS,CAAC,GAAY;IACpC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAoB;QAChC,QAAQ,EAAE,GAAG,CAAC,QAAwB;QACtC,IAAI,EAAG,GAAG,CAAC,IAAiB,IAAI,SAAS;QACzC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;QACnC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,SAAS;QAC7B,IAAI,EAAG,GAAG,CAAC,IAAiB,IAAI,SAAS;QACzC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;QACnC,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,SAAS;QACjD,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;QAClC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;QAC1C,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;QACxC,UAAU,EAAE,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC;QAClD,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;QACxC,OAAO,EAAE,SAAS,EAAE,8CAA8C;QAClE,MAAM,EAAG,GAAG,CAAC,MAAyB,IAAI,SAAS;QACnD,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;QACrC,aAAa,EAAG,GAAG,CAAC,aAAuC,IAAI,SAAS;QACxE,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;QAC/C,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,SAAS;QACrC,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;QACzC,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;QACzC,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,IAAI,SAAS;QACvD,YAAY,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;QACpF,UAAU,EACR,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS;YAC9C,CAAC,CAAC;gBACE,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI;gBAChC,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,IAAI;gBAClC,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI;aACjC;YACH,CAAC,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"converters.js","sourceRoot":"","sources":["../../src/store/converters.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,8 +21,17 @@
|
|
|
21
21
|
* This is a best-effort cleanup — brain.db is a cognitive store and minor
|
|
22
22
|
* staleness is preferable to failing task deletions due to brain.db errors.
|
|
23
23
|
*
|
|
24
|
+
* @remarks
|
|
25
|
+
* Best-effort: failures in brain.db cleanup do not propagate to the caller.
|
|
26
|
+
* A background reconciliation pass can clean up any residual stale refs.
|
|
27
|
+
*
|
|
24
28
|
* @param taskId - The ID of the task being deleted from tasks.db
|
|
25
29
|
* @param cwd - Optional working directory
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* await cleanupBrainRefsOnTaskDelete('T042');
|
|
34
|
+
* ```
|
|
26
35
|
*/
|
|
27
36
|
export declare function cleanupBrainRefsOnTaskDelete(taskId: string, cwd?: string): Promise<void>;
|
|
28
37
|
/**
|
|
@@ -31,8 +40,16 @@ export declare function cleanupBrainRefsOnTaskDelete(taskId: string, cwd?: strin
|
|
|
31
40
|
* Handles:
|
|
32
41
|
* - XFKB-004: Nullify brain_observations.source_session_id where it matches
|
|
33
42
|
*
|
|
43
|
+
* @remarks
|
|
44
|
+
* Best-effort: failures do not propagate. brain.db may not be initialised.
|
|
45
|
+
*
|
|
34
46
|
* @param sessionId - The ID of the session being deleted from tasks.db
|
|
35
47
|
* @param cwd - Optional working directory
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* await cleanupBrainRefsOnSessionDelete('ses_20260321_abc');
|
|
52
|
+
* ```
|
|
36
53
|
*/
|
|
37
54
|
export declare function cleanupBrainRefsOnSessionDelete(sessionId: string, cwd?: string): Promise<void>;
|
|
38
55
|
/**
|
|
@@ -41,8 +58,17 @@ export declare function cleanupBrainRefsOnSessionDelete(sessionId: string, cwd?:
|
|
|
41
58
|
*
|
|
42
59
|
* Provides write-guard for XFKB-001/002/003 on brain.db insert.
|
|
43
60
|
*
|
|
61
|
+
* @remarks
|
|
62
|
+
* Used as a write-guard before inserting cross-DB references into brain.db.
|
|
63
|
+
*
|
|
44
64
|
* @param taskId - Task ID to verify
|
|
45
65
|
* @param tasksDb - The tasks.db drizzle instance
|
|
66
|
+
* @returns True if the task exists in tasks.db
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* if (await taskExistsInTasksDb('T042', db)) { /* safe to reference *\/ }
|
|
71
|
+
* ```
|
|
46
72
|
*/
|
|
47
73
|
export declare function taskExistsInTasksDb(taskId: string, tasksDb: Awaited<ReturnType<typeof import('./sqlite.js').getDb>>): Promise<boolean>;
|
|
48
74
|
/**
|
|
@@ -51,8 +77,17 @@ export declare function taskExistsInTasksDb(taskId: string, tasksDb: Awaited<Ret
|
|
|
51
77
|
*
|
|
52
78
|
* Provides write-guard for XFKB-004 on brain.db insert.
|
|
53
79
|
*
|
|
80
|
+
* @remarks
|
|
81
|
+
* Used as a write-guard before inserting cross-DB references into brain.db.
|
|
82
|
+
*
|
|
54
83
|
* @param sessionId - Session ID to verify
|
|
55
84
|
* @param tasksDb - The tasks.db drizzle instance
|
|
85
|
+
* @returns True if the session exists in tasks.db
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* if (await sessionExistsInTasksDb('ses_abc', db)) { /* safe to reference *\/ }
|
|
90
|
+
* ```
|
|
56
91
|
*/
|
|
57
92
|
export declare function sessionExistsInTasksDb(sessionId: string, tasksDb: Awaited<ReturnType<typeof import('./sqlite.js').getDb>>): Promise<boolean>;
|
|
58
93
|
//# sourceMappingURL=cross-db-cleanup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-db-cleanup.d.ts","sourceRoot":"","sources":["../../src/store/cross-db-cleanup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH
|
|
1
|
+
{"version":3,"file":"cross-db-cleanup.d.ts","sourceRoot":"","sources":["../../src/store/cross-db-cleanup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C9F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,+BAA+B,CACnD,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,cAAc,aAAa,EAAE,KAAK,CAAC,CAAC,GAC/D,OAAO,CAAC,OAAO,CAAC,CASlB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,cAAc,aAAa,EAAE,KAAK,CAAC,CAAC,GAC/D,OAAO,CAAC,OAAO,CAAC,CASlB"}
|