instar 1.3.4 → 1.3.6

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.
@@ -0,0 +1,520 @@
1
+ /**
2
+ * FrameworkIssueLedger — durable record of behavioral issues observed while
3
+ * onboarding an agent framework onto Instar (the Framework-Onboarding Mentor
4
+ * System, docs/specs/FRAMEWORK-ONBOARDING-MENTOR-SPEC.md).
5
+ *
6
+ * Two tables, by design (spec §13):
7
+ * - `framework_issues` — canonical root-cause records (one per distinct problem)
8
+ * - `framework_observations` — per-occurrence evidence (one per time it happened)
9
+ *
10
+ * The split exists because "false merges are worse than false splits" — a
11
+ * single-row model would bury distinct root causes. Recurrence is counted in
12
+ * distinct *episodes* (not raw ticks) via `episode_key`, materialized into
13
+ * `recurrence_count` on the canonical row so the playbook ranking never pays a
14
+ * read-time COUNT (spec §13.4).
15
+ *
16
+ * Signal-only: this ledger never gates a job, blocks a message, or constrains a
17
+ * session. Stage B of the mentor loop writes observations; the read-only HTTP
18
+ * routes (`/framework-issues`, `/framework-issues/playbook`) serve them. All
19
+ * authority to act on an entry rests with the human (spec §6).
20
+ *
21
+ * Security (spec §17): `evidence` is an OPAQUE reference only — never inlined
22
+ * log text or diff hunks — and is secret-scanned at capture. All captured
23
+ * free-text is length-capped + sanitized on write. Every query uses a prepared
24
+ * statement with bound parameters; enum columns are validated against fixed
25
+ * allowlists on write.
26
+ */
27
+ import Database from 'better-sqlite3';
28
+ import fs from 'node:fs';
29
+ import path from 'node:path';
30
+ import crypto from 'node:crypto';
31
+ import { NativeModuleHealer } from '../memory/NativeModuleHealer.js';
32
+ // ── Enums / allowlists (validated on write — spec §13.8, §17) ───────────────
33
+ export const ISSUE_BUCKETS = [
34
+ 'framework-limitation',
35
+ 'instar-integration-gap',
36
+ 'generic-agent-mistake',
37
+ ];
38
+ export const ISSUE_SEVERITIES = ['low', 'medium', 'high'];
39
+ export const ISSUE_STATUSES = ['open', "spec'd", 'fixed', 'wont-fix'];
40
+ export const PLAYBOOK_STATUSES = ['none', 'candidate', 'extracted', 'superseded'];
41
+ /** Buckets that generalize to the next framework feed the playbook (spec §13.4). */
42
+ const GENERALIZABLE_BUCKETS = new Set([
43
+ 'framework-limitation',
44
+ 'instar-integration-gap',
45
+ ]);
46
+ const SEVERITY_WEIGHT = { low: 1, medium: 3, high: 9 };
47
+ // ── Tunables (spec §13.2 retention, §13.4 caps) ─────────────────────────────
48
+ const MAX_FREE_TEXT = 500; // length-cap for title / signature / rationale (§17)
49
+ const MAX_EVIDENCE = 1024; // evidence pointer cap (§13.2 — pointer, not content)
50
+ const RETENTION_KEEP_FIRST = 5; // keep first N observations per issue (§13.2)
51
+ const RETENTION_KEEP_LAST = 20; // + last M
52
+ const PROBABLE_LOOP_PER_HOUR = 12; // obs/hr above which an issue is flagged probable-loop (§13.4)
53
+ const RECENCY_HALF_LIFE_MS = 30 * 24 * 60 * 60 * 1000; // 30d decay on impactScore (§13.4)
54
+ // ── Schema (spec §13.1 / §13.2) ─────────────────────────────────────────────
55
+ const SCHEMA = [
56
+ `CREATE TABLE IF NOT EXISTS framework_issues (
57
+ id TEXT PRIMARY KEY,
58
+ framework TEXT NOT NULL,
59
+ bucket TEXT NOT NULL,
60
+ bucket_primary TEXT,
61
+ title TEXT NOT NULL,
62
+ severity TEXT NOT NULL DEFAULT 'medium',
63
+ status TEXT NOT NULL DEFAULT 'open',
64
+ dedup_key TEXT NOT NULL,
65
+ signature TEXT,
66
+ recurrence_count INTEGER NOT NULL DEFAULT 0,
67
+ first_seen_version TEXT,
68
+ last_seen_version TEXT,
69
+ fixed_in_version TEXT,
70
+ regressed_from_issue_id TEXT,
71
+ playbook_status TEXT NOT NULL DEFAULT 'none',
72
+ wont_fix_reason TEXT,
73
+ related_spec TEXT,
74
+ probable_loop INTEGER NOT NULL DEFAULT 0,
75
+ created_at INTEGER NOT NULL,
76
+ updated_at INTEGER NOT NULL
77
+ )`,
78
+ `CREATE UNIQUE INDEX IF NOT EXISTS idx_fwissues_dedup ON framework_issues(framework, dedup_key)`,
79
+ `CREATE INDEX IF NOT EXISTS idx_fwissues_framework_pb ON framework_issues(framework, playbook_status)`,
80
+ `CREATE INDEX IF NOT EXISTS idx_fwissues_bucket ON framework_issues(bucket)`,
81
+ `CREATE INDEX IF NOT EXISTS idx_fwissues_status ON framework_issues(status)`,
82
+ `CREATE TABLE IF NOT EXISTS framework_observations (
83
+ id TEXT PRIMARY KEY,
84
+ issue_id TEXT NOT NULL,
85
+ framework TEXT NOT NULL,
86
+ evidence TEXT,
87
+ observed_version TEXT,
88
+ observed_at INTEGER NOT NULL,
89
+ tick_id TEXT,
90
+ episode_key TEXT NOT NULL
91
+ )`,
92
+ `CREATE INDEX IF NOT EXISTS idx_fwobs_issue ON framework_observations(issue_id)`,
93
+ `CREATE UNIQUE INDEX IF NOT EXISTS idx_fwobs_episode ON framework_observations(issue_id, episode_key)`,
94
+ `CREATE INDEX IF NOT EXISTS idx_fwobs_observed_at ON framework_observations(observed_at)`,
95
+ // Capture-funnel (spec §5/§18): EVERY Stage-B capture run is logged here —
96
+ // including runs that found nothing — so an inert/broken writer (runs > 0,
97
+ // observations stuck at 0) is distinguishable from "ran, genuinely nothing to
98
+ // report." The North Star anti-pattern guard: a silent no-op writer cannot
99
+ // masquerade as a healthy quiet one.
100
+ `CREATE TABLE IF NOT EXISTS framework_capture_runs (
101
+ id TEXT PRIMARY KEY,
102
+ framework TEXT NOT NULL,
103
+ tick_id TEXT,
104
+ findings_count INTEGER NOT NULL DEFAULT 0,
105
+ observations_written INTEGER NOT NULL DEFAULT 0,
106
+ ran_at INTEGER NOT NULL
107
+ )`,
108
+ `CREATE INDEX IF NOT EXISTS idx_fwruns_framework ON framework_capture_runs(framework)`,
109
+ `CREATE INDEX IF NOT EXISTS idx_fwruns_ran_at ON framework_capture_runs(ran_at)`,
110
+ ];
111
+ // ── Helpers ─────────────────────────────────────────────────────────────────
112
+ /**
113
+ * Reject anything that looks like an inlined secret/log-body rather than an
114
+ * opaque pointer (spec §17). Returns a sanitized, length-capped string. We do
115
+ * NOT silently store a suspected secret — we redact it and tag the evidence so
116
+ * the capture is visibly degraded rather than leaking.
117
+ */
118
+ const SECRET_PATTERNS = [
119
+ /\b(sk|pk|rk)-[A-Za-z0-9]{16,}\b/, // api-key-shaped
120
+ /\bBearer\s+[A-Za-z0-9._-]{12,}\b/i,
121
+ /\bxox[baprs]-[A-Za-z0-9-]{10,}\b/, // slack
122
+ /\bgh[pousr]_[A-Za-z0-9]{20,}\b/, // github
123
+ /-----BEGIN [A-Z ]*PRIVATE KEY-----/,
124
+ /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\b/, // jwt
125
+ ];
126
+ export function scanForSecret(s) {
127
+ return SECRET_PATTERNS.some((re) => re.test(s));
128
+ }
129
+ function sanitizeFreeText(s, cap) {
130
+ if (!s)
131
+ return '';
132
+ // Strip control chars; collapse whitespace; cap length.
133
+ // eslint-disable-next-line no-control-regex
134
+ const cleaned = s.replace(/[\x00-\x1f\x7f]/g, " ").replace(/\s+/g, " ").trim();
135
+ return cleaned.length > cap ? cleaned.slice(0, cap) : cleaned;
136
+ }
137
+ function sanitizeEvidence(s) {
138
+ if (!s)
139
+ return null;
140
+ const capped = sanitizeFreeText(s, MAX_EVIDENCE);
141
+ if (scanForSecret(capped)) {
142
+ // Redact the body; keep a marker so the capture is visibly degraded (§17).
143
+ return '[redacted: evidence matched a secret pattern — store an opaque reference, not log content]';
144
+ }
145
+ return capped;
146
+ }
147
+ function assertEnum(value, allowed, field) {
148
+ if (!allowed.includes(value)) {
149
+ throw new Error(`FrameworkIssueLedger: invalid ${field} '${value}' (allowed: ${allowed.join(', ')})`);
150
+ }
151
+ return value;
152
+ }
153
+ // ── Ledger ──────────────────────────────────────────────────────────────────
154
+ export class FrameworkIssueLedger {
155
+ db;
156
+ now;
157
+ constructor(opts) {
158
+ this.now = opts.now ?? (() => Date.now());
159
+ if (opts.dbPath !== ':memory:') {
160
+ fs.mkdirSync(path.dirname(opts.dbPath), { recursive: true });
161
+ }
162
+ this.db = NativeModuleHealer.openWithHealSync('FrameworkIssueLedger', () => new Database(opts.dbPath));
163
+ this.db.pragma('journal_mode = WAL');
164
+ this.db.pragma('synchronous = NORMAL');
165
+ this.db.pragma('busy_timeout = 5000');
166
+ for (const ddl of SCHEMA)
167
+ this.db.exec(ddl);
168
+ }
169
+ /** Stable list of frameworks the ledger has seen — for the route allowlist (spec §5/§17). */
170
+ knownFrameworks() {
171
+ const rows = this.db
172
+ .prepare(`SELECT DISTINCT framework FROM framework_issues ORDER BY framework`)
173
+ .all();
174
+ return rows.map((r) => r.framework);
175
+ }
176
+ /**
177
+ * Record one Stage-B observation. Finds-or-creates the canonical issue via
178
+ * (framework, dedupKey); collapses the observation into a distinct episode via
179
+ * episodeKey; increments the materialized recurrence_count only on a new
180
+ * episode (spec §13.4). All writes run in a single transaction (CAS-safe: the
181
+ * UNIQUE(issue_id, episode_key) index is the concurrency guard — a racing
182
+ * duplicate episode insert fails and is counted as already-recorded).
183
+ */
184
+ recordObservation(input) {
185
+ const framework = sanitizeFreeText(input.framework, 120);
186
+ if (!framework)
187
+ throw new Error('FrameworkIssueLedger: framework is required');
188
+ const bucket = assertEnum(input.bucket, ISSUE_BUCKETS, 'bucket');
189
+ const severity = assertEnum(input.severity ?? 'medium', ISSUE_SEVERITIES, 'severity');
190
+ const dedupKey = sanitizeFreeText(input.dedupKey, 200);
191
+ if (!dedupKey)
192
+ throw new Error('FrameworkIssueLedger: dedupKey is required');
193
+ const title = sanitizeFreeText(input.title, MAX_FREE_TEXT) || '(untitled)';
194
+ const signature = input.signature ? sanitizeFreeText(input.signature, MAX_FREE_TEXT) : null;
195
+ const evidence = sanitizeEvidence(input.evidence);
196
+ const observedVersion = input.observedVersion ? sanitizeFreeText(input.observedVersion, 60) : null;
197
+ const tickId = input.tickId ? sanitizeFreeText(input.tickId, 120) : null;
198
+ const episodeKey = sanitizeFreeText(input.episodeKey ?? observedVersion ?? 'default', 200);
199
+ const bucketPrimary = input.bucketPrimary
200
+ ? assertEnum(input.bucketPrimary, ISSUE_BUCKETS, 'bucketPrimary')
201
+ : null;
202
+ const relatedSpec = input.relatedSpec ? sanitizeFreeText(input.relatedSpec, 200) : null;
203
+ const ts = this.now();
204
+ const txn = this.db.transaction(() => {
205
+ // Find-or-create canonical issue.
206
+ let issue = this.db
207
+ .prepare(`SELECT * FROM framework_issues WHERE framework = ? AND dedup_key = ?`)
208
+ .get(framework, dedupKey);
209
+ let created = false;
210
+ let issueId;
211
+ if (!issue) {
212
+ issueId = crypto.randomUUID();
213
+ this.db
214
+ .prepare(`INSERT INTO framework_issues
215
+ (id, framework, bucket, bucket_primary, title, severity, status, dedup_key,
216
+ signature, recurrence_count, first_seen_version, last_seen_version,
217
+ playbook_status, probable_loop, created_at, updated_at)
218
+ VALUES (@id, @framework, @bucket, @bucketPrimary, @title, @severity, 'open', @dedupKey,
219
+ @signature, 0, @observedVersion, @observedVersion, 'none', 0, @ts, @ts)`)
220
+ .run({ id: issueId, framework, bucket, bucketPrimary, title, severity, dedupKey, signature, observedVersion, ts });
221
+ created = true;
222
+ issue = { id: issueId };
223
+ }
224
+ else {
225
+ issueId = issue.id;
226
+ // Refresh last-seen + (non-destructively) escalate severity if higher.
227
+ this.db
228
+ .prepare(`UPDATE framework_issues
229
+ SET last_seen_version = COALESCE(@observedVersion, last_seen_version),
230
+ severity = CASE WHEN @newWeight > @oldWeight THEN @severity ELSE severity END,
231
+ updated_at = @ts
232
+ WHERE id = @id`)
233
+ .run({
234
+ id: issueId,
235
+ observedVersion,
236
+ severity,
237
+ newWeight: SEVERITY_WEIGHT[severity],
238
+ oldWeight: SEVERITY_WEIGHT[issue.severity ?? 'medium'],
239
+ ts,
240
+ });
241
+ }
242
+ // Insert the observation as a distinct episode. UNIQUE(issue_id, episode_key)
243
+ // collapses repeats within a fix-window to one episode (spec §13.4).
244
+ let episodeRecorded = false;
245
+ const obsId = crypto.randomUUID();
246
+ const insert = this.db
247
+ .prepare(`INSERT OR IGNORE INTO framework_observations
248
+ (id, issue_id, framework, evidence, observed_version, observed_at, tick_id, episode_key)
249
+ VALUES (@obsId, @issueId, @framework, @evidence, @observedVersion, @ts, @tickId, @episodeKey)`)
250
+ .run({ obsId, issueId, framework, evidence, observedVersion, ts, tickId, episodeKey });
251
+ episodeRecorded = insert.changes > 0;
252
+ if (episodeRecorded) {
253
+ this.db
254
+ .prepare(`UPDATE framework_issues SET recurrence_count = recurrence_count + 1, updated_at = ? WHERE id = ?`)
255
+ .run(ts, issueId);
256
+ }
257
+ // Apply retention: keep first N + last M observations for this issue (§13.2).
258
+ this.pruneObservations(issueId);
259
+ // Probable-loop flag: too many observations in the trailing hour (§13.4).
260
+ const recentCount = this.db
261
+ .prepare(`SELECT COUNT(*) AS c FROM framework_observations WHERE issue_id = ? AND observed_at >= ?`)
262
+ .get(issueId, ts - 60 * 60 * 1000);
263
+ const probableLoop = recentCount.c >= PROBABLE_LOOP_PER_HOUR;
264
+ this.db
265
+ .prepare(`UPDATE framework_issues SET probable_loop = ? WHERE id = ?`)
266
+ .run(probableLoop ? 1 : 0, issueId);
267
+ const after = this.db
268
+ .prepare(`SELECT recurrence_count FROM framework_issues WHERE id = ?`)
269
+ .get(issueId);
270
+ return { issueId, created, episodeRecorded, recurrenceCount: after.recurrence_count, probableLoop };
271
+ });
272
+ return txn();
273
+ }
274
+ /** Retention pruning — keep first N + last M observations per issue (spec §13.2). */
275
+ pruneObservations(issueId) {
276
+ const total = this.db
277
+ .prepare(`SELECT COUNT(*) AS c FROM framework_observations WHERE issue_id = ?`)
278
+ .get(issueId);
279
+ if (total.c <= RETENTION_KEEP_FIRST + RETENTION_KEEP_LAST)
280
+ return;
281
+ // Delete the middle band: everything not in the first-N or last-M by observed_at.
282
+ this.db
283
+ .prepare(`DELETE FROM framework_observations
284
+ WHERE issue_id = @issueId
285
+ AND id NOT IN (
286
+ SELECT id FROM framework_observations WHERE issue_id = @issueId ORDER BY observed_at ASC LIMIT @first
287
+ )
288
+ AND id NOT IN (
289
+ SELECT id FROM framework_observations WHERE issue_id = @issueId ORDER BY observed_at DESC LIMIT @last
290
+ )`)
291
+ .run({ issueId, first: RETENTION_KEEP_FIRST, last: RETENTION_KEEP_LAST });
292
+ }
293
+ /**
294
+ * Single-writer CAS mutate of an issue's mutable fields (status, bucket,
295
+ * playbookStatus, regression link, etc.). Follows CommitmentTracker's
296
+ * read-modify-write-with-version-check pattern; enum fields are validated.
297
+ * `wont-fix` requires a reason (spec §13.7).
298
+ */
299
+ updateIssue(issueId, patch) {
300
+ const txn = this.db.transaction(() => {
301
+ const cur = this.db.prepare(`SELECT * FROM framework_issues WHERE id = ?`).get(issueId);
302
+ if (!cur)
303
+ return null;
304
+ const status = patch.status ? assertEnum(patch.status, ISSUE_STATUSES, 'status') : cur.status;
305
+ const bucket = patch.bucket ? assertEnum(patch.bucket, ISSUE_BUCKETS, 'bucket') : cur.bucket;
306
+ const playbookStatus = patch.playbookStatus
307
+ ? assertEnum(patch.playbookStatus, PLAYBOOK_STATUSES, 'playbookStatus')
308
+ : cur.playbook_status;
309
+ const bucketPrimary = patch.bucketPrimary !== undefined
310
+ ? patch.bucketPrimary
311
+ ? assertEnum(patch.bucketPrimary, ISSUE_BUCKETS, 'bucketPrimary')
312
+ : null
313
+ : cur.bucket_primary;
314
+ const wontFixReason = patch.wontFixReason !== undefined ? sanitizeFreeText(patch.wontFixReason ?? '', MAX_FREE_TEXT) || null : cur.wont_fix_reason;
315
+ if (status === 'wont-fix' && !wontFixReason) {
316
+ throw new Error('FrameworkIssueLedger: wont-fix requires a wontFixReason (spec §13.7)');
317
+ }
318
+ this.db
319
+ .prepare(`UPDATE framework_issues SET
320
+ status = @status, bucket = @bucket, bucket_primary = @bucketPrimary,
321
+ playbook_status = @playbookStatus,
322
+ fixed_in_version = @fixedInVersion, regressed_from_issue_id = @regressedFromIssueId,
323
+ wont_fix_reason = @wontFixReason, related_spec = @relatedSpec, updated_at = @ts
324
+ WHERE id = @id`)
325
+ .run({
326
+ id: issueId,
327
+ status,
328
+ bucket,
329
+ bucketPrimary,
330
+ playbookStatus,
331
+ fixedInVersion: patch.fixedInVersion !== undefined ? patch.fixedInVersion : cur.fixed_in_version,
332
+ regressedFromIssueId: patch.regressedFromIssueId !== undefined
333
+ ? patch.regressedFromIssueId
334
+ : cur.regressed_from_issue_id,
335
+ wontFixReason,
336
+ relatedSpec: patch.relatedSpec !== undefined ? patch.relatedSpec : cur.related_spec,
337
+ ts: this.now(),
338
+ });
339
+ return this.getIssue(issueId);
340
+ });
341
+ return txn();
342
+ }
343
+ /**
344
+ * Suggest a regression link: a new issue whose signature/dedupKey matches a
345
+ * previously-`fixed` issue is a candidate regression (spec §13.5). Returns the
346
+ * matching fixed issues (does NOT auto-link — review decides).
347
+ */
348
+ suggestRegressions(input) {
349
+ const rows = this.db
350
+ .prepare(`SELECT * FROM framework_issues
351
+ WHERE framework = ? AND status = 'fixed'
352
+ AND (dedup_key = ? OR (signature IS NOT NULL AND signature = ?))`)
353
+ .all(input.framework, input.dedupKey, input.signature ?? '__none__');
354
+ return rows.map((r) => this.rowToIssue(r));
355
+ }
356
+ getIssue(id) {
357
+ const r = this.db.prepare(`SELECT * FROM framework_issues WHERE id = ?`).get(id);
358
+ return r ? this.rowToIssue(r) : null;
359
+ }
360
+ listIssues(q = {}) {
361
+ const clauses = [];
362
+ const params = {};
363
+ if (q.framework) {
364
+ clauses.push(`framework = @framework`);
365
+ params.framework = q.framework;
366
+ }
367
+ if (q.bucket) {
368
+ clauses.push(`bucket = @bucket`);
369
+ params.bucket = assertEnum(q.bucket, ISSUE_BUCKETS, 'bucket');
370
+ }
371
+ if (q.status) {
372
+ clauses.push(`status = @status`);
373
+ params.status = assertEnum(q.status, ISSUE_STATUSES, 'status');
374
+ }
375
+ const where = clauses.length ? `WHERE ${clauses.join(' AND ')}` : '';
376
+ const limit = clampLimit(q.limit);
377
+ const rows = this.db
378
+ .prepare(`SELECT * FROM framework_issues ${where} ORDER BY updated_at DESC LIMIT @limit`)
379
+ .all({ ...params, limit });
380
+ return rows.map((r) => this.rowToIssue(r));
381
+ }
382
+ /**
383
+ * The onboarding playbook for `targetFramework`: generalizable lessons from
384
+ * PRIOR (other) frameworks, ranked by impactScore (spec §13.6). The playbook
385
+ * for X is sourced from frameworks != X — never X's own issues.
386
+ */
387
+ playbook(q) {
388
+ const limit = clampLimit(q.limit);
389
+ const rows = this.db
390
+ .prepare(`SELECT * FROM framework_issues
391
+ WHERE framework != @targetFramework
392
+ AND bucket IN ('framework-limitation', 'instar-integration-gap')
393
+ AND playbook_status IN ('candidate', 'extracted')`)
394
+ .all({ targetFramework: q.targetFramework });
395
+ return rows
396
+ .map((r) => this.rowToIssue(r))
397
+ .sort((a, b) => b.impactScore - a.impactScore)
398
+ .slice(0, limit);
399
+ }
400
+ observationCount(issueId) {
401
+ const r = this.db
402
+ .prepare(`SELECT COUNT(*) AS c FROM framework_observations WHERE issue_id = ?`)
403
+ .get(issueId);
404
+ return r.c;
405
+ }
406
+ /**
407
+ * Stage-B auto-capture (spec §5, §19.2). The single atomic entry point the
408
+ * mentor tick calls after forensics: it writes every finding to the ledger
409
+ * (no "remember to log" — zero-manual-capture) and ALWAYS logs the run to the
410
+ * capture-funnel, even when `findings` is empty. That funnel row is what makes
411
+ * an inert/broken writer visible: a run that produced zero observations is
412
+ * recorded as a run, so "ran, found nothing" is distinguishable from "never
413
+ * ran." Regression candidates are surfaced for review, never auto-linked
414
+ * (spec §13.5 — promotion is not the writer's call).
415
+ */
416
+ captureRun(input) {
417
+ const framework = sanitizeFreeText(input.framework, 120);
418
+ if (!framework)
419
+ throw new Error('FrameworkIssueLedger: captureRun requires a framework');
420
+ const tickId = input.tickId ? sanitizeFreeText(input.tickId, 120) : null;
421
+ const findings = input.findings ?? [];
422
+ let observationsWritten = 0;
423
+ let newIssues = 0;
424
+ const regressionCandidates = [];
425
+ // Each recordObservation is its own transaction (better-sqlite3 has no
426
+ // nested transactions); the funnel row is written last with the real count.
427
+ for (const finding of findings) {
428
+ const res = this.recordObservation({ ...finding, framework, tickId: tickId ?? undefined });
429
+ if (res.episodeRecorded)
430
+ observationsWritten++;
431
+ if (res.created) {
432
+ newIssues++;
433
+ // A brand-new issue that matches a previously-fixed one is a candidate
434
+ // regression — surface it (review decides), never silently auto-link.
435
+ const candidates = this.suggestRegressions({
436
+ framework,
437
+ dedupKey: finding.dedupKey,
438
+ signature: finding.signature ?? null,
439
+ }).filter((c) => c.id !== res.issueId);
440
+ for (const c of candidates) {
441
+ regressionCandidates.push({ findingDedupKey: finding.dedupKey, candidateIssueId: c.id });
442
+ }
443
+ }
444
+ }
445
+ const runId = crypto.randomUUID();
446
+ this.db
447
+ .prepare(`INSERT INTO framework_capture_runs (id, framework, tick_id, findings_count, observations_written, ran_at)
448
+ VALUES (?, ?, ?, ?, ?, ?)`)
449
+ .run(runId, framework, tickId, findings.length, observationsWritten, this.now());
450
+ return { runId, framework, findingsCount: findings.length, observationsWritten, newIssues, regressionCandidates };
451
+ }
452
+ /** Capture-funnel observability (spec §5/§18). Surfaces ticks→observations so
453
+ * a writer that runs but never writes is visible. */
454
+ captureStats() {
455
+ const totals = this.db
456
+ .prepare(`SELECT COUNT(*) AS runs, COALESCE(SUM(observations_written), 0) AS obs, MAX(ran_at) AS last
457
+ FROM framework_capture_runs`)
458
+ .get();
459
+ const byFw = this.db
460
+ .prepare(`SELECT framework, COUNT(*) AS runs, COALESCE(SUM(observations_written), 0) AS obs, MAX(ran_at) AS last
461
+ FROM framework_capture_runs GROUP BY framework ORDER BY last DESC`)
462
+ .all();
463
+ return {
464
+ totalRuns: totals.runs,
465
+ totalObservationsWritten: totals.obs,
466
+ lastRanAt: totals.last ?? null,
467
+ byFramework: byFw.map((r) => ({ framework: r.framework, runs: r.runs, observations: r.obs, lastRanAt: r.last })),
468
+ };
469
+ }
470
+ rowToIssue(r) {
471
+ const bucket = r.bucket;
472
+ const severity = r.severity ?? 'medium';
473
+ const recurrenceCount = r.recurrence_count ?? 0;
474
+ const updatedAt = r.updated_at ?? 0;
475
+ // Recency decay (spec §13.4): a long-stale issue doesn't permanently dominate.
476
+ const ageMs = Math.max(0, this.now() - updatedAt);
477
+ const decay = Math.pow(0.5, ageMs / RECENCY_HALF_LIFE_MS);
478
+ const impactScore = SEVERITY_WEIGHT[severity] * recurrenceCount * decay;
479
+ return {
480
+ id: r.id,
481
+ framework: r.framework,
482
+ bucket,
483
+ bucketPrimary: r.bucket_primary ?? null,
484
+ title: r.title,
485
+ severity,
486
+ status: r.status,
487
+ dedupKey: r.dedup_key,
488
+ signature: r.signature ?? null,
489
+ recurrenceCount,
490
+ firstSeenVersion: r.first_seen_version ?? null,
491
+ lastSeenVersion: r.last_seen_version ?? null,
492
+ fixedInVersion: r.fixed_in_version ?? null,
493
+ regressedFromIssueId: r.regressed_from_issue_id ?? null,
494
+ playbookStatus: r.playbook_status,
495
+ wontFixReason: r.wont_fix_reason ?? null,
496
+ relatedSpec: r.related_spec ?? null,
497
+ probableLoop: !!r.probable_loop,
498
+ createdAt: r.created_at ?? 0,
499
+ updatedAt,
500
+ generalizable: GENERALIZABLE_BUCKETS.has(bucket),
501
+ impactScore: Math.round(impactScore * 1000) / 1000,
502
+ };
503
+ }
504
+ close() {
505
+ try {
506
+ this.db.close();
507
+ }
508
+ catch {
509
+ /* ignore */
510
+ }
511
+ }
512
+ }
513
+ /** Clamp a list limit to 1..500 (spec §5/§17). */
514
+ export function clampLimit(raw) {
515
+ const n = typeof raw === 'number' ? raw : typeof raw === 'string' ? parseInt(raw, 10) : NaN;
516
+ if (!Number.isFinite(n))
517
+ return 100;
518
+ return Math.max(1, Math.min(500, Math.floor(n)));
519
+ }
520
+ //# sourceMappingURL=FrameworkIssueLedger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FrameworkIssueLedger.js","sourceRoot":"","sources":["../../src/monitoring/FrameworkIssueLedger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAgG/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2E/F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiBvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2B1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,EAC5B,WAAW,GAAE,OAAe,GAC3B,MAAM,CA0nCR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,GAC3B,MAAM,CAuSR"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAgG/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2E/F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiBvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA2B1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,EAC5B,WAAW,GAAE,OAAe,GAC3B,MAAM,CA2nCR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE,OAAe,GAC3B,MAAM,CAuSR"}
@@ -662,6 +662,7 @@ I maintain registries that are the source of truth for specific categories. Thes
662
662
  | My backup history? | \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/backups\` |
663
663
  | My state change history? | \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/git/log\` |
664
664
  | Other agents on this machine? | \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/agents\` |
665
+ | Behavioral issues logged while onboarding a framework? / the onboarding playbook? | \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/framework-issues\` (read-only) + \`/framework-issues/playbook?targetFramework=X\` — the Framework-Onboarding Mentor System's issue ledger (observability only; never gates) |
665
666
  | Project architecture? | This file (CLAUDE.md), then project docs |
666
667
 
667
668
  **Why this matters:** Searching 1000 files to answer a question that a single state file could answer is slower AND less reliable. Broad searches find stale narratives. State files are current. This applies at EVERY level — including sub-agents I spawn. When spawning a research agent, include the relevant state file reference in its prompt so it searches WITH context, not blind.
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/scaffold/templates.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,7 @@ export declare class AgentServer {
47
47
  private toneGate;
48
48
  private tokenLedger;
49
49
  private tokenLedgerPoller;
50
+ private frameworkIssueLedger;
50
51
  private burnDetector;
51
52
  private burnThrottleRunbook;
52
53
  private burnVerifier;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentServer.d.ts","sourceRoot":"","sources":["../../src/server/AgentServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentServer.d.ts","sourceRoot":"","sources":["../../src/server/AgentServer.ts"],"names":[],"mappings":"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"}