instar 1.3.892 → 1.3.893

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.
Files changed (46) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +1 -0
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  5. package/dist/config/ConfigDefaults.js +5 -0
  6. package/dist/config/ConfigDefaults.js.map +1 -1
  7. package/dist/core/PostUpdateMigrator.js +1 -1
  8. package/dist/core/PostUpdateMigrator.js.map +1 -1
  9. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  10. package/dist/core/devGatedFeatures.js +6 -0
  11. package/dist/core/devGatedFeatures.js.map +1 -1
  12. package/dist/core/types.d.ts +8 -0
  13. package/dist/core/types.d.ts.map +1 -1
  14. package/dist/core/types.js.map +1 -1
  15. package/dist/monitoring/BlockerLifecycleLedger.d.ts +47 -0
  16. package/dist/monitoring/BlockerLifecycleLedger.d.ts.map +1 -0
  17. package/dist/monitoring/BlockerLifecycleLedger.js +164 -0
  18. package/dist/monitoring/BlockerLifecycleLedger.js.map +1 -0
  19. package/dist/monitoring/BlockerLifecycleService.d.ts +28 -0
  20. package/dist/monitoring/BlockerLifecycleService.d.ts.map +1 -0
  21. package/dist/monitoring/BlockerLifecycleService.js +211 -0
  22. package/dist/monitoring/BlockerLifecycleService.js.map +1 -0
  23. package/dist/monitoring/CommitmentTracker.d.ts +50 -0
  24. package/dist/monitoring/CommitmentTracker.d.ts.map +1 -1
  25. package/dist/monitoring/CommitmentTracker.js +235 -28
  26. package/dist/monitoring/CommitmentTracker.js.map +1 -1
  27. package/dist/monitoring/guardManifest.d.ts.map +1 -1
  28. package/dist/monitoring/guardManifest.js +10 -0
  29. package/dist/monitoring/guardManifest.js.map +1 -1
  30. package/dist/scaffold/templates.js +1 -1
  31. package/dist/server/AgentServer.d.ts +1 -0
  32. package/dist/server/AgentServer.d.ts.map +1 -1
  33. package/dist/server/AgentServer.js +23 -1
  34. package/dist/server/AgentServer.js.map +1 -1
  35. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  36. package/dist/server/CapabilityIndex.js +3 -1
  37. package/dist/server/CapabilityIndex.js.map +1 -1
  38. package/dist/server/routes.d.ts +1 -0
  39. package/dist/server/routes.d.ts.map +1 -1
  40. package/dist/server/routes.js +189 -2
  41. package/dist/server/routes.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/data/builtin-manifest.json +64 -64
  44. package/src/scaffold/templates.ts +1 -1
  45. package/upgrades/1.3.893.md +27 -0
  46. package/upgrades/side-effects/throughput-metrics.md +86 -0
@@ -0,0 +1,47 @@
1
+ export type BlockerFactor = 'request-to-persist' | 'clear-latency';
2
+ export type BlockerOutcome = 'observed' | 'legacy-missing-start' | 'clock-regression-or-implausible';
3
+ export interface BlockerMetricRecord {
4
+ origin: string;
5
+ factor: BlockerFactor;
6
+ sourceEventId: string;
7
+ observedAtMs: number;
8
+ latencyMs: number | null;
9
+ outcome: BlockerOutcome;
10
+ }
11
+ export interface BlockerLedgerCounters {
12
+ attempted: number;
13
+ inserted: number;
14
+ deduped: number;
15
+ failed: number;
16
+ queueOverflow: number;
17
+ reconciled: number;
18
+ }
19
+ export declare class BlockerLifecycleLedger {
20
+ private readonly opts;
21
+ private db;
22
+ private unregisterSqlite;
23
+ private queue;
24
+ private draining;
25
+ private readonly countersState;
26
+ constructor(opts: {
27
+ dbPath: string;
28
+ now?: () => number;
29
+ });
30
+ available(): boolean;
31
+ counters(): BlockerLedgerCounters;
32
+ enqueue(record: BlockerMetricRecord): void;
33
+ /** Synchronous idempotent path used by bounded reconciliation. */
34
+ record(record: BlockerMetricRecord, reconciled?: boolean): boolean;
35
+ has(origin: string, factor: BlockerFactor, sourceEventId: string): boolean;
36
+ values(factor: BlockerFactor, sinceMs: number): Array<{
37
+ observedAtMs: number;
38
+ latencyMs: number | null;
39
+ outcome: string;
40
+ }>;
41
+ prune(): number;
42
+ close(): void;
43
+ private drain;
44
+ private insert;
45
+ }
46
+ export declare function percentile(values: number[], p: number): number | null;
47
+ //# sourceMappingURL=BlockerLifecycleLedger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockerLifecycleLedger.d.ts","sourceRoot":"","sources":["../../src/monitoring/BlockerLifecycleLedger.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,eAAe,CAAC;AACnE,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,sBAAsB,GAAG,iCAAiC,CAAC;AAErG,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,sBAAsB;IASrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IARjC,OAAO,CAAC,EAAE,CAAqC;IAC/C,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAE5B;gBAE2B,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;KAAE;IA2BzE,SAAS,IAAI,OAAO;IACpB,QAAQ,IAAI,qBAAqB;IAEjC,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAc1C,kEAAkE;IAClE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,UAAU,UAAQ,GAAG,OAAO;IAKhE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO;IAQ1E,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAS1H,KAAK,IAAI,MAAM;IAcf,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,MAAM;CAmBf;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKrE"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Non-authoritative, measure-only blocker lifecycle telemetry.
3
+ * CommitmentTracker remains the sole state authority; every method here is
4
+ * fail-soft and no caller may branch commitment behavior on its result.
5
+ */
6
+ import fs from 'node:fs';
7
+ import path from 'node:path';
8
+ import Database from 'better-sqlite3';
9
+ import { registerSqliteHandle } from '../core/SqliteRegistry.js';
10
+ export class BlockerLifecycleLedger {
11
+ opts;
12
+ db = null;
13
+ unregisterSqlite = null;
14
+ queue = [];
15
+ draining = false;
16
+ countersState = {
17
+ attempted: 0, inserted: 0, deduped: 0, failed: 0, queueOverflow: 0, reconciled: 0,
18
+ };
19
+ constructor(opts) {
20
+ this.opts = opts;
21
+ try {
22
+ fs.mkdirSync(path.dirname(opts.dbPath), { recursive: true });
23
+ this.db = new Database(opts.dbPath);
24
+ this.unregisterSqlite = registerSqliteHandle(() => this.db?.close());
25
+ this.db.pragma('journal_mode = WAL');
26
+ this.db.pragma('synchronous = NORMAL');
27
+ this.db.pragma('busy_timeout = 25');
28
+ this.db.exec(`
29
+ CREATE TABLE IF NOT EXISTS blocker_lifecycle_metrics (
30
+ origin TEXT NOT NULL,
31
+ factor TEXT NOT NULL CHECK (factor IN ('request-to-persist','clear-latency')),
32
+ source_event_id TEXT NOT NULL,
33
+ observed_at_ms INTEGER NOT NULL,
34
+ latency_ms REAL,
35
+ outcome TEXT NOT NULL,
36
+ schema_version INTEGER NOT NULL DEFAULT 1,
37
+ UNIQUE(origin, factor, source_event_id)
38
+ );
39
+ CREATE INDEX IF NOT EXISTS idx_blocker_lifecycle_window
40
+ ON blocker_lifecycle_metrics(factor, observed_at_ms);
41
+ `);
42
+ }
43
+ catch { // @silent-fallback-ok — availability is exposed as 503/guard degradation
44
+ this.db = null;
45
+ }
46
+ }
47
+ available() { return this.db !== null; }
48
+ counters() { return { ...this.countersState }; }
49
+ enqueue(record) {
50
+ this.countersState.attempted++;
51
+ if (this.queue.length >= 256) {
52
+ this.countersState.queueOverflow++;
53
+ this.countersState.failed++;
54
+ return;
55
+ }
56
+ this.queue.push({ ...record });
57
+ if (!this.draining) {
58
+ this.draining = true;
59
+ setImmediate(() => this.drain());
60
+ }
61
+ }
62
+ /** Synchronous idempotent path used by bounded reconciliation. */
63
+ record(record, reconciled = false) {
64
+ if (reconciled)
65
+ this.countersState.attempted++;
66
+ return this.insert(record, reconciled);
67
+ }
68
+ has(origin, factor, sourceEventId) {
69
+ if (!this.db)
70
+ return false;
71
+ try {
72
+ return !!this.db.prepare(`SELECT 1 FROM blocker_lifecycle_metrics
73
+ WHERE origin=? AND factor=? AND source_event_id=?`).get(origin, factor, sourceEventId);
74
+ }
75
+ catch { /* @silent-fallback-ok — false is reconciler-visible absence */
76
+ return false;
77
+ }
78
+ }
79
+ values(factor, sinceMs) {
80
+ if (!this.db)
81
+ return [];
82
+ try {
83
+ return this.db.prepare(`SELECT observed_at_ms AS observedAtMs, latency_ms AS latencyMs, outcome
84
+ FROM blocker_lifecycle_metrics WHERE factor=? AND observed_at_ms>=? ORDER BY observed_at_ms`)
85
+ .all(factor, Math.round(sinceMs));
86
+ }
87
+ catch { /* @silent-fallback-ok — empty read pairs with degraded guard counters */
88
+ return [];
89
+ }
90
+ }
91
+ prune() {
92
+ if (!this.db)
93
+ return 0;
94
+ try {
95
+ const cutoff = (this.opts.now?.() ?? Date.now()) - 90 * 86_400_000;
96
+ const old = this.db.prepare(`DELETE FROM blocker_lifecycle_metrics WHERE rowid IN
97
+ (SELECT rowid FROM blocker_lifecycle_metrics WHERE observed_at_ms<? LIMIT 1000)`).run(cutoff).changes;
98
+ const count = this.db.prepare('SELECT COUNT(*) AS n FROM blocker_lifecycle_metrics').get().n;
99
+ const excess = Math.max(0, count - 250_000);
100
+ const cap = excess > 0 ? this.db.prepare(`DELETE FROM blocker_lifecycle_metrics WHERE rowid IN
101
+ (SELECT rowid FROM blocker_lifecycle_metrics ORDER BY observed_at_ms LIMIT ?)`).run(Math.min(1000, excess)).changes : 0;
102
+ return old + cap;
103
+ }
104
+ catch { /* @silent-fallback-ok — pruning retries on the next bounded pass */
105
+ return 0;
106
+ }
107
+ }
108
+ close() {
109
+ this.unregisterSqlite?.();
110
+ this.unregisterSqlite = null;
111
+ try {
112
+ this.db?.close();
113
+ }
114
+ catch { /* @silent-fallback-ok — close is best-effort */ }
115
+ this.db = null;
116
+ }
117
+ drain() {
118
+ try {
119
+ let n = 0;
120
+ while (this.queue.length > 0 && n < 64) {
121
+ const record = this.queue.shift();
122
+ this.insert(record, false);
123
+ n++;
124
+ }
125
+ }
126
+ finally {
127
+ if (this.queue.length > 0)
128
+ setImmediate(() => this.drain());
129
+ else
130
+ this.draining = false;
131
+ }
132
+ }
133
+ insert(record, reconciled) {
134
+ if (!this.db) {
135
+ this.countersState.failed++;
136
+ return false;
137
+ }
138
+ try {
139
+ const info = this.db.prepare(`INSERT OR IGNORE INTO blocker_lifecycle_metrics
140
+ (origin,factor,source_event_id,observed_at_ms,latency_ms,outcome,schema_version)
141
+ VALUES (?,?,?,?,?,?,1)`).run(record.origin, record.factor, record.sourceEventId, Math.round(record.observedAtMs), record.latencyMs === null ? null : Math.max(0, record.latencyMs), record.outcome);
142
+ if (info.changes > 0) {
143
+ this.countersState.inserted++;
144
+ if (reconciled)
145
+ this.countersState.reconciled++;
146
+ }
147
+ else
148
+ this.countersState.deduped++;
149
+ return true;
150
+ }
151
+ catch { // @silent-fallback-ok — failed counter/guard status exposes insert degradation
152
+ this.countersState.failed++;
153
+ return false;
154
+ }
155
+ }
156
+ }
157
+ export function percentile(values, p) {
158
+ if (values.length === 0)
159
+ return null;
160
+ const sorted = [...values].sort((a, b) => a - b);
161
+ const idx = Math.min(sorted.length - 1, Math.max(0, Math.ceil(p * sorted.length) - 1));
162
+ return sorted[idx];
163
+ }
164
+ //# sourceMappingURL=BlockerLifecycleLedger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockerLifecycleLedger.js","sourceRoot":"","sources":["../../src/monitoring/BlockerLifecycleLedger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { CommitmentTracker } from './CommitmentTracker.js';
2
+ import { BlockerLifecycleLedger } from './BlockerLifecycleLedger.js';
3
+ export declare class BlockerLifecycleService {
4
+ private readonly tracker;
5
+ readonly ledger: BlockerLifecycleLedger;
6
+ private readonly origin;
7
+ private readonly now;
8
+ private cursor;
9
+ private timer;
10
+ private failures;
11
+ private breakerUntil;
12
+ private closed;
13
+ private readonly onRequest;
14
+ private readonly onClose;
15
+ constructor(tracker: CommitmentTracker, ledger: BlockerLifecycleLedger, origin: string, now?: () => number);
16
+ available(): boolean;
17
+ localSummary(sinceHours: number): Record<string, unknown>;
18
+ localTrend(windowDays: number): Record<string, unknown>;
19
+ guardStatus(): Record<string, unknown>;
20
+ close(): void;
21
+ private clearRecord;
22
+ private factorSummary;
23
+ private factorTrend;
24
+ private derivedCounters;
25
+ private schedule;
26
+ private reconcile;
27
+ }
28
+ //# sourceMappingURL=BlockerLifecycleService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockerLifecycleService.d.ts","sourceRoot":"","sources":["../../src/monitoring/BlockerLifecycleService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAA4D,MAAM,6BAA6B,CAAC;AAI/H,qBAAa,uBAAuB;IAwBhC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,QAAQ,CAAC,MAAM,EAAE,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IA1BtB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CASxB;IACF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAKtB;gBAGiB,OAAO,EAAE,iBAAiB,EAClC,MAAM,EAAE,sBAAsB,EACtB,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,MAAM,MAAyB;IAOvD,SAAS,IAAI,OAAO;IAEpB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IASzD,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQvD,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAatC,KAAK,IAAI,IAAI;IAQb,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,SAAS;CAoBlB"}
@@ -0,0 +1,211 @@
1
+ import { percentile } from './BlockerLifecycleLedger.js';
2
+ export class BlockerLifecycleService {
3
+ tracker;
4
+ ledger;
5
+ origin;
6
+ now;
7
+ cursor = 0;
8
+ timer = null;
9
+ failures = 0;
10
+ breakerUntil = 0;
11
+ closed = false;
12
+ onRequest = (event) => {
13
+ this.ledger.enqueue({
14
+ origin: this.origin,
15
+ factor: 'request-to-persist',
16
+ sourceEventId: String(event.sourceEventId),
17
+ observedAtMs: Number(event.observedAtMs),
18
+ latencyMs: Number(event.latencyMs),
19
+ outcome: 'observed',
20
+ });
21
+ };
22
+ onClose = (event) => {
23
+ const record = this.clearRecord(event.episode);
24
+ this.ledger.enqueue(record);
25
+ // The async queue owns first delivery. Reconciliation will mark completion
26
+ // after observing the row, so a process crash cannot create a false receipt.
27
+ };
28
+ constructor(tracker, ledger, origin, now = () => Date.now()) {
29
+ this.tracker = tracker;
30
+ this.ledger = ledger;
31
+ this.origin = origin;
32
+ this.now = now;
33
+ tracker.on('blocker-request-persisted', this.onRequest);
34
+ tracker.on('blocker-episode-closed', this.onClose);
35
+ this.schedule(5_000);
36
+ }
37
+ available() { return this.ledger.available(); }
38
+ localSummary(sinceHours) {
39
+ const sinceMs = this.now() - sinceHours * 3_600_000;
40
+ return {
41
+ machineId: this.origin,
42
+ factors: ['request-to-persist', 'clear-latency'].map(f => this.factorSummary(f, sinceMs)),
43
+ counters: { ...this.ledger.counters(), ...this.derivedCounters(sinceMs), breakerOpen: this.now() < this.breakerUntil },
44
+ };
45
+ }
46
+ localTrend(windowDays) {
47
+ const sinceMs = this.now() - windowDays * 86_400_000;
48
+ return {
49
+ machineId: this.origin,
50
+ factors: ['request-to-persist', 'clear-latency'].map(f => this.factorTrend(f, sinceMs)),
51
+ };
52
+ }
53
+ guardStatus() {
54
+ const episodes = this.tracker.getAll().flatMap(c => c.blockerEpisodes ?? []);
55
+ const pending = episodes.filter(e => e.closedAtMs === undefined || e.clearTelemetryCompleteAtMs === undefined).length;
56
+ return {
57
+ enabled: true,
58
+ loadBearing: false,
59
+ status: !this.ledger.available() || pending >= 48 || this.now() < this.breakerUntil ? 'degraded' : 'healthy',
60
+ pendingEpisodes: pending,
61
+ breakerOpen: this.now() < this.breakerUntil,
62
+ counters: this.ledger.counters(),
63
+ };
64
+ }
65
+ close() {
66
+ this.closed = true;
67
+ if (this.timer)
68
+ clearTimeout(this.timer);
69
+ this.tracker.off('blocker-request-persisted', this.onRequest);
70
+ this.tracker.off('blocker-episode-closed', this.onClose);
71
+ this.ledger.close();
72
+ }
73
+ clearRecord(episode) {
74
+ const observedAtMs = episode.closedAtMs ?? this.now();
75
+ if (episode.startedAtMs === null)
76
+ return {
77
+ origin: this.origin, factor: 'clear-latency', sourceEventId: episode.clearSourceId,
78
+ observedAtMs, latencyMs: null, outcome: 'legacy-missing-start',
79
+ };
80
+ const duration = observedAtMs - episode.startedAtMs;
81
+ if (duration < 0 || duration > 30 * 86_400_000)
82
+ return {
83
+ origin: this.origin, factor: 'clear-latency', sourceEventId: episode.clearSourceId,
84
+ observedAtMs, latencyMs: null, outcome: 'clock-regression-or-implausible',
85
+ };
86
+ return { origin: this.origin, factor: 'clear-latency', sourceEventId: episode.clearSourceId,
87
+ observedAtMs, latencyMs: duration, outcome: 'observed' };
88
+ }
89
+ factorSummary(factor, sinceMs) {
90
+ const rows = this.ledger.values(factor, sinceMs);
91
+ const observed = rows.filter(r => r.outcome === 'observed' && r.latencyMs !== null).map(r => r.latencyMs);
92
+ const derived = this.derivedCounters(sinceMs);
93
+ const legacy = factor === 'clear-latency' ? rows.filter(r => r.outcome === 'legacy-missing-start').length : 0;
94
+ const clock = factor === 'clear-latency' ? rows.filter(r => r.outcome === 'clock-regression-or-implausible').length : 0;
95
+ const requestMissing = factor === 'request-to-persist' ? derived.requestSamplesMissing : 0;
96
+ const dropped = factor === 'request-to-persist' ? derived.requestDroppedCapacity : derived.clearDroppedCapacity;
97
+ const missing = requestMissing + dropped;
98
+ const excluded = legacy + clock;
99
+ const denominator = observed.length + missing + excluded;
100
+ return {
101
+ factor,
102
+ recoverability: factor === 'request-to-persist' ? 'best-effort' : 'reconcilable',
103
+ completed: observed.length, missing, excluded,
104
+ coverage: denominator === 0 ? null : observed.length / denominator,
105
+ medianMs: percentile(observed, 0.5), p95Ms: percentile(observed, 0.95),
106
+ outcomes: { observed: observed.length, 'legacy-missing-start': legacy,
107
+ 'clock-regression-or-implausible': clock, 'request-row-missing': requestMissing,
108
+ 'episode-dropped-capacity': dropped },
109
+ };
110
+ }
111
+ factorTrend(factor, sinceMs) {
112
+ const today = new Date(this.now()).toISOString().slice(0, 10);
113
+ const grouped = new Map();
114
+ for (const row of this.ledger.values(factor, sinceMs)) {
115
+ if (row.outcome !== 'observed' || row.latencyMs === null)
116
+ continue;
117
+ const day = new Date(row.observedAtMs).toISOString().slice(0, 10);
118
+ if (day === today)
119
+ continue;
120
+ const values = grouped.get(day) ?? [];
121
+ values.push(row.latencyMs);
122
+ grouped.set(day, values);
123
+ }
124
+ const days = [...grouped.entries()].filter(([, v]) => v.length >= 3).sort(([a], [b]) => a.localeCompare(b))
125
+ .map(([day, values]) => ({ day, medianMs: percentile(values, 0.5), samples: values.length }));
126
+ const empty = (reason) => ({ factor, days, firstHalf: { days: 0, samples: 0, meanMs: null },
127
+ secondHalf: { days: 0, samples: 0, meanMs: null }, ratio: null, reason });
128
+ if (days.length < 6)
129
+ return empty('insufficient-days');
130
+ const split = Math.floor(days.length / 2);
131
+ const halves = [days.slice(0, split), days.slice(split)];
132
+ const describe = (part) => ({ days: part.length, samples: part.reduce((n, d) => n + d.samples, 0),
133
+ meanMs: part.reduce((n, d) => n + d.medianMs, 0) / part.length });
134
+ const first = describe(halves[0]);
135
+ const second = describe(halves[1]);
136
+ if (first.days < 2 || second.days < 2 || first.samples < 9 || second.samples < 9)
137
+ return empty('insufficient-samples');
138
+ if (first.meanMs === 0)
139
+ return { ...empty('zero-denominator'), firstHalf: first, secondHalf: second };
140
+ return { factor, days, firstHalf: first, secondHalf: second, ratio: second.meanMs / first.meanMs, reason: null };
141
+ }
142
+ derivedCounters(sinceMs) {
143
+ let requestSamplesMissing = 0;
144
+ for (const c of this.tracker.getAll())
145
+ for (const e of c.blockerEpisodes ?? []) {
146
+ if (!e.requestEventExpected || e.startedAtMs === null || e.startedAtMs < sinceMs)
147
+ continue;
148
+ const id = `blocker-lifecycle-v1:request:${e.episodeId}`;
149
+ if (!this.ledger.has(this.origin, 'request-to-persist', id))
150
+ requestSamplesMissing++;
151
+ }
152
+ let requestDroppedCapacity = 0;
153
+ let clearDroppedCapacity = 0;
154
+ for (const [day, bucket] of Object.entries(this.tracker.getBlockerEpisodeDropBuckets())) {
155
+ if (Date.parse(`${day}T00:00:00.000Z`) < sinceMs)
156
+ continue;
157
+ requestDroppedCapacity += bucket.request;
158
+ clearDroppedCapacity += bucket.clear;
159
+ }
160
+ return { requestSamplesMissing, requestDroppedCapacity, clearDroppedCapacity };
161
+ }
162
+ schedule(ms) {
163
+ if (this.closed)
164
+ return;
165
+ this.timer = setTimeout(() => this.reconcile(), ms);
166
+ this.timer.unref?.();
167
+ }
168
+ reconcile() {
169
+ if (this.closed)
170
+ return;
171
+ if (this.now() < this.breakerUntil) {
172
+ this.schedule(Math.min(300_000, this.breakerUntil - this.now()));
173
+ return;
174
+ }
175
+ const commitments = this.tracker.getAll().sort((a, b) => a.id.localeCompare(b.id));
176
+ const slice = commitments.slice(this.cursor, this.cursor + 64);
177
+ this.cursor = commitments.length === 0 || this.cursor + slice.length >= commitments.length ? 0 : this.cursor + slice.length;
178
+ let failed = false;
179
+ for (const c of slice)
180
+ for (const episode of c.blockerEpisodes ?? []) {
181
+ if (episode.closedAtMs === undefined || !episode.clearSourceId)
182
+ continue;
183
+ const ok = this.ledger.record(this.clearRecord(episode), true);
184
+ if (!ok) {
185
+ failed = true;
186
+ break;
187
+ }
188
+ try {
189
+ this.tracker.markBlockerClearTelemetryComplete(c.id, episode.episodeId, this.now());
190
+ }
191
+ catch { /* @silent-fallback-ok — failed drives bounded backoff/breaker */
192
+ failed = true;
193
+ }
194
+ }
195
+ if (failed) {
196
+ this.failures++;
197
+ if (this.failures >= 6) {
198
+ this.breakerUntil = this.now() + 15 * 60_000;
199
+ this.schedule(15 * 60_000);
200
+ }
201
+ else
202
+ this.schedule(Math.min(300_000, 5_000 * 2 ** (this.failures - 1)));
203
+ }
204
+ else {
205
+ this.failures = 0;
206
+ this.ledger.prune();
207
+ this.schedule(5 * 60_000);
208
+ }
209
+ }
210
+ }
211
+ //# sourceMappingURL=BlockerLifecycleService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockerLifecycleService.js","sourceRoot":"","sources":["../../src/monitoring/BlockerLifecycleService.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,30 @@ import type { LiveConfig } from '../config/LiveConfig.js';
21
21
  import type { ComponentHealth } from '../core/types.js';
22
22
  export type CommitmentType = 'config-change' | 'behavioral' | 'one-time-action';
23
23
  export type CommitmentStatus = 'pending' | 'verified' | 'violated' | 'expired' | 'withdrawn' | 'delivered';
24
+ export declare class CommitmentPersistenceError extends Error {
25
+ readonly errorClass: 'mkdir' | 'temp-write' | 'rename';
26
+ readonly code = "COMMITMENT_PERSISTENCE_FAILED";
27
+ constructor(errorClass: 'mkdir' | 'temp-write' | 'rename');
28
+ }
29
+ export type BlockerLifecycleFactor = 'request-to-persist' | 'clear-latency';
30
+ export interface BlockerEpisode {
31
+ schemaVersion: 1;
32
+ episodeId: string;
33
+ startedAtMs: number | null;
34
+ requestEventExpected: boolean;
35
+ originMachineId: string;
36
+ initialClass: 'external' | 'user-input' | 'user-authorization';
37
+ transitions: Array<{
38
+ atMs: number;
39
+ from: string;
40
+ to: string;
41
+ }>;
42
+ transitionOverflowCount: number;
43
+ closedAtMs?: number;
44
+ closeReason?: 'cleared' | 'delivered' | 'withdrawn' | 'expired';
45
+ clearSourceId?: string;
46
+ clearTelemetryCompleteAtMs?: number;
47
+ }
24
48
  export interface Commitment {
25
49
  /** Unique identifier (CMT-xxx) */
26
50
  id: string;
@@ -75,6 +99,12 @@ export interface Commitment {
75
99
  owner?: 'agent' | 'user';
76
100
  /** What the next action waits on. Default 'none'. */
77
101
  blockedOn?: 'none' | 'external' | 'user-input' | 'user-authorization';
102
+ /** throughput-metrics v1: authoritative bounded blocker lifecycle handoff. */
103
+ blockerEpisodes?: BlockerEpisode[];
104
+ /** Capacity fallback pairing one dropped open with its later clear. */
105
+ blockerMeasurementDropped?: {
106
+ openedAtMs: number;
107
+ };
78
108
  /**
79
109
  * For an owner:'agent' commitment whose work is side-effecting: the agent's
80
110
  * self-declared action class. INERT in C1+C2 (well-formedness-validated only,
@@ -284,6 +314,11 @@ export interface CommitmentStore {
284
314
  * replica wholesale on incarnation change instead of stranding behind a
285
315
  * higher remembered seq (the journal §3.4 rule 3 cure). */
286
316
  storeIncarnation?: string;
317
+ /** Content-free daily missing-sample counters, bounded to 30 UTC days. */
318
+ blockerEpisodeDropBuckets?: Record<string, {
319
+ request: number;
320
+ clear: number;
321
+ }>;
287
322
  }
288
323
  export interface CommitmentVerificationReport {
289
324
  timestamp: string;
@@ -330,6 +365,8 @@ export interface CommitmentTrackerConfig {
330
365
  * commitment (P1.5 §3.1). Absent on single-machine agents pre-mesh; records
331
366
  * created without it are legacy-local by definition. */
332
367
  originMachineId?: string;
368
+ /** Dark measure-only blocker lifecycle instrumentation. */
369
+ blockerLifecycleEnabled?: boolean;
333
370
  /** Check interval in ms. Default: 60_000 (1 minute) */
334
371
  checkIntervalMs?: number;
335
372
  /** Auto-expire old agent-owned open commitments. Defaults: enabled, 21d, 6h, dry-run. */
@@ -386,6 +423,8 @@ export declare class CommitmentTracker extends EventEmitter {
386
423
  */
387
424
  private batchingSaves;
388
425
  private pendingSave;
426
+ private batchSnapshot;
427
+ private pendingBindingReleases;
389
428
  /**
390
429
  * Single-writer FIFO queues, keyed by commitment id. Every write path
391
430
  * (record/withdraw/verifyOne/expire/auto-correct/escalate) serialises
@@ -631,6 +670,11 @@ export declare class CommitmentTracker extends EventEmitter {
631
670
  * Get a single commitment by ID.
632
671
  */
633
672
  get(id: string): Commitment | null;
673
+ getBlockerEpisodeDropBuckets(): Record<string, {
674
+ request: number;
675
+ clear: number;
676
+ }>;
677
+ markBlockerClearTelemetryComplete(commitmentId: string, episodeId: string, atMs?: number): boolean;
634
678
  /**
635
679
  * Run verification on all active commitments.
636
680
  */
@@ -696,6 +740,10 @@ export declare class CommitmentTracker extends EventEmitter {
696
740
  * mutate() for proper queueing across awaits.
697
741
  */
698
742
  private mutateSync;
743
+ private afterPersistedMutation;
744
+ private emitPersistedMutationEffects;
745
+ private applyBlockerLifecycle;
746
+ private incrementBlockerDropBucket;
699
747
  /**
700
748
  * durable-conversation-identity §3.5.2 property 4: release ONE refcount on
701
749
  * the commitment's bind-pin when the binding permanently closes. `verified`/
@@ -718,6 +766,8 @@ export declare class CommitmentTracker extends EventEmitter {
718
766
  */
719
767
  private insertNew;
720
768
  private loadStore;
769
+ private beginSaveBatch;
770
+ private finishSaveBatch;
721
771
  private saveStore;
722
772
  /**
723
773
  * P1.5 §3.2 — replication bookkeeping at the WRITE FUNNELS. Diffs prev vs
@@ -1 +1 @@
1
- {"version":3,"file":"CommitmentTracker.d.ts","sourceRoot":"","sources":["../../src/monitoring/CommitmentTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommitmentTracker.d.ts","sourceRoot":"","sources":["../../src/monitoring/CommitmentTracker.ts"],"names":[],"mappings":"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"}