@dsh-enhanced/assistant-web-owner 0.1.65 → 0.1.67

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/lib/doctor.js CHANGED
@@ -5,7 +5,8 @@ import { homedir } from 'node:os';
5
5
  import { isAbsolute, join, normalize } from 'node:path';
6
6
  import { DatabaseSync } from 'node:sqlite';
7
7
  import { isDeepStrictEqual, promisify } from 'node:util';
8
- import { isMap, isScalar, isSeq, parseDocument } from 'yaml';
8
+ import { isMap, isScalar, isSeq, parseDocument, YAMLMap } from 'yaml';
9
+ import { literalAutonomyLinux, validateAutonomyLinuxPaths } from './autonomy.js';
9
10
  function fail(message) { throw new Error(`autonomy doctor: ${message}`); }
10
11
  function literal(node, label) {
11
12
  if (isScalar(node) && (node.tag === undefined || node.tag === 'tag:yaml.org,2002:str'))
@@ -79,15 +80,25 @@ export function inspectAutonomyProfile(source, profile, dshHome) {
79
80
  || typeof grant.principalRecordId !== 'string' || grant.principalRecordId.length === 0
80
81
  || !['revision', 'principalVersion', 'expiresAt', 'maxRuns', 'maxTotalDurationMs'].every(key => Number.isSafeInteger(grant[key]) && grant[key] > 0))
81
82
  fail('invalid managed grant or owner scope');
83
+ const stateRoot = path(isolation.get('stateRoot', true), 'Isolation stateRoot');
84
+ const common = { stateRoot,
85
+ databasePath: path(delivery.get('databasePath', true), 'Delivery databasePath', dshHome),
86
+ grant: { ...grant }, principal: { channel: 'web', account: profile, tenant: 'local', user: 'operator' } };
87
+ const backend = isolation.has('backend') ? literal(isolation.get('backend', true), 'Isolation backend') : 'docker';
88
+ if (backend === 'linux-native') {
89
+ if (isolation.has('image') || isolation.has('dockerPath') || isolation.has('socketPath'))
90
+ fail('mixed native and Docker configuration');
91
+ const linux = literalAutonomyLinux(isolation.get('linux', true));
92
+ validateAutonomyLinuxPaths(linux, stateRoot, dshHome);
93
+ return { ...common, backend, linux };
94
+ }
95
+ if (backend !== 'docker' || isolation.has('linux'))
96
+ fail('invalid isolation backend');
82
97
  const image = literal(isolation.get('image', true), 'Isolation image');
83
98
  if (typeof image !== 'string' || !/^sha256:[0-9a-f]{64}$/u.test(image))
84
99
  fail('immutable local isolation image required');
85
- return {
86
- image, dockerPath: isolation.has('dockerPath') ? path(isolation.get('dockerPath', true), 'Docker path') : '/usr/bin/docker',
87
- stateRoot: path(isolation.get('stateRoot', true), 'Isolation stateRoot'),
88
- databasePath: path(delivery.get('databasePath', true), 'Delivery databasePath', dshHome),
89
- grant: { ...grant }, principal: { channel: 'web', account: profile, tenant: 'local', user: 'operator' },
90
- };
100
+ return { ...common, image, dockerPath: isolation.has('dockerPath') ? path(isolation.get('dockerPath', true), 'Docker path') : '/usr/bin/docker',
101
+ ...(isolation.has('backend') ? { backend: 'docker' } : {}) };
91
102
  }
92
103
  /** A read-only snapshot, never pairing, migration, or an authorization for future execution. */
93
104
  export function inspectAutonomyOwner(profile) {
@@ -99,11 +110,12 @@ export function inspectAutonomyOwner(profile) {
99
110
  database.exec('PRAGMA query_only = ON; PRAGMA busy_timeout = 1000; BEGIN;');
100
111
  // Deliberately pinned rather than imported: each Delivery schema must be
101
112
  // reviewed before this self-contained read-only gate accepts it. v25 adds
102
- // foreground completion sequencing, v26 restart fences and v27 progress
103
- // handles; the principal authority fields below are unchanged from v24.
113
+ // foreground completion sequencing, v26 restart fences, v27 progress
114
+ // handles, v28 foreground termination, v29 report/reply sidecars, v30 owner feedback and v31 attention audit.
115
+ // Principal authority is unchanged from v24; reply state is not an owner receipt.
104
116
  // Unknown versions fail closed.
105
117
  const schemaVersion = database.prepare('PRAGMA user_version').get().user_version;
106
- if (![24, 25, 26, 27].includes(schemaVersion))
118
+ if (![24, 25, 26, 27, 28, 29, 30, 31].includes(schemaVersion))
107
119
  return { status: 'unavailable' };
108
120
  const row = database.prepare('SELECT principal_json, role, status, version, linked_to_id FROM delivery_principals WHERE id = ?').get(profile.grant.principalRecordId);
109
121
  if (!row || row.role !== 'owner' || row.status !== 'active' || row.version !== profile.grant.principalVersion || row.linked_to_id !== null
@@ -118,22 +130,353 @@ export function inspectAutonomyOwner(profile) {
118
130
  database?.close();
119
131
  }
120
132
  }
133
+ /** Verify only the persisted backend descriptor; never fetch, prepare or renew. */
134
+ export async function probeAutonomyProfileRuntime(profile) {
135
+ if (profile.backend === 'linux-native') {
136
+ const { verifyLinuxRuntime } = await import('@dsh-enhanced/assistant-isolation');
137
+ const { probeLinuxIsolationRuntime } = await import('@dsh-enhanced/assistant-isolation/native-resources');
138
+ await verifyLinuxRuntime(profile.linux.runtime);
139
+ await probeLinuxIsolationRuntime(profile.linux);
140
+ }
141
+ else {
142
+ const { probeIsolationRuntime } = await import('@dsh-enhanced/assistant-isolation');
143
+ await probeIsolationRuntime(profile.image, profile.dockerPath);
144
+ }
145
+ }
146
+ // ---------------------------------------------------------------------------
147
+ // Static autonomy readiness snapshot (ordinary-use learning assembly)
148
+ /** Installed bundles the ordinary-use learning assembly expects in one profile. */
149
+ const readinessBundleSlugs = [
150
+ 'personal-assistant',
151
+ 'assistant-work-items',
152
+ 'assistant-delivery',
153
+ 'assistant-evaluation',
154
+ 'assistant-verifier',
155
+ 'event-triggers',
156
+ 'assistant-memory-learning',
157
+ 'assistant-growth-driver',
158
+ 'assistant-proactive',
159
+ 'plugin-control-plane',
160
+ ];
161
+ /** Work-item intake evaluation levels; mirrors the work-items INTAKE_EVALUATION_LEVELS enum. */
162
+ const intakeEvaluationCeilings = new Set(['ignore', 'digest', 'notify', 'accept']);
163
+ const intakeRuleIdPattern = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/u;
164
+ function readinessRows(source) {
165
+ try {
166
+ const document = parseDocument(source, { customTags: [{ tag: 'tag:yaml.org,2002:js', resolve: (value) => value }] });
167
+ return document.errors.length === 0 && isSeq(document.contents) ? document.contents : undefined;
168
+ }
169
+ catch {
170
+ return undefined;
171
+ }
172
+ }
173
+ function readinessRow(rows, slug) {
174
+ const id = `dsh-enhanced-${slug}`;
175
+ const name = `@dsh-enhanced/${slug}`;
176
+ const matches = rows.items.filter(item => isMap(item) && (item.get('id') === id || item.get('name') === name));
177
+ return matches.length === 1 ? matches[0] : undefined;
178
+ }
179
+ function readinessLoaded(rows, slug) {
180
+ const row = readinessRow(rows, slug);
181
+ return row === undefined ? undefined : row.get('disabled') !== true;
182
+ }
183
+ function readinessConfig(rows, slug) {
184
+ const config = readinessRow(rows, slug)?.get('config', true);
185
+ if (config === undefined)
186
+ return new YAMLMap();
187
+ return isMap(config) ? config : undefined;
188
+ }
189
+ function readinessPlain(node) {
190
+ if (node === undefined)
191
+ return undefined;
192
+ if (isScalar(node))
193
+ return node.value;
194
+ if (isMap(node) || isSeq(node))
195
+ return node.toJSON();
196
+ return node;
197
+ }
198
+ /** Read one dotted config value without evaluating tagged expressions. */
199
+ function readinessValue(rows, slug, key) {
200
+ const config = readinessConfig(rows, slug);
201
+ if (config === undefined)
202
+ return undefined;
203
+ let node = config;
204
+ for (const segment of key.split('.')) {
205
+ if (!isMap(node))
206
+ return undefined;
207
+ node = node.get(segment, true);
208
+ }
209
+ return readinessPlain(node);
210
+ }
211
+ function validIntakeEvaluationRules(value) {
212
+ if (!Array.isArray(value) || value.length === 0 || value.length > 16)
213
+ return false;
214
+ const ids = new Set();
215
+ return value.every(rule => {
216
+ if (rule === null || typeof rule !== 'object' || Array.isArray(rule))
217
+ return false;
218
+ const record = rule;
219
+ if (Object.keys(record).sort().join(',') !== 'ceiling,ruleId')
220
+ return false;
221
+ const { ruleId, ceiling } = record;
222
+ if (typeof ruleId !== 'string' || !intakeRuleIdPattern.test(ruleId) || ids.has(ruleId))
223
+ return false;
224
+ ids.add(ruleId);
225
+ return typeof ceiling === 'string' && intakeEvaluationCeilings.has(ceiling);
226
+ });
227
+ }
228
+ function routeText(value) {
229
+ return typeof value === 'string' && value.length > 0 && value.length <= 200 ? value : null;
230
+ }
231
+ /**
232
+ * Inspect the composed profile without activating anything, calling a model or
233
+ * reading a database. Missing or mismatched configuration is reported as
234
+ * `not-ready` with a reason; this function never throws for an incomplete
235
+ * assembly, so a doctor run degrades into a snapshot instead of a crash.
236
+ */
237
+ export function inspectAutonomyReadiness(source, profile) {
238
+ const runtime = { observed: false,
239
+ note: 'static composed profile only; runtime registration, model calls, external delivery and Policy readiness are not observed' };
240
+ const rows = readinessRows(source);
241
+ if (rows === undefined) {
242
+ const check = { id: 'profile-composition', required: true, status: 'not-ready',
243
+ summary: 'effective profile is not an unambiguous YAML sequence',
244
+ reasons: [{ code: 'profile-unreadable', message: 'the composed profile could not be parsed; doctor reports not-ready instead of crashing' }],
245
+ details: {} };
246
+ return { protocol: 'dsh-enhanced/autonomy-readiness/v1', profile, scope: 'ordinary-use-learning', ready: false, checks: [check], runtime };
247
+ }
248
+ const checks = [];
249
+ const missing = [];
250
+ const disabled = [];
251
+ for (const slug of readinessBundleSlugs) {
252
+ const loaded = readinessLoaded(rows, slug);
253
+ if (loaded === undefined)
254
+ missing.push(slug);
255
+ else if (!loaded)
256
+ disabled.push(slug);
257
+ }
258
+ checks.push({
259
+ id: 'bundles', required: true,
260
+ status: missing.length === 0 && disabled.length === 0 ? 'ready' : 'not-ready',
261
+ summary: `${readinessBundleSlugs.length - missing.length - disabled.length}/${readinessBundleSlugs.length} expected bundles loaded`,
262
+ reasons: [
263
+ ...missing.map(slug => ({ code: `bundle-missing:${slug}`, message: `@dsh-enhanced/${slug} is not installed in this profile` })),
264
+ ...disabled.map(slug => ({ code: `bundle-disabled:${slug}`, message: `@dsh-enhanced/${slug} is installed but its loader row is disabled` })),
265
+ ],
266
+ details: { expected: readinessBundleSlugs.length, missing, disabled },
267
+ });
268
+ const workItemsLoaded = readinessLoaded(rows, 'assistant-work-items');
269
+ const workItemsEnabled = readinessValue(rows, 'assistant-work-items', 'enabled');
270
+ const workItemsMode = readinessValue(rows, 'assistant-work-items', 'mode');
271
+ const intakeLedger = readinessValue(rows, 'assistant-work-items', 'intakeLedger.enabled');
272
+ const workItemsReasons = [];
273
+ if (workItemsLoaded !== true) {
274
+ workItemsReasons.push({ code: 'work-items-unavailable', message: 'assistant-work-items is not installed and loaded, so no observe ledger can be written' });
275
+ }
276
+ else {
277
+ if (workItemsEnabled !== true)
278
+ workItemsReasons.push({ code: 'work-items-not-enabled', message: 'assistant-work-items.enabled is off; the ledger is inert' });
279
+ if (workItemsMode !== 'observe')
280
+ workItemsReasons.push({ code: 'work-items-not-observe', message: `assistant-work-items.mode is ${JSON.stringify(workItemsMode ?? null)}; the default assembly stays observe-only` });
281
+ if (intakeLedger !== true)
282
+ workItemsReasons.push({ code: 'work-items-intake-disabled', message: 'assistant-work-items.intakeLedger.enabled is off; inbound metadata is not recorded' });
283
+ }
284
+ checks.push({
285
+ id: 'work-items-observe-intake', required: true,
286
+ status: workItemsReasons.length === 0 ? 'ready' : 'not-ready',
287
+ summary: workItemsReasons.length === 0 ? 'observe ledger enabled with the deterministic intake ledger' : 'observe ledger / intake not assembled',
288
+ reasons: workItemsReasons,
289
+ details: { enabled: workItemsEnabled === true, mode: workItemsMode ?? null, intakeLedgerEnabled: intakeLedger === true },
290
+ });
291
+ const proactiveLoaded = readinessLoaded(rows, 'assistant-proactive');
292
+ const intakeEvaluationEnabled = readinessValue(rows, 'assistant-proactive', 'intakeEvaluation.enabled');
293
+ const intakeProvider = routeText(readinessValue(rows, 'assistant-proactive', 'intakeEvaluation.provider'));
294
+ const intakeModel = routeText(readinessValue(rows, 'assistant-proactive', 'intakeEvaluation.model'));
295
+ const intakeRules = readinessValue(rows, 'assistant-proactive', 'intakeEvaluation.rules');
296
+ const workItemsEvaluation = readinessValue(rows, 'assistant-work-items', 'intakeLedger.evaluation.enabled');
297
+ const evaluatorReasons = [];
298
+ if (workItemsLoaded !== true)
299
+ evaluatorReasons.push({ code: 'intake-evaluator-work-items-missing', message: 'assistant-work-items is unavailable, so an evaluator cannot register' });
300
+ else if (workItemsEvaluation !== true)
301
+ evaluatorReasons.push({ code: 'intake-evaluator-work-items-evaluation-off', message: 'assistant-work-items.intakeLedger.evaluation.enabled is off; the queue would refuse an evaluator registration' });
302
+ if (proactiveLoaded !== true)
303
+ evaluatorReasons.push({ code: 'intake-evaluator-producer-missing', message: 'assistant-proactive is not installed and loaded, so no production intake evaluator exists' });
304
+ else {
305
+ if (intakeEvaluationEnabled !== true)
306
+ evaluatorReasons.push({ code: 'intake-evaluator-disabled', message: 'assistant-proactive.intakeEvaluation.enabled is off; the preset only enables it after the owner declared rules and a model route' });
307
+ if (intakeProvider === null)
308
+ evaluatorReasons.push({ code: 'intake-evaluator-provider-missing', message: 'assistant-proactive.intakeEvaluation.provider is not configured' });
309
+ if (intakeModel === null)
310
+ evaluatorReasons.push({ code: 'intake-evaluator-model-missing', message: 'assistant-proactive.intakeEvaluation.model is not configured' });
311
+ if (!validIntakeEvaluationRules(intakeRules))
312
+ evaluatorReasons.push({ code: 'intake-evaluator-rules-invalid', message: 'assistant-proactive.intakeEvaluation.rules needs 1-16 entries with unique ruleId and ceiling in ignore|digest|notify|accept' });
313
+ }
314
+ checks.push({
315
+ id: 'intake-evaluator', required: true,
316
+ status: evaluatorReasons.length === 0 ? 'ready' : 'not-ready',
317
+ summary: evaluatorReasons.length === 0
318
+ ? `configured with ${Array.isArray(intakeRules) ? intakeRules.length : 0} rules; runtime registration is not observable from a static dump`
319
+ : 'production intake evaluator not assembled',
320
+ reasons: evaluatorReasons,
321
+ details: { configured: evaluatorReasons.length === 0, runtimeRegistration: 'not-observed',
322
+ provider: intakeProvider, model: intakeModel,
323
+ rules: Array.isArray(intakeRules) ? intakeRules.length : 0,
324
+ workItemsEvaluationEnabled: workItemsEvaluation === true },
325
+ });
326
+ const deliveryLoaded = readinessLoaded(rows, 'assistant-delivery');
327
+ const ownerReportFeedback = readinessValue(rows, 'assistant-work-items', 'ownerReportFeedback') === true;
328
+ const ownerReplyContinuation = readinessValue(rows, 'assistant-work-items', 'ownerReplyContinuation') === true;
329
+ checks.push({
330
+ id: 'delivery-natural-feedback', required: true,
331
+ status: deliveryLoaded === true ? 'ready' : 'not-ready',
332
+ summary: deliveryLoaded === true
333
+ ? `Delivery loaded; the natural feedback parser ships with the bundle (work-item report feedback: ${ownerReportFeedback ? 'on' : 'off'}, reply continuation: ${ownerReplyContinuation ? 'on' : 'off'})`
334
+ : 'assistant-delivery is not installed and loaded, so owner replies cannot become trusted feedback',
335
+ reasons: deliveryLoaded === true ? [] : [{ code: 'delivery-unavailable', message: 'assistant-delivery is not installed and loaded in this profile' }],
336
+ details: { installed: deliveryLoaded === true, ownerReportFeedback, ownerReplyContinuation },
337
+ });
338
+ const learningReasons = [];
339
+ const memoryLoaded = readinessLoaded(rows, 'assistant-memory-learning');
340
+ const memoryFlag = readinessValue(rows, 'assistant-memory-learning', 'workItemExperiences') === true;
341
+ const reviewFlag = readinessValue(rows, 'assistant-verifier', 'memoryReviews.workItemExperiences') === true;
342
+ const adoptionFlag = readinessValue(rows, 'personal-assistant', 'personalMemory.automaticLearning.workItemExperiences') === true;
343
+ if (memoryLoaded !== true)
344
+ learningReasons.push({ code: 'memory-learning-unavailable', message: 'assistant-memory-learning is not installed and loaded' });
345
+ else if (!memoryFlag)
346
+ learningReasons.push({ code: 'memory-work-item-experiences-off', message: 'assistant-memory-learning.workItemExperiences is off; the preset only turns it on after both signed grants already carry the same flag' });
347
+ else {
348
+ if (!reviewFlag)
349
+ learningReasons.push({ code: 'memory-review-grant-not-expanded', message: 'assistant-verifier.memoryReviews.workItemExperiences is off; a fresh review grant is required' });
350
+ if (!adoptionFlag)
351
+ learningReasons.push({ code: 'memory-adoption-grant-not-expanded', message: 'personal-assistant.personalMemory.automaticLearning.workItemExperiences is off; a fresh adoption grant is required' });
352
+ }
353
+ const growthLoaded = readinessLoaded(rows, 'assistant-growth-driver');
354
+ const growthEnabled = readinessValue(rows, 'assistant-growth-driver', 'enabled') === true;
355
+ const usageEnabled = readinessValue(rows, 'assistant-growth-driver', 'usageLearning.enabled') === true;
356
+ const workItemFailures = readinessValue(rows, 'assistant-growth-driver', 'usageLearning.workItemFailures') === true;
357
+ if (growthLoaded !== true)
358
+ learningReasons.push({ code: 'growth-driver-unavailable', message: 'assistant-growth-driver is not installed and loaded' });
359
+ else if (!growthEnabled || !usageEnabled)
360
+ learningReasons.push({ code: 'growth-usage-learning-off', message: 'assistant-growth-driver enabled / usageLearning.enabled is off; ordinary usage is not scanned' });
361
+ else if (!workItemFailures)
362
+ learningReasons.push({ code: 'growth-work-item-failures-not-authorized', message: 'usageLearning.workItemFailures is off; it needs signed workItemAuthorities pins that a preset never invents or extends' });
363
+ const evaluationLoaded = readinessLoaded(rows, 'assistant-evaluation');
364
+ const notificationOutcomes = readinessValue(rows, 'assistant-evaluation', 'notificationOutcomesEnabled') === true;
365
+ if (evaluationLoaded !== true)
366
+ learningReasons.push({ code: 'evaluation-unavailable', message: 'assistant-evaluation is not installed and loaded' });
367
+ else if (!notificationOutcomes)
368
+ learningReasons.push({ code: 'evaluation-notification-outcomes-off', message: 'assistant-evaluation.notificationOutcomesEnabled is off; notification results are not synced into the ledger' });
369
+ checks.push({
370
+ id: 'background-learning', required: true,
371
+ status: learningReasons.length === 0 ? 'ready' : 'not-ready',
372
+ summary: learningReasons.length === 0 ? 'ordinary-use learning switches are assembled' : `${learningReasons.length} background learning switch(es) not ready`,
373
+ reasons: learningReasons,
374
+ details: { memoryWorkItemExperiences: memoryFlag, memoryReviewGrant: reviewFlag, memoryAdoptionGrant: adoptionFlag,
375
+ growthEnabled, growthUsageLearning: usageEnabled, growthWorkItemFailures: workItemFailures, notificationOutcomesEnabled: notificationOutcomes },
376
+ });
377
+ const controlLoaded = readinessLoaded(rows, 'plugin-control-plane');
378
+ const revisionCapabilities = readinessValue(rows, 'plugin-control-plane', 'revisionCapabilities');
379
+ const creationCapabilities = readinessValue(rows, 'plugin-control-plane', 'creationCapabilities');
380
+ const revisionVerifications = readinessValue(rows, 'plugin-control-plane', 'revisionVerifications');
381
+ const sourceJobs = readinessValue(rows, 'plugin-control-plane', 'sourceJobs');
382
+ const sourceBuild = readinessValue(rows, 'plugin-control-plane', 'sourceBuild');
383
+ const revisionJobs = sourceJobs !== null && typeof sourceJobs === 'object' && !Array.isArray(sourceJobs)
384
+ ? sourceJobs.revision : undefined;
385
+ const revisionConfigured = revisionCapabilities !== null && typeof revisionCapabilities === 'object' && !Array.isArray(revisionCapabilities)
386
+ && typeof revisionCapabilities.authorityId === 'string'
387
+ && typeof revisionCapabilities.keyId === 'string'
388
+ && typeof revisionCapabilities.namePrefix === 'string'
389
+ && typeof revisionCapabilities.expiresAt === 'number';
390
+ const revisionReasons = [];
391
+ if (controlLoaded !== true)
392
+ revisionReasons.push({ code: 'control-plane-unavailable', message: 'plugin-control-plane is not installed and loaded' });
393
+ else if (!revisionConfigured)
394
+ revisionReasons.push({ code: 'revision-capabilities-not-configured', message: 'revision adoption requires owner-generated ed25519 key material and explicit adoption/rollback grants; nothing is generated by a preset' });
395
+ else if (creationCapabilities === undefined || revisionVerifications === undefined || revisionJobs === undefined || sourceBuild === undefined) {
396
+ revisionReasons.push({ code: 'revision-prerequisites-missing', message: 'revisionCapabilities also needs creationCapabilities, revisionVerifications, sourceBuild and sourceJobs.revision; verify the owner setup' });
397
+ }
398
+ checks.push({
399
+ id: 'revision-adoption', required: true,
400
+ status: revisionReasons.length === 0 ? 'ready' : 'not-ready',
401
+ summary: revisionReasons.length === 0 ? 'verified revision adoption and exact parent rollback are configured' : 'revision adoption authorization is not configured',
402
+ reasons: revisionReasons,
403
+ details: { configured: revisionConfigured, prerequisites: { creationCapabilities: creationCapabilities !== undefined, revisionVerifications: revisionVerifications !== undefined, sourceBuild: sourceBuild !== undefined, revisionJobs: revisionJobs !== undefined } },
404
+ });
405
+ const triggersLoaded = readinessLoaded(rows, 'event-triggers');
406
+ const pollerEnabled = readinessValue(rows, 'event-triggers', 'pollerEnabled') === true;
407
+ const triggers = readinessValue(rows, 'event-triggers', 'triggers');
408
+ const triggerCount = Array.isArray(triggers) ? triggers.length : 0;
409
+ const pollerReasons = [];
410
+ if (triggersLoaded !== true)
411
+ pollerReasons.push({ code: 'event-triggers-unavailable', message: 'event-triggers is not installed and loaded' });
412
+ else if (!pollerEnabled)
413
+ pollerReasons.push({ code: 'event-poller-disabled', message: 'event-triggers.pollerEnabled is off; configured triggers never fire' });
414
+ checks.push({
415
+ id: 'event-poller', required: true,
416
+ status: pollerReasons.length === 0 ? 'ready' : 'not-ready',
417
+ summary: pollerReasons.length === 0
418
+ ? `poller enabled with ${triggerCount} trigger definition(s)${triggerCount === 0 ? '; none configured, so nothing will fire yet' : ''}`
419
+ : 'event poller not ready',
420
+ reasons: pollerReasons,
421
+ details: { pollerEnabled, triggers: triggerCount },
422
+ });
423
+ // Optional ring (Lead request): PTC presentation is a configuration hint only.
424
+ const toolPresentation = readinessValue(rows, 'assistant-growth-driver', 'toolPresentation');
425
+ const ptcConfigured = toolPresentation === 'ptc';
426
+ checks.push({
427
+ id: 'ptc-presentation', required: false,
428
+ status: ptcConfigured ? 'not-verified' : 'ready',
429
+ summary: ptcConfigured
430
+ ? 'toolPresentation=ptc; a live run still needs a mounted ctx.ptcRuntime, run_code that does not request human approval, and an exact Policy allow rule for the growth agent background run_code (this static doctor verifies none of the runtime conditions)'
431
+ : 'toolPresentation is native (PTC is an explicit owner opt-in)',
432
+ reasons: [],
433
+ details: { toolPresentation: typeof toolPresentation === 'string' ? toolPresentation : 'native' },
434
+ });
435
+ const ready = checks.filter(check => check.required).every(check => check.status === 'ready');
436
+ return { protocol: 'dsh-enhanced/autonomy-readiness/v1', profile, scope: 'ordinary-use-learning', ready, checks, runtime };
437
+ }
438
+ /** Deterministic human-readable form of the same snapshot the JSON line carries. */
439
+ export function formatAutonomyReadiness(report) {
440
+ const label = (status) => status === 'ready' ? 'ready ' : status === 'not-ready' ? 'not-ready ' : 'not-verified';
441
+ const lines = [`Autonomy readiness (static composed profile, no model, no writes): ${report.ready ? 'READY' : 'NOT READY'} (profile ${report.profile})`];
442
+ for (const check of report.checks) {
443
+ lines.push(` ${label(check.status)} ${check.id}: ${check.summary}`);
444
+ for (const reason of check.reasons)
445
+ lines.push(` - [${reason.code}] ${reason.message}`);
446
+ }
447
+ lines.push(` runtime: not observed (${report.runtime.note})`);
448
+ return `${lines.join('\n')}\n`;
449
+ }
121
450
  export async function runAutonomyDoctor(argv = process.argv.slice(2)) {
451
+ const usage = [
452
+ 'Usage: dsh-autonomy-doctor [--profile web] [--dsh-home <absolute-path>] [--readiness]',
453
+ 'Default: checks the installed finite isolation grant, paired owner and a temporary backend-specific probe.',
454
+ '--readiness: prints the static ordinary-use-learning readiness snapshot (text plus one JSON line) and exits 1 when a mandatory ring is not ready.',
455
+ 'The readiness snapshot reads only the composed profile: it never activates a Host, calls a model, writes state, renews grants or verifies runtime registration, Policy or external delivery.',
456
+ '',
457
+ ].join('\n');
122
458
  if (argv.includes('--help') || argv.includes('-h')) {
123
- process.stdout.write('Usage: dsh-autonomy-doctor [--profile web] [--dsh-home <absolute-path>]\nChecks the installed finite isolation grant, paired owner and a temporary Docker probe. Does not activate a Host, renew grants, or test model/Goal/Actions readiness.\n');
459
+ process.stdout.write(usage);
124
460
  return;
125
461
  }
126
462
  let profile = 'web';
127
463
  let dshHome = process.env.DSH_HOME ?? join(homedir(), '.dsh');
128
- for (let index = 0; index < argv.length; index++) {
464
+ let readinessOnly = false;
465
+ for (let index = 0; index < argv.length;) {
129
466
  const option = argv[index];
130
- const value = argv[++index];
131
- if (!['--profile', '--dsh-home'].includes(option ?? '') || !value || value.startsWith('--'))
467
+ if (option === '--readiness') {
468
+ readinessOnly = true;
469
+ index += 1;
470
+ continue;
471
+ }
472
+ const value = argv[index + 1];
473
+ if (!['--profile', '--dsh-home'].includes(option ?? '') || value === undefined || value.startsWith('--'))
132
474
  fail('invalid arguments');
133
475
  if (option === '--profile')
134
476
  profile = value;
135
477
  else
136
478
  dshHome = value;
479
+ index += 2;
137
480
  }
138
481
  if (!/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/u.test(profile) || !isAbsolute(dshHome) || normalize(dshHome) !== dshHome || /[\p{Cc}*]/u.test(dshHome))
139
482
  fail('invalid profile or home');
@@ -145,7 +488,34 @@ export async function runAutonomyDoctor(argv = process.argv.slice(2)) {
145
488
  fail('could not compose profile; inspect installed bundles and configuration');
146
489
  }
147
490
  };
148
- const parsed = inspectAutonomyProfile(await dump(), profile, dshHome);
491
+ if (readinessOnly) {
492
+ let source;
493
+ try {
494
+ source = await dump();
495
+ }
496
+ catch (error) {
497
+ const message = error instanceof Error ? error.message : String(error);
498
+ const report = { protocol: 'dsh-enhanced/autonomy-readiness/v1', profile, scope: 'ordinary-use-learning', ready: false,
499
+ checks: [{ id: 'profile-composition', required: true, status: 'not-ready', summary: 'the profile could not be composed',
500
+ reasons: [{ code: 'profile-composition-failed', message }], details: {} }],
501
+ runtime: { observed: false, note: 'static composed profile only; nothing was activated' } };
502
+ process.stdout.write(formatAutonomyReadiness(report));
503
+ process.stdout.write(`${JSON.stringify(report)}\n`);
504
+ process.exitCode = 1;
505
+ return;
506
+ }
507
+ const report = inspectAutonomyReadiness(source, profile);
508
+ process.stdout.write(formatAutonomyReadiness(report));
509
+ process.stdout.write(`${JSON.stringify(report)}\n`);
510
+ if (!report.ready)
511
+ process.exitCode = 1;
512
+ return;
513
+ }
514
+ const source = await dump();
515
+ // Finite-isolation mode keeps its existing output exactly: the ordinary-use
516
+ // readiness snapshot is an explicit `--readiness` opt-in so an autonomy
517
+ // profile's diagnostic run is unchanged.
518
+ const parsed = inspectAutonomyProfile(source, profile, dshHome);
149
519
  const { inspectIsolationGrant, probeIsolationRuntime } = await import('@dsh-enhanced/assistant-isolation');
150
520
  if (typeof inspectIsolationGrant !== 'function' || typeof probeIsolationRuntime !== 'function')
151
521
  fail('install the matching assistant-isolation version with grant diagnostics; no state was changed');
@@ -155,7 +525,7 @@ export async function runAutonomyDoctor(argv = process.argv.slice(2)) {
155
525
  process.stdout.write(`${JSON.stringify({ scope: 'finite-isolation', owner, grant, modelAndGoals: 'not-checked', externalActions: 'not-checked' })}\n`);
156
526
  if (owner.status !== 'matched' || grant.status !== 'available')
157
527
  fail('owner or persisted grant checks failed; no authority was renewed');
158
- await probeIsolationRuntime(parsed.image, parsed.dockerPath);
528
+ await probeAutonomyProfileRuntime(parsed);
159
529
  if (!isDeepStrictEqual(inspectAutonomyProfile(await dump(), profile, dshHome), parsed)
160
530
  || inspectAutonomyOwner(parsed).status !== 'matched'
161
531
  || inspectIsolationGrant({ stateRoot: parsed.stateRoot, grant: parsed.grant }).status !== 'available')
package/lib/doctor.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAA8B,MAAM,MAAM,CAAA;AAQxF,SAAS,IAAI,CAAC,OAAe,IAAW,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAA,CAAC,CAAC;AACxF,SAAS,OAAO,CAAC,IAAa,EAAE,KAAa;IAC3C,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,uBAAuB,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAA;IACzG,IAAI,CAAC,GAAG,KAAK,kBAAkB,CAAC,CAAA;AAClC,CAAC;AACD,SAAS,IAAI,CAAC,IAAa,EAAE,KAAa,EAAE,OAAgB;IAC1D,IAAI,KAAc,CAAA;IAClB,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,sBAAsB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrH,MAAM,KAAK,GAAG,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACrE,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAA;QAC1H,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,CAAA;IAClC,CAAC;;QAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,GAAG,KAAK,oCAAoC,CAAC,CAAA;IACjK,OAAO,KAAK,CAAA;AACd,CAAC;AACD,SAAS,MAAM,CAAC,IAAa,EAAE,KAAa;IAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAA;IACpD,MAAM,MAAM,GAA4B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC3D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACpC,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,IAAI,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAA;QAClE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,OAAe,EAAE,OAAe;IACrF,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,IAAI,CAAC,yBAAyB,CAAC,CAAA;IAChL,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IAC5H,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,IAAI,CAAC,mDAAmD,CAAC,CAAA;IAClH,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAmB,CAAA;IACzC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAW,EAAE;QACvC,MAAM,EAAE,GAAG,gBAAgB,IAAI,EAAE,CAAC;QAAC,MAAM,IAAI,GAAG,iBAAiB,IAAI,EAAE,CAAA;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAc,CAAA;QAC3H,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC;YAAE,IAAI,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAA;QAC3P,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,GAAG,IAAI,2BAA2B,CAAC,CAAA;QAC3D,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAAC,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC3I,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,eAAe,CAAC,CAAA;IACvE,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAAE,IAAI,CAAC,sCAAsC,CAAC,CAAA;IAC/I,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,eAAe,CAAC,CAAA;IACrE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,YAAY,CAAC,CAAA;IAC/D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,oBAAoB,CAAC,CAAA;IACnG,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,IAAI,CAAC,gDAAgD,CAAC,CAAA;IACvG,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAA;IACvK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,KAAK,YAAY,OAAO,EAAE;WACpG,KAAK,CAAC,eAAe,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;WACpG,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,MAAM;WAC7D,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;WACnF,CAAC,CAAC,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAK,KAAK,CAAC,GAAG,CAAY,GAAG,CAAC,CAAC;QAAE,IAAI,CAAC,sCAAsC,CAAC,CAAA;IAC/M,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAA;IACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,0CAA0C,CAAC,CAAA;IACxH,OAAO;QACL,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,iBAAiB;QAC3H,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,qBAAqB,CAAC;QACxE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,uBAAuB,EAAE,OAAO,CAAC;QACxF,KAAK,EAAE,EAAE,GAAG,KAAK,EAA+B,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;KACrI,CAAA;AACH,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,IAAI,QAAkC,CAAA;IACtC,IAAI,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;QACpJ,QAAQ,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QACrE,QAAQ,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,gCAAgC;QAChC,MAAM,aAAa,GAAI,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAA+B,CAAC,YAAY,CAAA;QAC9G,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;QAC/E,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,kGAAkG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACrK,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,gBAAgB,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI;eACrI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAA;QACnJ,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;IAAC,CAAC;YAAS,CAAC;QAAC,QAAQ,EAAE,KAAK,EAAE,CAAA;IAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kPAAkP,CAAC,CAAA;QACxQ,OAAM;IACR,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,CAAC;IAAC,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAA;IAClF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;QACvD,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACtH,IAAI,MAAM,KAAK,WAAW;YAAE,OAAO,GAAG,KAAK,CAAC;;YAAM,OAAO,GAAG,KAAK,CAAA;IACnE,CAAC;IACD,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,IAAI,CAAC,yBAAyB,CAAC,CAAA;IAChL,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,CAAC;YAAC,OAAO,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;QAAC,CAAC;QAC9L,MAAM,CAAC;YAAC,IAAI,CAAC,wEAAwE,CAAC,CAAA;QAAC,CAAC;IAC1F,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACrE,MAAM,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAA;IAC1G,IAAI,OAAO,qBAAqB,KAAK,UAAU,IAAI,OAAO,qBAAqB,KAAK,UAAU;QAAE,IAAI,CAAC,+FAA+F,CAAC,CAAA;IACrM,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,qBAAqB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;IACzF,oFAAoF;IACpF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,CAAA;IACtJ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;QAAE,IAAI,CAAC,kEAAkE,CAAC,CAAA;IACxI,MAAM,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAC5D,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC;WACjF,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,SAAS;WACjD,qBAAqB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,WAAW;QAAE,IAAI,CAAC,oEAAoE,CAAC,CAAA;IACnL,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oPAAoP,CAAC,CAAA;AAC5Q,CAAC"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"goal-admission.d.ts","sourceRoot":"","sources":["../src/goal-admission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"goal-admission.d.ts","sourceRoot":"","sources":["../src/goal-admission.ts"],"names":[],"mappings":"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"}
@@ -312,6 +312,9 @@ export function prepareGoalAdmission(input, source, effectiveSource, taskSource,
312
312
  const policy = map(personal.get('assistantPolicy', true));
313
313
  const principalId = `web/${input.profile}/local/operator`;
314
314
  const profile = inspectAutonomyProfile(target.document.toString(), input.profile, input.dshHome);
315
+ const nativeRoots = profile.backend === 'linux-native' ? profile.linux.cgroupRoots : undefined;
316
+ if (nativeRoots?.mode === 'v2')
317
+ fail('native Goal verification requires frozen cgroup v1 roots');
315
318
  const { binding, owner } = snapshot;
316
319
  if (profile.grant.workspace !== input.workspace || profile.grant.agentPreset !== input.preset || binding.workspace !== input.workspace || binding.agentPreset !== input.preset
317
320
  || !isDeepStrictEqual(binding.principal, profile.principal) || owner.id !== profile.grant.principalRecordId || owner.version !== profile.grant.principalVersion
@@ -384,7 +387,10 @@ export function prepareGoalAdmission(input, source, effectiveSource, taskSource,
384
387
  }
385
388
  };
386
389
  const authority = { kind: 'isolated-runner', id: `${admissionId}-verify`, stateRoot: join(input.dshHome, 'assistant-goal-verification', input.profile, admissionId),
387
- image: profile.image, dockerPath: profile.dockerPath, command: task.verification.command, expiresAt: profile.grant.expiresAt,
390
+ ...(profile.backend === 'linux-native'
391
+ ? { backend: 'linux-native', runtime: profile.linux.runtime, cgroupRoots: nativeRoots }
392
+ : { image: profile.image, dockerPath: profile.dockerPath }),
393
+ command: task.verification.command, expiresAt: profile.grant.expiresAt,
388
394
  maxRuns: task.verification.maxRuns, maxTotalDurationMs: task.verification.maxTotalDurationMs, maxDurationMs: task.verification.maxDurationMs,
389
395
  maxOutputBytes: task.verification.maxOutputBytes, testSets: [{ id: 'cases', cases: task.verification.cases }] };
390
396
  const remoteAuthority = repository?.outcome === undefined ? undefined : repositoryOutcomeAuthority(repository.outcome, {