instar 1.3.900 → 1.3.901
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/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +5 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/monitoring/BlockerLifecycleLedger.d.ts +2 -1
- package/dist/monitoring/BlockerLifecycleLedger.d.ts.map +1 -1
- package/dist/monitoring/BlockerLifecycleLedger.js +52 -8
- package/dist/monitoring/BlockerLifecycleLedger.js.map +1 -1
- package/dist/monitoring/BlockerLifecycleService.d.ts +4 -0
- package/dist/monitoring/BlockerLifecycleService.d.ts.map +1 -1
- package/dist/monitoring/BlockerLifecycleService.js +91 -5
- package/dist/monitoring/BlockerLifecycleService.js.map +1 -1
- package/dist/scaffold/templates.js +1 -1
- package/dist/server/CapabilityIndex.js +2 -2
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +83 -6
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +63 -63
- package/src/scaffold/templates.ts +1 -1
- package/upgrades/1.3.901.md +22 -0
- package/upgrades/eli16/throughput-count-climbing.eli16.md +17 -0
- package/upgrades/side-effects/throughput-count-climbing.md +41 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type BlockerFactor = 'request-to-persist' | 'clear-latency';
|
|
1
|
+
export type BlockerFactor = 'request-to-persist' | 'clear-latency' | 'deliverable-completion';
|
|
2
2
|
export type BlockerOutcome = 'observed' | 'legacy-missing-start' | 'clock-regression-or-implausible';
|
|
3
3
|
export interface BlockerMetricRecord {
|
|
4
4
|
origin: string;
|
|
@@ -55,6 +55,7 @@ export declare class BlockerLifecycleLedger {
|
|
|
55
55
|
dbPath: string;
|
|
56
56
|
now?: () => number;
|
|
57
57
|
});
|
|
58
|
+
private ensureSchema;
|
|
58
59
|
available(): boolean;
|
|
59
60
|
counters(): BlockerLedgerCounters;
|
|
60
61
|
enqueue(record: BlockerMetricRecord): void;
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"BlockerLifecycleLedger.d.ts","sourceRoot":"","sources":["../../src/monitoring/BlockerLifecycleLedger.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,17 +18,59 @@ export class BlockerLifecycleLedger {
|
|
|
18
18
|
};
|
|
19
19
|
constructor(opts) {
|
|
20
20
|
this.opts = opts;
|
|
21
|
+
let opened = null;
|
|
21
22
|
try {
|
|
22
23
|
fs.mkdirSync(path.dirname(opts.dbPath), { recursive: true });
|
|
23
|
-
|
|
24
|
-
this.
|
|
24
|
+
opened = new Database(opts.dbPath);
|
|
25
|
+
this.db = opened;
|
|
26
|
+
this.unregisterSqlite = registerSqliteHandle(() => opened?.close());
|
|
25
27
|
this.db.pragma('journal_mode = WAL');
|
|
26
28
|
this.db.pragma('synchronous = NORMAL');
|
|
27
29
|
this.db.pragma('busy_timeout = 25');
|
|
28
|
-
this.
|
|
30
|
+
this.ensureSchema();
|
|
31
|
+
}
|
|
32
|
+
catch { // @silent-fallback-ok — availability is exposed as 503/guard degradation
|
|
33
|
+
this.unregisterSqlite?.();
|
|
34
|
+
this.unregisterSqlite = null;
|
|
35
|
+
try {
|
|
36
|
+
opened?.close();
|
|
37
|
+
}
|
|
38
|
+
catch { /* @silent-fallback-ok — constructor already degrades unavailable */ }
|
|
39
|
+
this.db = null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
ensureSchema() {
|
|
43
|
+
if (!this.db)
|
|
44
|
+
return;
|
|
45
|
+
const existing = this.db.prepare("SELECT sql FROM sqlite_master WHERE type='table' AND name='blocker_lifecycle_metrics'")
|
|
46
|
+
.get();
|
|
47
|
+
if (existing?.sql && !existing.sql.includes('deliverable-completion')) {
|
|
48
|
+
this.db.transaction(() => {
|
|
49
|
+
this.db.exec(`
|
|
50
|
+
DROP INDEX IF EXISTS idx_blocker_lifecycle_window;
|
|
51
|
+
ALTER TABLE blocker_lifecycle_metrics RENAME TO blocker_lifecycle_metrics_v1;
|
|
52
|
+
CREATE TABLE blocker_lifecycle_metrics (
|
|
53
|
+
origin TEXT NOT NULL,
|
|
54
|
+
factor TEXT NOT NULL CHECK (factor IN ('request-to-persist','clear-latency','deliverable-completion')),
|
|
55
|
+
source_event_id TEXT NOT NULL,
|
|
56
|
+
observed_at_ms INTEGER NOT NULL,
|
|
57
|
+
latency_ms REAL,
|
|
58
|
+
outcome TEXT NOT NULL,
|
|
59
|
+
schema_version INTEGER NOT NULL DEFAULT 1,
|
|
60
|
+
UNIQUE(origin, factor, source_event_id)
|
|
61
|
+
);
|
|
62
|
+
INSERT INTO blocker_lifecycle_metrics
|
|
63
|
+
(origin,factor,source_event_id,observed_at_ms,latency_ms,outcome,schema_version)
|
|
64
|
+
SELECT origin,factor,source_event_id,observed_at_ms,latency_ms,outcome,schema_version
|
|
65
|
+
FROM blocker_lifecycle_metrics_v1;
|
|
66
|
+
DROP TABLE blocker_lifecycle_metrics_v1;
|
|
67
|
+
`);
|
|
68
|
+
})();
|
|
69
|
+
}
|
|
70
|
+
this.db.exec(`
|
|
29
71
|
CREATE TABLE IF NOT EXISTS blocker_lifecycle_metrics (
|
|
30
72
|
origin TEXT NOT NULL,
|
|
31
|
-
factor TEXT NOT NULL CHECK (factor IN ('request-to-persist','clear-latency')),
|
|
73
|
+
factor TEXT NOT NULL CHECK (factor IN ('request-to-persist','clear-latency','deliverable-completion')),
|
|
32
74
|
source_event_id TEXT NOT NULL,
|
|
33
75
|
observed_at_ms INTEGER NOT NULL,
|
|
34
76
|
latency_ms REAL,
|
|
@@ -59,10 +101,6 @@ export class BlockerLifecycleLedger {
|
|
|
59
101
|
CREATE INDEX IF NOT EXISTS idx_maturation_evaluation_trend ON maturation_evaluations
|
|
60
102
|
(origin,feature_id,due_slot_ms DESC);
|
|
61
103
|
`);
|
|
62
|
-
}
|
|
63
|
-
catch { // @silent-fallback-ok — availability is exposed as 503/guard degradation
|
|
64
|
-
this.db = null;
|
|
65
|
-
}
|
|
66
104
|
}
|
|
67
105
|
available() { return this.db !== null; }
|
|
68
106
|
counters() { return { ...this.countersState }; }
|
|
@@ -222,6 +260,12 @@ export class BlockerLifecycleLedger {
|
|
|
222
260
|
this.countersState.failed++;
|
|
223
261
|
return false;
|
|
224
262
|
}
|
|
263
|
+
if (!['request-to-persist', 'clear-latency', 'deliverable-completion'].includes(record.factor) ||
|
|
264
|
+
!['observed', 'legacy-missing-start', 'clock-regression-or-implausible'].includes(record.outcome) ||
|
|
265
|
+
(record.factor === 'deliverable-completion' && (record.outcome !== 'observed' || record.latencyMs !== null))) {
|
|
266
|
+
this.countersState.failed++;
|
|
267
|
+
return false;
|
|
268
|
+
}
|
|
225
269
|
try {
|
|
226
270
|
const info = this.db.prepare(`INSERT OR IGNORE INTO blocker_lifecycle_metrics
|
|
227
271
|
(origin,factor,source_event_id,observed_at_ms,latency_ms,outcome,schema_version)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockerLifecycleLedger.js","sourceRoot":"","sources":["../../src/monitoring/BlockerLifecycleLedger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAuCjE,MAAM,OAAO,sBAAsB;IASJ;IARrB,EAAE,GAAgC,IAAI,CAAC;IACvC,gBAAgB,GAAwB,IAAI,CAAC;IAC7C,KAAK,GAA0B,EAAE,CAAC;IAClC,QAAQ,GAAG,KAAK,CAAC;IACR,aAAa,GAA0B;QACtD,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;KAClF,CAAC;IAEF,YAA6B,IAA4C;QAA5C,SAAI,GAAJ,IAAI,CAAwC;QACvE,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7D,
|
|
1
|
+
{"version":3,"file":"BlockerLifecycleLedger.js","sourceRoot":"","sources":["../../src/monitoring/BlockerLifecycleLedger.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export declare class BlockerLifecycleService {
|
|
|
16
16
|
private maturationInitiatives;
|
|
17
17
|
private readonly onRequest;
|
|
18
18
|
private readonly onClose;
|
|
19
|
+
private readonly onDelivered;
|
|
19
20
|
constructor(tracker: CommitmentTracker, ledger: BlockerLifecycleLedger, origin: string, now?: () => number, initiativeTracker?: Pick<InitiativeTracker, 'list'>);
|
|
20
21
|
available(): boolean;
|
|
21
22
|
localSummary(sinceHours: number): Record<string, unknown>;
|
|
@@ -32,6 +33,9 @@ export declare class BlockerLifecycleService {
|
|
|
32
33
|
guardStatus(): Record<string, unknown>;
|
|
33
34
|
close(): void;
|
|
34
35
|
private clearRecord;
|
|
36
|
+
private completionRecord;
|
|
37
|
+
private completionSummary;
|
|
38
|
+
private completionTrend;
|
|
35
39
|
private factorSummary;
|
|
36
40
|
private factorTrend;
|
|
37
41
|
private derivedCounters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockerLifecycleService.d.ts","sourceRoot":"","sources":["../../src/monitoring/BlockerLifecycleService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"BlockerLifecycleService.d.ts","sourceRoot":"","sources":["../../src/monitoring/BlockerLifecycleService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAA8B,MAAM,wBAAwB,CAAC;AAE5F,OAAO,KAAK,EAAE,UAAU,EAAgC,MAAM,8BAA8B,CAAC;AAC7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAA8H,MAAM,6BAA6B,CAAC;AAIjM,qBAAa,uBAAuB;IA8BhC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,QAAQ,CAAC,MAAM,EAAE,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAhCtB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,qBAAqB,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CASxB;IACF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAKtB;IACF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAG1B;gBAGiB,OAAO,EAAE,iBAAiB,EAClC,MAAM,EAAE,sBAAsB,EACtB,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,MAAM,MAAyB,EACrD,iBAAiB,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAcrD,SAAS,IAAI,OAAO;IAEpB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAWzD,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUvD,mFAAmF;IACnF,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAyDrF,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,0BAA0B;IAuBlC,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,eAAe;IASvB,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAatC,KAAK,IAAI,IAAI;IAUb,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,SAAS;CAwBlB"}
|
|
@@ -28,6 +28,11 @@ export class BlockerLifecycleService {
|
|
|
28
28
|
// The async queue owns first delivery. Reconciliation will mark completion
|
|
29
29
|
// after observing the row, so a process crash cannot create a false receipt.
|
|
30
30
|
};
|
|
31
|
+
onDelivered = (commitment) => {
|
|
32
|
+
const record = this.completionRecord(commitment);
|
|
33
|
+
if (record)
|
|
34
|
+
this.ledger.enqueue(record);
|
|
35
|
+
};
|
|
31
36
|
constructor(tracker, ledger, origin, now = () => Date.now(), initiativeTracker) {
|
|
32
37
|
this.tracker = tracker;
|
|
33
38
|
this.ledger = ledger;
|
|
@@ -35,6 +40,7 @@ export class BlockerLifecycleService {
|
|
|
35
40
|
this.now = now;
|
|
36
41
|
tracker.on('blocker-request-persisted', this.onRequest);
|
|
37
42
|
tracker.on('blocker-episode-closed', this.onClose);
|
|
43
|
+
tracker.on('delivered', this.onDelivered);
|
|
38
44
|
this.schedule(5_000);
|
|
39
45
|
if (initiativeTracker) {
|
|
40
46
|
const evaluate = () => { try {
|
|
@@ -51,7 +57,8 @@ export class BlockerLifecycleService {
|
|
|
51
57
|
const sinceMs = this.now() - sinceHours * 3_600_000;
|
|
52
58
|
return {
|
|
53
59
|
machineId: this.origin,
|
|
54
|
-
factors: ['request-to-persist', 'clear-latency'].map(f => this.factorSummary(f, sinceMs))
|
|
60
|
+
factors: ['request-to-persist', 'clear-latency'].map(f => this.factorSummary(f, sinceMs))
|
|
61
|
+
.concat(this.completionSummary(sinceMs)),
|
|
55
62
|
maturation: this.maturationSummary(sinceMs),
|
|
56
63
|
counters: { ...this.ledger.counters(), ...this.derivedCounters(sinceMs), breakerOpen: this.now() < this.breakerUntil },
|
|
57
64
|
};
|
|
@@ -60,7 +67,8 @@ export class BlockerLifecycleService {
|
|
|
60
67
|
const sinceMs = this.now() - windowDays * 86_400_000;
|
|
61
68
|
return {
|
|
62
69
|
machineId: this.origin,
|
|
63
|
-
factors: ['request-to-persist', 'clear-latency'].map(f => this.factorTrend(f, sinceMs))
|
|
70
|
+
factors: ['request-to-persist', 'clear-latency'].map(f => this.factorTrend(f, sinceMs))
|
|
71
|
+
.concat(this.completionTrend(sinceMs, windowDays)),
|
|
64
72
|
maturation: this.maturationTrend(sinceMs),
|
|
65
73
|
};
|
|
66
74
|
}
|
|
@@ -145,14 +153,21 @@ export class BlockerLifecycleService {
|
|
|
145
153
|
return crypto.createHash('sha256').update(JSON.stringify(contract)).digest('hex');
|
|
146
154
|
}
|
|
147
155
|
captureBlockerObservations(featureId, contract, now) {
|
|
148
|
-
const summaries = new Map([
|
|
149
|
-
|
|
156
|
+
const summaries = new Map([
|
|
157
|
+
...['request-to-persist', 'clear-latency'].map(f => [f, this.factorSummary(f, now - 168 * 3_600_000)]),
|
|
158
|
+
['deliverable-completion', this.completionSummary(now - 168 * 3_600_000)],
|
|
159
|
+
]);
|
|
160
|
+
const trends = new Map([
|
|
161
|
+
...['request-to-persist', 'clear-latency'].map(f => [f, this.factorTrend(f, now - 90 * 86_400_000)]),
|
|
162
|
+
['deliverable-completion', this.completionTrend(now - 90 * 86_400_000, 90)],
|
|
163
|
+
]);
|
|
150
164
|
for (const metric of contract.metrics) {
|
|
151
165
|
const [factor, field] = metric.sourceRef.split('.');
|
|
152
166
|
const source = metric.source === 'blocker-summary' ? summaries.get(factor) : trends.get(factor);
|
|
153
167
|
const value = source?.[field === 'p95Ms' ? 'p95Ms' : field];
|
|
154
168
|
const samples = metric.source === 'blocker-summary' ? Number(source?.completed ?? 0)
|
|
155
|
-
: Number(source?.secondHalf?.samples ??
|
|
169
|
+
: Number(source?.secondHalf?.samples ??
|
|
170
|
+
source?.secondHalf?.total ?? 0);
|
|
156
171
|
if (typeof value === 'number' && Number.isFinite(value))
|
|
157
172
|
this.ledger.recordMaturationObservation({
|
|
158
173
|
origin: this.origin, featureId, metricId: metric.id, source: metric.source,
|
|
@@ -209,6 +224,7 @@ export class BlockerLifecycleService {
|
|
|
209
224
|
clearInterval(this.maturationTimer);
|
|
210
225
|
this.tracker.off('blocker-request-persisted', this.onRequest);
|
|
211
226
|
this.tracker.off('blocker-episode-closed', this.onClose);
|
|
227
|
+
this.tracker.off('delivered', this.onDelivered);
|
|
212
228
|
this.ledger.close();
|
|
213
229
|
}
|
|
214
230
|
clearRecord(episode) {
|
|
@@ -227,6 +243,71 @@ export class BlockerLifecycleService {
|
|
|
227
243
|
return { origin: this.origin, factor: 'clear-latency', sourceEventId: episode.clearSourceId,
|
|
228
244
|
observedAtMs, latencyMs: duration, outcome: 'observed' };
|
|
229
245
|
}
|
|
246
|
+
completionRecord(commitment) {
|
|
247
|
+
if (commitment.status !== 'delivered' || !commitment.resolvedAt)
|
|
248
|
+
return null;
|
|
249
|
+
const observedAtMs = Date.parse(commitment.resolvedAt);
|
|
250
|
+
if (!Number.isFinite(observedAtMs))
|
|
251
|
+
return null;
|
|
252
|
+
const opaqueId = crypto.createHash('sha256').update(`${this.origin}\0${commitment.id}`).digest('hex').slice(0, 32);
|
|
253
|
+
return {
|
|
254
|
+
origin: this.origin,
|
|
255
|
+
factor: 'deliverable-completion',
|
|
256
|
+
sourceEventId: `throughput-v1:completion:${opaqueId}`,
|
|
257
|
+
observedAtMs,
|
|
258
|
+
latencyMs: null,
|
|
259
|
+
outcome: 'observed',
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
completionSummary(sinceMs) {
|
|
263
|
+
const completed = this.ledger.values('deliverable-completion', sinceMs)
|
|
264
|
+
.filter(row => row.outcome === 'observed').length;
|
|
265
|
+
const windowDays = Math.max(1 / 24, (this.now() - sinceMs) / 86_400_000);
|
|
266
|
+
return {
|
|
267
|
+
factor: 'deliverable-completion', unit: 'count', recoverability: 'reconcilable',
|
|
268
|
+
completed, total: completed, missing: 0, excluded: 0,
|
|
269
|
+
coverage: completed === 0 ? null : 1,
|
|
270
|
+
averagePerDay: completed / windowDays,
|
|
271
|
+
medianMs: null, p95Ms: null,
|
|
272
|
+
outcomes: { observed: completed, 'legacy-missing-start': 0,
|
|
273
|
+
'clock-regression-or-implausible': 0, 'request-row-missing': 0,
|
|
274
|
+
'episode-dropped-capacity': 0 },
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
completionTrend(sinceMs, windowDays) {
|
|
278
|
+
const todayStart = Date.parse(`${new Date(this.now()).toISOString().slice(0, 10)}T00:00:00.000Z`);
|
|
279
|
+
const counts = new Map();
|
|
280
|
+
for (const row of this.ledger.values('deliverable-completion', sinceMs)) {
|
|
281
|
+
if (row.outcome !== 'observed' || row.observedAtMs >= todayStart)
|
|
282
|
+
continue;
|
|
283
|
+
const day = new Date(row.observedAtMs).toISOString().slice(0, 10);
|
|
284
|
+
counts.set(day, (counts.get(day) ?? 0) + 1);
|
|
285
|
+
}
|
|
286
|
+
const completeDays = Math.max(0, Math.min(89, windowDays - 1));
|
|
287
|
+
const days = Array.from({ length: completeDays }, (_, index) => {
|
|
288
|
+
const at = todayStart - (completeDays - index) * 86_400_000;
|
|
289
|
+
const day = new Date(at).toISOString().slice(0, 10);
|
|
290
|
+
return { day, count: counts.get(day) ?? 0 };
|
|
291
|
+
});
|
|
292
|
+
const split = Math.floor(days.length / 2);
|
|
293
|
+
const describe = (part) => {
|
|
294
|
+
const total = part.reduce((sum, day) => sum + day.count, 0);
|
|
295
|
+
return { days: part.length, total, meanPerDay: part.length === 0 ? null : total / part.length };
|
|
296
|
+
};
|
|
297
|
+
const firstHalf = describe(days.slice(0, split));
|
|
298
|
+
const secondHalf = describe(days.slice(split));
|
|
299
|
+
if (days.length < 4 || firstHalf.days < 2 || secondHalf.days < 2) {
|
|
300
|
+
return { factor: 'deliverable-completion', unit: 'count', days, firstHalf, secondHalf,
|
|
301
|
+
ratio: null, direction: 'insufficient-data', reason: 'insufficient-days' };
|
|
302
|
+
}
|
|
303
|
+
if (firstHalf.meanPerDay === null || firstHalf.meanPerDay === 0) {
|
|
304
|
+
return { factor: 'deliverable-completion', unit: 'count', days, firstHalf, secondHalf,
|
|
305
|
+
ratio: null, direction: secondHalf.total > 0 ? 'climbing' : 'flat', reason: 'zero-denominator' };
|
|
306
|
+
}
|
|
307
|
+
const ratio = (secondHalf.meanPerDay ?? 0) / firstHalf.meanPerDay;
|
|
308
|
+
return { factor: 'deliverable-completion', unit: 'count', days, firstHalf, secondHalf, ratio,
|
|
309
|
+
direction: ratio > 1 ? 'climbing' : ratio < 1 ? 'declining' : 'flat', reason: null };
|
|
310
|
+
}
|
|
230
311
|
factorSummary(factor, sinceMs) {
|
|
231
312
|
const rows = this.ledger.values(factor, sinceMs);
|
|
232
313
|
const observed = rows.filter(r => r.outcome === 'observed' && r.latencyMs !== null).map(r => r.latencyMs);
|
|
@@ -333,6 +414,11 @@ export class BlockerLifecycleService {
|
|
|
333
414
|
failed = true;
|
|
334
415
|
}
|
|
335
416
|
}
|
|
417
|
+
for (const commitment of slice) {
|
|
418
|
+
const completion = this.completionRecord(commitment);
|
|
419
|
+
if (completion && !this.ledger.record(completion, true))
|
|
420
|
+
failed = true;
|
|
421
|
+
}
|
|
336
422
|
if (failed) {
|
|
337
423
|
this.failures++;
|
|
338
424
|
if (this.failures >= 6) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockerLifecycleService.js","sourceRoot":"","sources":["../../src/monitoring/BlockerLifecycleService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BlockerLifecycleService.js","sourceRoot":"","sources":["../../src/monitoring/BlockerLifecycleService.ts"],"names":[],"mappings":"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"}
|
|
@@ -649,7 +649,7 @@ A commitment is MY job to finish — never something the user has to remember or
|
|
|
649
649
|
- **owner:user, blockedOn:user-input** → a genuine info/taste decision that is theirs: I surface it ONCE as a plain question, then wait.
|
|
650
650
|
- **owner:user, blockedOn:user-authorization** → an approval I lack: surfaced ONCE (no self-grant).
|
|
651
651
|
|
|
652
|
-
I declare owner/blockedOn at commitment creation; a later state change goes through \`POST /commitments/:id/transition\` (re-runs the gate, no close-and-reopen). That transition is also the explicit, worker-declared beacon for raw blocker lifecycle timing; I never infer blockers from focus, sessions, or prose. I never park my own action on the user ("your call", "remember to") — the B-PARK/B-IDLEAK signals flag that for the outbound gate. Ships dark-on-fleet / live-in-dryRun-on-dev (\`commitments.agentOwnedFollowthrough\`). Constitution: "The Agent Carries the Loop".
|
|
652
|
+
I declare owner/blockedOn at commitment creation; a later state change goes through \`POST /commitments/:id/transition\` (re-runs the gate, no close-and-reopen). That transition is also the explicit, worker-declared beacon for raw blocker lifecycle timing; I never infer blockers from focus, sessions, or prose. Delivered commitments feed the same measure-only ledger's \`deliverable-completion\` count; \`GET /blocker-lifecycle/summary\` and \`/trend\` show the count and rolling direction without authorizing selection, pressure, notification, or action. I never park my own action on the user ("your call", "remember to") — the B-PARK/B-IDLEAK signals flag that for the outbound gate. Ships dark-on-fleet / live-in-dryRun-on-dev (\`commitments.agentOwnedFollowthrough\`). Constitution: "The Agent Carries the Loop".
|
|
653
653
|
|
|
654
654
|
**Apprenticeship Program** — The standing program that each apprenticeship/mentorship instance plugs into (e.g. Echo mentors Codey, then Codey mentors Gemini while Echo oversees). An instance is a project with a locked role triple (overseer / mentor / mentee), a framework, and a required-artifact checklist. Two lifecycle GATES make "review before you start / capture before you close" unskippable at the state-mutating transition: the retro-gate refuses \`pending→active\` unless the prior instance's retro-harvest exists at its canonical confined path AND passes the Step 0 validator (the first instance is seeded by the Echo→Codey bootstrap harvest); the doc-as-required-artifact gate refuses \`active→complete\` until the declared-required artifacts are verified present FROM LIVE STATE (never a stored flag). The gates are structural preconditions on objective artifacts — quality stays with the overseer (the mind); every verdict is audited to \`logs/apprenticeship-decisions.jsonl\`.
|
|
655
655
|
- Independence ladder: each instance carries \`ladderRung\` (R0–R5) plus append-only \`rungHistory\`. Move exactly one rung with \`POST /apprenticeship/instances/:id/rung-transition\` and \`{"to":1,"evidenceRef":"cycles:...; prs:..."}\`; promotion and demotion both require evidence, and accepted/refused attempts are audited.
|
|
@@ -686,8 +686,8 @@ export const CAPABILITY_INDEX = [
|
|
|
686
686
|
'POST /commitments/:id/withdraw — withdraw the commitment',
|
|
687
687
|
'POST /commitments/:id/resume — resume a paused commitment',
|
|
688
688
|
'GET /commitments/active-context — assemble active-commitment context',
|
|
689
|
-
'GET /blocker-lifecycle/summary — raw per-origin blocker timing
|
|
690
|
-
'GET /blocker-lifecycle/trend — raw per-origin blocker timing
|
|
689
|
+
'GET /blocker-lifecycle/summary — raw per-origin blocker timing plus deliverable-completion count',
|
|
690
|
+
'GET /blocker-lifecycle/trend — raw per-origin blocker timing plus completion-count direction',
|
|
691
691
|
],
|
|
692
692
|
}),
|
|
693
693
|
},
|