@dsh-enhanced/assistant-memory-learning 0.1.64 → 0.1.66
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/README.md +18 -6
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +7 -2
- package/lib/config.js.map +1 -1
- package/lib/extractor.d.ts.map +1 -1
- package/lib/extractor.js +12 -4
- package/lib/extractor.js.map +1 -1
- package/lib/runtime.d.ts +26 -5
- package/lib/runtime.d.ts.map +1 -1
- package/lib/runtime.js +184 -33
- package/lib/runtime.js.map +1 -1
- package/lib/scanner-owner-runtime.d.ts +32 -0
- package/lib/scanner-owner-runtime.d.ts.map +1 -0
- package/lib/scanner-owner-runtime.js +89 -0
- package/lib/scanner-owner-runtime.js.map +1 -0
- package/lib/store.d.ts +1 -1
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +44 -14
- package/lib/store.js.map +1 -1
- package/lib/types.d.ts +41 -7
- package/lib/types.d.ts.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +13 -13
package/lib/runtime.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ScannerOwnerGuard, ScannerOwnerUnavailable } from './scanner-owner-runtime.js';
|
|
2
|
+
import { hasWorkItemLearningFeedbackText, growthObjectDigest, memoryLearningRequestDigest, validateMemoryLearningReviewRequest } from '@dsh-enhanced/assistant-growth-contract';
|
|
2
3
|
import { validateLearningConfig, validateLearningModel } from './config.js';
|
|
3
4
|
import { LearningStore } from './store.js';
|
|
4
5
|
const OWNER = 'assistant-memory-learning';
|
|
@@ -8,10 +9,15 @@ class SourcePending extends Error {
|
|
|
8
9
|
}
|
|
9
10
|
class SourceObsolete extends Error {
|
|
10
11
|
}
|
|
12
|
+
const presentationFlags = (task) => ({
|
|
13
|
+
brief: { truncated: task.presentation.brief.truncated, redacted: task.presentation.brief.redacted },
|
|
14
|
+
report: { truncated: task.presentation.report.truncated, redacted: task.presentation.report.redacted },
|
|
15
|
+
feedback: { truncated: task.presentation.feedback.truncated, redacted: task.presentation.feedback.redacted },
|
|
16
|
+
});
|
|
11
17
|
const same = (a, b) => growthObjectDigest(a) === growthObjectDigest(b);
|
|
12
18
|
const reasonText = (value) => Array.from(String(value).normalize('NFC').replaceAll('\0', '').trim())
|
|
13
19
|
.slice(0, 120).join('') || 'learning-incomplete';
|
|
14
|
-
/**
|
|
20
|
+
/** Three durable source cursors (work items require explicit opt-in). Native Automations owns every timer and dispatch. */
|
|
15
21
|
export class MemoryLearningRuntime {
|
|
16
22
|
ports;
|
|
17
23
|
config;
|
|
@@ -22,6 +28,9 @@ export class MemoryLearningRuntime {
|
|
|
22
28
|
abort = new AbortController();
|
|
23
29
|
flights = new Set();
|
|
24
30
|
unregister;
|
|
31
|
+
ownerGuard;
|
|
32
|
+
unsubscribeWake;
|
|
33
|
+
initialized = false;
|
|
25
34
|
active = false;
|
|
26
35
|
scanning = false;
|
|
27
36
|
lastError = null;
|
|
@@ -33,10 +42,11 @@ export class MemoryLearningRuntime {
|
|
|
33
42
|
this.configDigest = growthObjectDigest(this.config);
|
|
34
43
|
this.lane = growthObjectDigest([this.config.authorityId, this.config.owner]);
|
|
35
44
|
this.scanId = `memory-scan-${this.lane}`;
|
|
45
|
+
this.ownerGuard = new ScannerOwnerGuard(OWNER, this.scanId, this.scope(), ports.delivery, ports.automations, this.config.owner);
|
|
36
46
|
for (const [port, methods] of [
|
|
37
|
-
[ports.delivery, ['validateOwnerRoute', 'listOwnerForegroundTaskSources', 'inspectOwnerForegroundTaskSource', 'withOwnerForegroundTaskSourcesFence', 'inspectOwnerForegroundLearningTask']],
|
|
47
|
+
[ports.delivery, ['inspectOwnerRouteState', 'validateOwnerRoute', 'listOwnerForegroundTaskSources', 'inspectOwnerForegroundTaskSource', 'withOwnerForegroundTaskSourcesFence', 'inspectOwnerForegroundLearningTask']],
|
|
38
48
|
[ports.evaluation, ['canonicalHostScope', 'listTrustedTaskLearningProjections', 'withTrustedCanonicalScopeWriterFence', 'getTrustedForegroundLearningProjection', 'inspectTrustedTaskOwnerRevision']],
|
|
39
|
-
[ports.automations, ['registerHostExecutor', 'reconcileSystem', 'inspectSystemOwnedActivation', 'inspectSystemOwned']],
|
|
49
|
+
[ports.automations, ['inspectSystemOwnedRetirement', 'retireSystemOwned', 'onSchedulerWake', 'registerHostExecutor', 'reconcileSystem', 'inspectSystemOwnedActivation', 'inspectSystemOwned']],
|
|
40
50
|
[ports.memory, ['listLearningTargets', 'inspectLearningAdoptionAvailability', 'lookupLearningAdoption', 'adoptReviewedLearning']],
|
|
41
51
|
[ports.verifier, ['inspectMemoryLearningReviewAvailability', 'reviewMemoryLearning', 'lookupMemoryLearningReview']],
|
|
42
52
|
[ports.policy, ['evaluate', 'authorize']],
|
|
@@ -47,13 +57,22 @@ export class MemoryLearningRuntime {
|
|
|
47
57
|
this.store = new LearningStore(this.config.databasePath, { authorityId: this.config.authorityId,
|
|
48
58
|
configDigest: this.configDigest, maxExtractions: this.config.maxExtractions });
|
|
49
59
|
}
|
|
50
|
-
health = () => ({ enabled: true, connected: this.active, lastScanAt: this.lastScanAt,
|
|
60
|
+
health = () => ({ enabled: true, connected: this.active && !this.ownerGuard.retired, lastScanAt: this.lastScanAt,
|
|
51
61
|
lastError: this.lastError, counts: this.store.counts(this.lane), ...this.store.availability() });
|
|
52
62
|
start() {
|
|
53
63
|
if (this.active || this.closing)
|
|
54
64
|
throw new Error('memory learning runtime cannot be started twice');
|
|
65
|
+
let recoverNativeScanner = false;
|
|
66
|
+
try {
|
|
67
|
+
this.ownerGuard.check();
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
this.lastError = String(error).slice(0, 200);
|
|
71
|
+
if (this.ownerGuard.retired)
|
|
72
|
+
return;
|
|
73
|
+
recoverNativeScanner = this.ownerGuard.canReconcileScanner;
|
|
74
|
+
}
|
|
55
75
|
try {
|
|
56
|
-
this.store.interrupt(this.lane);
|
|
57
76
|
this.unregister = this.ports.automations.registerHostExecutor({
|
|
58
77
|
descriptor: { executorId: EXECUTOR, contractVersion: 1, catalogDigest: CATALOG },
|
|
59
78
|
accepts: spec => spec.executorId === EXECUTOR && spec.executorContractVersion === 1 && spec.catalogDigest === CATALOG
|
|
@@ -66,26 +85,55 @@ export class MemoryLearningRuntime {
|
|
|
66
85
|
},
|
|
67
86
|
});
|
|
68
87
|
this.active = true;
|
|
69
|
-
this.
|
|
70
|
-
|
|
71
|
-
|
|
88
|
+
this.unsubscribeWake = this.ports.automations.onSchedulerWake(() => {
|
|
89
|
+
if (!this.active || this.initialized || this.ownerGuard.retired)
|
|
90
|
+
return;
|
|
91
|
+
try {
|
|
92
|
+
this.initializeScanner();
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
this.lastError = String(error).slice(0, 200);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
72
98
|
// One bounded activation reconciliation; subsequent scans are native jobs.
|
|
99
|
+
if (recoverNativeScanner) {
|
|
100
|
+
try {
|
|
101
|
+
this.ports.automations.reconcileSystem({ owner: OWNER, automationId: this.scanId,
|
|
102
|
+
idempotencyKey: `${this.scanId}:${this.configDigest}`, desiredStatus: 'active', definition: this.definition() });
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
this.lastError = String(error).slice(0, 200);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
73
108
|
this.scan();
|
|
74
109
|
}
|
|
75
110
|
catch (error) {
|
|
76
111
|
this.active = false;
|
|
112
|
+
this.unsubscribeWake?.();
|
|
77
113
|
this.unregister?.();
|
|
78
114
|
this.abort.abort(error);
|
|
79
115
|
this.store.close();
|
|
80
116
|
throw error;
|
|
81
117
|
}
|
|
82
118
|
}
|
|
119
|
+
initializeScanner() {
|
|
120
|
+
const owner = this.owner();
|
|
121
|
+
if (!this.initialized) {
|
|
122
|
+
this.store.interrupt(this.lane);
|
|
123
|
+
this.ports.automations.reconcileSystem({ owner: OWNER, automationId: this.scanId,
|
|
124
|
+
idempotencyKey: `${this.scanId}:${this.configDigest}`, desiredStatus: 'active', definition: this.definition() });
|
|
125
|
+
this.initialized = true;
|
|
126
|
+
}
|
|
127
|
+
return owner;
|
|
128
|
+
}
|
|
83
129
|
close() {
|
|
84
130
|
return this.closing ??= (async () => {
|
|
85
131
|
this.active = false;
|
|
132
|
+
this.unsubscribeWake?.();
|
|
86
133
|
this.unregister?.();
|
|
87
134
|
this.abort.abort(new Error('memory learning provider disposed'));
|
|
88
|
-
this.
|
|
135
|
+
if (!this.ownerGuard.retired && this.initialized)
|
|
136
|
+
this.store.interrupt(this.lane);
|
|
89
137
|
const deadline = AbortSignal.timeout(5000);
|
|
90
138
|
let release;
|
|
91
139
|
const expired = new Promise(resolve => {
|
|
@@ -113,6 +161,7 @@ export class MemoryLearningRuntime {
|
|
|
113
161
|
owner() {
|
|
114
162
|
if (!this.active)
|
|
115
163
|
throw new Error('memory learning unavailable');
|
|
164
|
+
this.ownerGuard.check();
|
|
116
165
|
const current = this.ports.delivery.validateOwnerRoute(this.scope());
|
|
117
166
|
for (const key of Object.keys(this.config.owner)) {
|
|
118
167
|
if (current[key] !== this.config.owner[key])
|
|
@@ -127,13 +176,14 @@ export class MemoryLearningRuntime {
|
|
|
127
176
|
if (decision.effect !== 'allow')
|
|
128
177
|
throw new Error('memory learning extraction policy denied');
|
|
129
178
|
}
|
|
130
|
-
available() {
|
|
179
|
+
available(workItem = false, claimed = false) {
|
|
131
180
|
this.owner();
|
|
132
181
|
this.policy();
|
|
133
182
|
const review = this.ports.verifier.inspectMemoryLearningReviewAvailability({ owner: this.config.owner });
|
|
134
183
|
const memory = this.ports.memory.inspectLearningAdoptionAvailability({ owner: this.config.owner });
|
|
135
|
-
return Date.now() < this.config.expiresAt && this.store.availability().available && review?.available === true
|
|
184
|
+
return Date.now() < this.config.expiresAt && (claimed || this.store.availability().available) && review?.available === true
|
|
136
185
|
&& review.authorityId === this.config.reviewAuthorityId && review.authorityDigest === this.config.reviewAuthorityDigest
|
|
186
|
+
&& (!workItem || review.workItemExperiences === true && memory.workItemExperiences === true)
|
|
137
187
|
&& memory.available && memory.authorityId === this.config.adoptionAuthorityId && memory.grantDigest === this.config.adoptionGrantDigest;
|
|
138
188
|
}
|
|
139
189
|
evaluationFence(callback) {
|
|
@@ -145,7 +195,56 @@ export class MemoryLearningRuntime {
|
|
|
145
195
|
throw new SourcePending('canonical scope changed during read');
|
|
146
196
|
return result.value;
|
|
147
197
|
}
|
|
198
|
+
withWorkItemSource(job, callback) {
|
|
199
|
+
this.abort.signal.throwIfAborted();
|
|
200
|
+
this.owner();
|
|
201
|
+
this.policy();
|
|
202
|
+
const intent = job.intent;
|
|
203
|
+
if (intent.sourceKind !== 'work-item' || !this.config.workItemExperiences
|
|
204
|
+
|| intent.configDigest !== this.configDigest || !same(intent.owner, this.config.owner)
|
|
205
|
+
|| Date.now() >= Math.min(intent.expiresAt, this.config.expiresAt))
|
|
206
|
+
throw new SourceObsolete('work-item learning authority expired');
|
|
207
|
+
const owner = this.config.owner;
|
|
208
|
+
const scope = this.ports.evaluation.canonicalHostScope({ workspace: owner.workspace, preset: owner.agentPreset });
|
|
209
|
+
const current = this.ports.evaluation.getTrustedWorkItemLearningProjection({ scope, itemId: intent.itemId });
|
|
210
|
+
const expected = intent.canonical;
|
|
211
|
+
if (!current || current.projection.disposition !== 'upsert' || current.objective?.outcomeId !== expected.outcomeId
|
|
212
|
+
|| current.projection.version !== expected.version || current.projection.digest !== expected.digest
|
|
213
|
+
|| current.objective.status !== expected.objectiveStatus)
|
|
214
|
+
throw new SourceObsolete('work-item canonical result changed');
|
|
215
|
+
const task = this.ports.delivery.inspectOwnerWorkItemLearningTask?.({ ...this.scope(), outcomeId: expected.outcomeId });
|
|
216
|
+
if (!task || !this.ports.delivery.withOwnerWorkItemLearningTaskFence)
|
|
217
|
+
throw new SourcePending('work-item reader temporarily unavailable');
|
|
218
|
+
const check = (value) => {
|
|
219
|
+
if (value.proofIdentity.itemId !== intent.itemId || value.canonical.objective?.outcomeId !== expected.outcomeId
|
|
220
|
+
|| value.canonical.projection.version !== expected.version || value.canonical.projection.digest !== expected.digest
|
|
221
|
+
|| value.canonical.objective.status !== expected.objectiveStatus
|
|
222
|
+
|| value.owner.authorityHash !== owner.authorityHash || value.owner.principalRecordId !== owner.principalRecordId
|
|
223
|
+
|| value.owner.principalVersion !== owner.principalVersion)
|
|
224
|
+
throw new SourceObsolete('work-item source changed');
|
|
225
|
+
if (Object.values(value.presentation).some(part => part.truncated))
|
|
226
|
+
throw new SourceObsolete('work-item presentation exceeds text boundary');
|
|
227
|
+
if (!hasWorkItemLearningFeedbackText(value.presentation.feedback.text))
|
|
228
|
+
throw new SourceObsolete('work-item owner feedback has no visible text');
|
|
229
|
+
if (job.snapshot && (job.snapshot.sourceKind !== 'work-item'
|
|
230
|
+
|| value.sourceDigest !== job.snapshot.source.sourceDigest || value.presentationDigest !== job.snapshot.source.contentDigest
|
|
231
|
+
|| value.presentation.brief.text !== job.snapshot.taskBrief || value.presentation.report.text !== job.snapshot.workerReport
|
|
232
|
+
|| value.presentation.feedback.text !== job.snapshot.ownerFeedback
|
|
233
|
+
|| !same(presentationFlags(value), job.snapshot.presentationFlags)
|
|
234
|
+
|| !same(this.config.model ?? value.proofIdentity.supplier, job.snapshot.model)))
|
|
235
|
+
throw new SourceObsolete('frozen work-item source changed');
|
|
236
|
+
return callback(value);
|
|
237
|
+
};
|
|
238
|
+
return this.ports.delivery.withOwnerWorkItemLearningTaskFence({ ...this.scope(), itemId: intent.itemId,
|
|
239
|
+
outcomeId: expected.outcomeId, expectedSourceDigest: task.sourceDigest, expectedContentDigest: task.presentationDigest,
|
|
240
|
+
canonical: { version: expected.version, digest: expected.digest, objectiveStatus: expected.objectiveStatus } }, check);
|
|
241
|
+
}
|
|
242
|
+
withCurrentSource(job, callback) {
|
|
243
|
+
return job.intent.sourceKind === 'work-item' ? this.withWorkItemSource(job, callback) : this.withSource(job, callback);
|
|
244
|
+
}
|
|
148
245
|
withSource(job, callback) {
|
|
246
|
+
if (job.intent.sourceKind === 'work-item')
|
|
247
|
+
throw new Error('foreground source required');
|
|
149
248
|
this.abort.signal.throwIfAborted();
|
|
150
249
|
this.owner();
|
|
151
250
|
this.policy();
|
|
@@ -206,7 +305,7 @@ export class MemoryLearningRuntime {
|
|
|
206
305
|
this.scanning = true;
|
|
207
306
|
try {
|
|
208
307
|
this.lastError = null;
|
|
209
|
-
this.
|
|
308
|
+
this.initializeScanner();
|
|
210
309
|
// Lost acknowledgements reconcile before admitting more paid work.
|
|
211
310
|
for (const job of this.store.pending(this.lane))
|
|
212
311
|
if (job.state === 'unknown') {
|
|
@@ -274,6 +373,34 @@ export class MemoryLearningRuntime {
|
|
|
274
373
|
if (!page.hasMore)
|
|
275
374
|
break;
|
|
276
375
|
}
|
|
376
|
+
if (this.config.workItemExperiences) {
|
|
377
|
+
stopped = false;
|
|
378
|
+
for (let pageNumber = 0; pageNumber < 10 && !stopped; pageNumber++) {
|
|
379
|
+
const after = this.store.cursor(this.lane, 'evaluation-work-items');
|
|
380
|
+
const page = this.ports.evaluation.listTrustedTaskLearningProjections({ scope, ...(after ? { after } : {}), limit: 100 });
|
|
381
|
+
for (const item of page.items) {
|
|
382
|
+
const canonical = item.receipt, now = Date.now(), at = canonical.objective?.occurredAt ?? 0;
|
|
383
|
+
const workItem = canonical.projection.subjectKind === 'work-item';
|
|
384
|
+
const status = canonical.objective?.status;
|
|
385
|
+
const eligible = workItem && canonical.projection.disposition === 'upsert' && (status === 'achieved' || status === 'not-achieved')
|
|
386
|
+
&& at <= now && now - at <= this.config.lookbackMs;
|
|
387
|
+
const subject = workItem ? `work-item:${canonical.projection.subjectRef}` : 'cursor:work-items';
|
|
388
|
+
const intent = eligible ? { configDigest: this.configDigest, owner, kind: 'experience',
|
|
389
|
+
sourceKind: 'work-item', itemId: canonical.projection.subjectRef, subject,
|
|
390
|
+
canonical: { outcomeId: canonical.objective.outcomeId, version: canonical.projection.version,
|
|
391
|
+
digest: canonical.projection.digest, objectiveStatus: status }, createdAt: now,
|
|
392
|
+
expiresAt: Math.min(this.config.expiresAt, now + this.config.lookbackMs) } : undefined;
|
|
393
|
+
const result = this.ports.evaluation.withTrustedCanonicalScopeWriterFence({ scope, scopeWatermark: page.scopeWatermark }, () => this.store.stage({ lane: this.lane, feed: 'evaluation-work-items', cursor: { scopeKey: page.nextCursor.scopeKey, watermark: item.watermark },
|
|
394
|
+
sequence: item.watermark, subject, ...(intent ? { intent } : {}), maxPending: this.config.maxPending, supersede: workItem }));
|
|
395
|
+
if (!result.matched || !result.value) {
|
|
396
|
+
stopped = true;
|
|
397
|
+
break;
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
if (!page.hasMore)
|
|
401
|
+
break;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
277
404
|
for (const pending of this.store.pending(this.lane)) {
|
|
278
405
|
if (pending.state !== 'pending' && pending.state !== 'queued')
|
|
279
406
|
continue;
|
|
@@ -282,17 +409,36 @@ export class MemoryLearningRuntime {
|
|
|
282
409
|
if (job.state === 'pending') {
|
|
283
410
|
// Each API owns its own producer locks; do not nest target discovery.
|
|
284
411
|
const targets = this.ports.memory.listLearningTargets({ owner, limit: 20 });
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
412
|
+
if (job.intent.sourceKind === 'work-item') {
|
|
413
|
+
if (!this.available(true))
|
|
414
|
+
continue;
|
|
415
|
+
job = this.withWorkItemSource(job, task => this.store.freeze(job.id, {
|
|
416
|
+
sourceKind: 'work-item', presentationFlags: presentationFlags(task), model: validateLearningModel(this.config.model ?? task.proofIdentity.supplier),
|
|
417
|
+
source: { protocol: 'memory-learning-source/work-item/v1', itemId: task.proofIdentity.itemId,
|
|
418
|
+
sourceDigest: task.sourceDigest, contentDigest: task.presentationDigest, canonical: job.intent.canonical },
|
|
419
|
+
taskBrief: task.presentation.brief.text, workerReport: task.presentation.report.text,
|
|
420
|
+
ownerFeedback: task.presentation.feedback.text, targets: targets.filter(target => target.kind === 'experience'),
|
|
421
|
+
}));
|
|
422
|
+
}
|
|
423
|
+
else
|
|
424
|
+
job = this.withSource(job, (content, feedback) => this.store.freeze(job.id, {
|
|
425
|
+
model: validateLearningModel(this.config.model ?? content.source.execution.modelSelection),
|
|
426
|
+
source: { inboxId: content.source.inboxId, sourceDigest: content.sourceDigest, contentDigest: content.contentDigest,
|
|
427
|
+
...(job.intent.canonical ? { canonical: job.intent.canonical } : {}) },
|
|
428
|
+
ownerStatement: content.input.text, assistantReply: content.reply.text,
|
|
429
|
+
...(feedback === undefined ? {} : { ownerFeedback: feedback }), targets,
|
|
430
|
+
}));
|
|
431
|
+
}
|
|
432
|
+
if (job.intent.sourceKind === 'work-item') {
|
|
433
|
+
this.withCurrentSource(job, () => undefined);
|
|
434
|
+
this.schedule(job);
|
|
292
435
|
}
|
|
293
|
-
|
|
436
|
+
else
|
|
437
|
+
this.withCurrentSource(job, () => this.schedule(job));
|
|
294
438
|
}
|
|
295
439
|
catch (error) {
|
|
440
|
+
if (error instanceof ScannerOwnerUnavailable)
|
|
441
|
+
throw error;
|
|
296
442
|
if (error instanceof SourceObsolete)
|
|
297
443
|
this.store.settle(pending.id, 'superseded', reasonText(error.message));
|
|
298
444
|
// Missing source/provider/scheduling readiness keeps the same durable intent.
|
|
@@ -354,12 +500,12 @@ export class MemoryLearningRuntime {
|
|
|
354
500
|
}
|
|
355
501
|
reconcile(job) {
|
|
356
502
|
try {
|
|
503
|
+
this.owner();
|
|
357
504
|
const prior = this.ports.memory.lookupLearningAdoption({ request: job.request });
|
|
358
505
|
if (prior) {
|
|
359
506
|
this.store.settle(job.id, 'adopted', 'reconciled-original-adoption', prior.receiptDigest);
|
|
360
507
|
return;
|
|
361
508
|
}
|
|
362
|
-
this.withSource(job, () => undefined);
|
|
363
509
|
const review = this.ports.verifier.lookupMemoryLearningReview(job.request);
|
|
364
510
|
if (!review || !this.reviewMatches(job, review) || review.status === 'unknown')
|
|
365
511
|
return;
|
|
@@ -367,15 +513,15 @@ export class MemoryLearningRuntime {
|
|
|
367
513
|
this.store.settle(job.id, 'rejected', reasonText(review.reason), review.receiptDigest);
|
|
368
514
|
else {
|
|
369
515
|
// Lookup completed outside producer locks. Memory owns its adoption locks.
|
|
370
|
-
this.
|
|
516
|
+
this.withCurrentSource(job, () => undefined);
|
|
371
517
|
const adopted = this.ports.memory.adoptReviewedLearning({ request: job.request });
|
|
372
518
|
this.store.settle(job.id, 'adopted', 'reconciled-approved-adoption', adopted.receiptDigest);
|
|
373
519
|
}
|
|
374
520
|
}
|
|
375
|
-
catch
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
//
|
|
521
|
+
catch {
|
|
522
|
+
// A canonical change cannot prove that the original operation did not
|
|
523
|
+
// commit. Keep every saved unknown request queryable until an original
|
|
524
|
+
// receipt or explicit terminal review settles it; never replay paid calls.
|
|
379
525
|
}
|
|
380
526
|
}
|
|
381
527
|
async execute(input) {
|
|
@@ -405,9 +551,9 @@ export class MemoryLearningRuntime {
|
|
|
405
551
|
}
|
|
406
552
|
const queued = this.store.get(input.automationId);
|
|
407
553
|
if (!queued || queued.state !== 'queued' || !queued.snapshot || queued.digest !== input.activationNonce
|
|
408
|
-
|| queued.definitionHash !== input.definitionHash || !this.available())
|
|
554
|
+
|| queued.definitionHash !== input.definitionHash || !this.available(queued.intent.sourceKind === 'work-item'))
|
|
409
555
|
throw new Error('learning job is not admissible');
|
|
410
|
-
this.
|
|
556
|
+
this.withCurrentSource(queued, () => { claimed = this.store.claim(queued.id, input.definitionHash, input.occurrenceId); });
|
|
411
557
|
const job = claimed;
|
|
412
558
|
const signal = AbortSignal.any([input.signal, this.abort.signal, AbortSignal.timeout(Math.max(1, Math.min(this.config.timeoutMs + 310_000, job.intent.expiresAt - Date.now(), this.config.expiresAt - Date.now())))]);
|
|
413
559
|
const assertCurrent = () => {
|
|
@@ -415,11 +561,13 @@ export class MemoryLearningRuntime {
|
|
|
415
561
|
const current = this.store.get(job.id);
|
|
416
562
|
if (!current || current.state !== 'running' || current.occurrenceId !== input.occurrenceId)
|
|
417
563
|
throw new Error('learning claim superseded');
|
|
418
|
-
this.
|
|
564
|
+
this.withCurrentSource(job, () => undefined);
|
|
419
565
|
};
|
|
420
566
|
assertCurrent();
|
|
421
567
|
this.policy(true, `memory-extract:${this.config.authorityId}:${job.id}`);
|
|
422
568
|
const extractionSignal = AbortSignal.any([signal, AbortSignal.timeout(this.config.timeoutMs)]);
|
|
569
|
+
if (job.intent.sourceKind === 'work-item' && !this.available(true, true))
|
|
570
|
+
throw new Error('work-item learning capabilities unavailable before extraction');
|
|
423
571
|
const extraction = await this.ports.extract({ config: this.config, job, signal: extractionSignal, assertCurrent });
|
|
424
572
|
assertCurrent();
|
|
425
573
|
if (!extraction.proposal) {
|
|
@@ -427,15 +575,18 @@ export class MemoryLearningRuntime {
|
|
|
427
575
|
return result('succeeded');
|
|
428
576
|
}
|
|
429
577
|
const proposal = extraction.proposal;
|
|
430
|
-
const quoteSources =
|
|
578
|
+
const quoteSources = job.snapshot.sourceKind === 'work-item' ? [job.snapshot.ownerFeedback]
|
|
579
|
+
: [job.snapshot.ownerStatement, job.snapshot.ownerFeedback ?? ''];
|
|
580
|
+
if (job.snapshot.sourceKind === 'work-item' && !hasWorkItemLearningFeedbackText(proposal.evidenceQuote))
|
|
581
|
+
throw new Error('work-item quotation has no visible text');
|
|
431
582
|
if (!quoteSources.some(text => text.includes(proposal.evidenceQuote)))
|
|
432
583
|
throw new Error('learning quotation is not an owner source');
|
|
433
584
|
if (proposal.mutation.op !== 'remove' && proposal.mutation.entry.kind !== job.intent.kind)
|
|
434
585
|
throw new Error('learning kind changed');
|
|
435
586
|
const mutation = proposal.mutation;
|
|
436
|
-
if (mutation.op !== 'add' && !job.snapshot.targets.some(target => target.id === mutation.id && target.version === mutation.expectedVersion))
|
|
587
|
+
if (mutation.op !== 'add' && !job.snapshot.targets.some(target => target.id === mutation.id && target.version === mutation.expectedVersion && target.kind === job.intent.kind))
|
|
437
588
|
throw new Error('learning target not in frozen managed set');
|
|
438
|
-
const request = validateMemoryLearningReviewRequest({ protocol: 'memory-learning-review/v1',
|
|
589
|
+
const request = validateMemoryLearningReviewRequest({ protocol: job.intent.sourceKind === 'work-item' ? 'memory-learning-review/v2' : 'memory-learning-review/v1',
|
|
439
590
|
operationId: job.id, extractionSessionId: extraction.sessionId,
|
|
440
591
|
owner, source: job.snapshot.source, ...proposal });
|
|
441
592
|
const saved = this.store.saveRequest(job.id, input.occurrenceId, request);
|
package/lib/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { AssistantAutomationsService } from '@dsh-enhanced/assistant-automations';
|
|
2
|
+
import type { AssistantDeliveryService, OwnerRouteValidationReceipt } from '@dsh-enhanced/assistant-delivery';
|
|
3
|
+
type Automations = Pick<AssistantAutomationsService, 'inspectSystemOwnedRetirement' | 'retireSystemOwned' | 'inspectSystemOwned'>;
|
|
4
|
+
type Delivery = Pick<AssistantDeliveryService, 'inspectOwnerRouteState'>;
|
|
5
|
+
type Scope = {
|
|
6
|
+
authorityId: string;
|
|
7
|
+
principalId: string;
|
|
8
|
+
workspace: string;
|
|
9
|
+
agentPreset: string;
|
|
10
|
+
};
|
|
11
|
+
/** Availability failures must never be interpreted as obsolete task evidence. */
|
|
12
|
+
export declare class ScannerOwnerUnavailable extends Error {
|
|
13
|
+
}
|
|
14
|
+
/** Retires only this scanner, preserving its jobs, requests, grants and budgets. */
|
|
15
|
+
export declare class ScannerOwnerGuard {
|
|
16
|
+
private readonly owner;
|
|
17
|
+
private readonly automationId;
|
|
18
|
+
private readonly scope;
|
|
19
|
+
private readonly delivery;
|
|
20
|
+
private readonly automations;
|
|
21
|
+
private readonly expected?;
|
|
22
|
+
retired: boolean;
|
|
23
|
+
canReconcileScanner: boolean;
|
|
24
|
+
constructor(owner: string, automationId: string, scope: Scope, delivery: Delivery, automations: Automations, expected?: {
|
|
25
|
+
authorityHash: string;
|
|
26
|
+
principalRecordId: string;
|
|
27
|
+
principalVersion: number;
|
|
28
|
+
} | undefined);
|
|
29
|
+
check(): OwnerRouteValidationReceipt;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=scanner-owner-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanner-owner-runtime.d.ts","sourceRoot":"","sources":["../src/scanner-owner-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAA;AACtF,OAAO,KAAK,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAE7G,KAAK,WAAW,GAAG,IAAI,CAAC,2BAA2B,EAAE,8BAA8B,GAAG,mBAAmB,GAAG,oBAAoB,CAAC,CAAA;AACjI,KAAK,QAAQ,GAAG,IAAI,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAA;AACxE,KAAK,KAAK,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAA;AAGjG,iFAAiF;AACjF,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AAErD,oFAAoF;AACpF,qBAAa,iBAAiB;IAIhB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAU,OAAO,CAAC,QAAQ,CAAC,YAAY;IACvE,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAS,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAY,OAAO,CAAC,QAAQ,CAAC,WAAW;IAChG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAL5B,OAAO,UAAQ;IAEf,mBAAmB,UAAQ;gBACE,KAAK,EAAE,MAAM,EAAmB,YAAY,EAAE,MAAM,EAC9D,KAAK,EAAE,KAAK,EAAmB,QAAQ,EAAE,QAAQ,EAAmB,WAAW,EAAE,WAAW,EAC5F,QAAQ,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,YAAA;IAE5G,KAAK,IAAI,2BAA2B;CAmDrC"}
|