@dsh-enhanced/plugin-control-plane 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.
Files changed (136) hide show
  1. package/README.md +123 -7
  2. package/lib/attestation.d.ts.map +1 -1
  3. package/lib/attestation.js +33 -1
  4. package/lib/attestation.js.map +1 -1
  5. package/lib/creation-capability-empty-handoff.d.ts +57 -0
  6. package/lib/creation-capability-empty-handoff.d.ts.map +1 -0
  7. package/lib/creation-capability-empty-handoff.js +147 -0
  8. package/lib/creation-capability-empty-handoff.js.map +1 -0
  9. package/lib/creation-capability-execution.d.ts +13 -0
  10. package/lib/creation-capability-execution.d.ts.map +1 -0
  11. package/lib/creation-capability-execution.js +112 -0
  12. package/lib/creation-capability-execution.js.map +1 -0
  13. package/lib/creation-capability-feedback.d.ts +58 -1
  14. package/lib/creation-capability-feedback.d.ts.map +1 -1
  15. package/lib/creation-capability-feedback.js +532 -50
  16. package/lib/creation-capability-feedback.js.map +1 -1
  17. package/lib/creation-capability-handoff-common.d.ts +60 -0
  18. package/lib/creation-capability-handoff-common.d.ts.map +1 -0
  19. package/lib/creation-capability-handoff-common.js +195 -0
  20. package/lib/creation-capability-handoff-common.js.map +1 -0
  21. package/lib/creation-capability-journal.d.ts +19 -0
  22. package/lib/creation-capability-journal.d.ts.map +1 -1
  23. package/lib/creation-capability-journal.js +62 -21
  24. package/lib/creation-capability-journal.js.map +1 -1
  25. package/lib/creation-capability-runtime.d.ts +65 -1
  26. package/lib/creation-capability-runtime.d.ts.map +1 -1
  27. package/lib/creation-capability-runtime.js +178 -18
  28. package/lib/creation-capability-runtime.js.map +1 -1
  29. package/lib/creation-capability-sealed-audit.d.ts +19 -0
  30. package/lib/creation-capability-sealed-audit.d.ts.map +1 -0
  31. package/lib/creation-capability-sealed-audit.js +114 -0
  32. package/lib/creation-capability-sealed-audit.js.map +1 -0
  33. package/lib/creation-capability-sealed-handoff.d.ts +160 -0
  34. package/lib/creation-capability-sealed-handoff.d.ts.map +1 -0
  35. package/lib/creation-capability-sealed-handoff.js +695 -0
  36. package/lib/creation-capability-sealed-handoff.js.map +1 -0
  37. package/lib/creation-capability-trend-snapshot.d.ts +70 -0
  38. package/lib/creation-capability-trend-snapshot.d.ts.map +1 -0
  39. package/lib/creation-capability-trend-snapshot.js +117 -0
  40. package/lib/creation-capability-trend-snapshot.js.map +1 -0
  41. package/lib/creation-capability-types.d.ts +254 -4
  42. package/lib/creation-capability-types.d.ts.map +1 -1
  43. package/lib/in-process-reload.d.ts +191 -0
  44. package/lib/in-process-reload.d.ts.map +1 -0
  45. package/lib/in-process-reload.js +284 -0
  46. package/lib/in-process-reload.js.map +1 -0
  47. package/lib/index.d.ts +15 -4
  48. package/lib/index.d.ts.map +1 -1
  49. package/lib/index.js +10 -2
  50. package/lib/index.js.map +1 -1
  51. package/lib/linux-source-build.d.ts +16 -0
  52. package/lib/linux-source-build.d.ts.map +1 -0
  53. package/lib/linux-source-build.js +268 -0
  54. package/lib/linux-source-build.js.map +1 -0
  55. package/lib/linux-source-preflight.d.ts +31 -0
  56. package/lib/linux-source-preflight.d.ts.map +1 -0
  57. package/lib/linux-source-preflight.js +101 -0
  58. package/lib/linux-source-preflight.js.map +1 -0
  59. package/lib/live-qualification-runtime.d.ts +6 -2
  60. package/lib/live-qualification-runtime.d.ts.map +1 -1
  61. package/lib/live-qualification-runtime.js +65 -11
  62. package/lib/live-qualification-runtime.js.map +1 -1
  63. package/lib/owner-task-gap-types.d.ts +23 -0
  64. package/lib/owner-task-gap-types.d.ts.map +1 -1
  65. package/lib/owner-task-gaps.d.ts +4 -0
  66. package/lib/owner-task-gaps.d.ts.map +1 -1
  67. package/lib/owner-task-gaps.js +35 -1
  68. package/lib/owner-task-gaps.js.map +1 -1
  69. package/lib/revision-capability-journal.d.ts +103 -0
  70. package/lib/revision-capability-journal.d.ts.map +1 -0
  71. package/lib/revision-capability-journal.js +872 -0
  72. package/lib/revision-capability-journal.js.map +1 -0
  73. package/lib/revision-capability-runtime.d.ts +74 -0
  74. package/lib/revision-capability-runtime.d.ts.map +1 -0
  75. package/lib/revision-capability-runtime.js +562 -0
  76. package/lib/revision-capability-runtime.js.map +1 -0
  77. package/lib/revision-capability-types.d.ts +289 -0
  78. package/lib/revision-capability-types.d.ts.map +1 -0
  79. package/lib/revision-capability-types.js +2 -0
  80. package/lib/revision-capability-types.js.map +1 -0
  81. package/lib/scanner-owner-runtime.d.ts +34 -0
  82. package/lib/scanner-owner-runtime.d.ts.map +1 -0
  83. package/lib/scanner-owner-runtime.js +99 -0
  84. package/lib/scanner-owner-runtime.js.map +1 -0
  85. package/lib/service.d.ts +107 -6
  86. package/lib/service.d.ts.map +1 -1
  87. package/lib/service.js +643 -47
  88. package/lib/service.js.map +1 -1
  89. package/lib/source-approval-authority.d.ts.map +1 -1
  90. package/lib/source-approval-authority.js +25 -7
  91. package/lib/source-approval-authority.js.map +1 -1
  92. package/lib/source-build-diagnostics.d.ts +31 -0
  93. package/lib/source-build-diagnostics.d.ts.map +1 -0
  94. package/lib/source-build-diagnostics.js +110 -0
  95. package/lib/source-build-diagnostics.js.map +1 -0
  96. package/lib/source-build.d.ts +25 -2
  97. package/lib/source-build.d.ts.map +1 -1
  98. package/lib/source-build.js +145 -26
  99. package/lib/source-build.js.map +1 -1
  100. package/lib/source-creation.d.ts +6 -2
  101. package/lib/source-creation.d.ts.map +1 -1
  102. package/lib/source-creation.js +11 -2
  103. package/lib/source-creation.js.map +1 -1
  104. package/lib/source-job-types.d.ts +3 -1
  105. package/lib/source-job-types.d.ts.map +1 -1
  106. package/lib/source-jobs.d.ts +33 -1
  107. package/lib/source-jobs.d.ts.map +1 -1
  108. package/lib/source-jobs.js +141 -29
  109. package/lib/source-jobs.js.map +1 -1
  110. package/lib/source-workspace.d.ts.map +1 -1
  111. package/lib/source-workspace.js +0 -1
  112. package/lib/source-workspace.js.map +1 -1
  113. package/lib/sqlite.d.ts +1 -1
  114. package/lib/sqlite.d.ts.map +1 -1
  115. package/lib/sqlite.js +36 -1
  116. package/lib/sqlite.js.map +1 -1
  117. package/lib/store.d.ts +22 -2
  118. package/lib/store.d.ts.map +1 -1
  119. package/lib/store.js +477 -177
  120. package/lib/store.js.map +1 -1
  121. package/lib/systemd-host-authority.d.ts.map +1 -1
  122. package/lib/systemd-host-authority.js +4 -0
  123. package/lib/systemd-host-authority.js.map +1 -1
  124. package/lib/task-observation-runtime.d.ts +6 -2
  125. package/lib/task-observation-runtime.d.ts.map +1 -1
  126. package/lib/task-observation-runtime.js +69 -11
  127. package/lib/task-observation-runtime.js.map +1 -1
  128. package/lib/types.d.ts +47 -1
  129. package/lib/types.d.ts.map +1 -1
  130. package/lib/version.d.ts +1 -1
  131. package/lib/version.js +1 -1
  132. package/lib/work-item-creation-contract.d.ts +17 -0
  133. package/lib/work-item-creation-contract.d.ts.map +1 -0
  134. package/lib/work-item-creation-contract.js +61 -0
  135. package/lib/work-item-creation-contract.js.map +1 -0
  136. package/package.json +10 -10
@@ -1,6 +1,6 @@
1
1
  import { createHash } from 'node:crypto';
2
- import { canonicalGrowthJson, SourceGrowthRunUnavailableError } from '@dsh-enhanced/assistant-growth-contract';
3
- import { nativeMacRuntimeDigest } from '@dsh-enhanced/assistant-isolation';
2
+ import { anySourceGrowthRunDigest, canonicalGrowthJson, SourceGrowthRunUnavailableError, validateAnySourceGrowthRunBinding } from '@dsh-enhanced/assistant-growth-contract';
3
+ import { creationCapabilityExecutionMatches, revisionCapabilityExecutionMatches, verifyCreationCapabilityExecution, verifyRevisionCapabilityExecution } from './creation-capability-execution.js';
4
4
  const sha = (value) => createHash('sha256').update(value).digest('hex');
5
5
  const safeName = /^[a-z][a-z0-9_-]{0,95}$/u;
6
6
  const safeProperty = /^[A-Za-z_][A-Za-z0-9_-]{0,63}$/u;
@@ -103,10 +103,7 @@ function observed(record, result) {
103
103
  && result.runtimeDigest === record.certificate.execution?.runtimeDigest);
104
104
  }
105
105
  function sameExecution(record, config) {
106
- return record.certificate.protocol === 'assistant-growth/creation-verification/v1'
107
- ? !('backend' in config.runner)
108
- : 'backend' in config.runner && config.runner.backend === 'macos-seatbelt'
109
- && record.certificate.execution?.runtimeDigest === nativeMacRuntimeDigest(config.runner.runtime);
106
+ return creationCapabilityExecutionMatches(record.certificate, config.runner);
110
107
  }
111
108
  /** The journal belongs to this controller and is closed after all Fiber effects. */
112
109
  export class CreationCapabilityRuntime {
@@ -118,11 +115,14 @@ export class CreationCapabilityRuntime {
118
115
  runner;
119
116
  validateSchema;
120
117
  mounted = new Map();
118
+ /** Aliases handed to a separately authorized revision entry; reconciliation must not remount them. */
119
+ suspended = new Set();
121
120
  flights = new Set();
122
121
  invocationPlans = new Map();
123
122
  cancellations = new Map();
124
123
  operations = new Set();
125
124
  timers = new Map();
125
+ workItemPlans = new Set();
126
126
  admission = false;
127
127
  closed = false;
128
128
  started = false;
@@ -143,6 +143,43 @@ export class CreationCapabilityRuntime {
143
143
  this.serial = result.catch(() => { });
144
144
  return result;
145
145
  }
146
+ inspectWorkItemAdoptionReadiness() {
147
+ if (this.config.workItemFailures !== true || !this.started || this.closed || !this.admission
148
+ || Date.now() >= this.config.expiresAt || Date.now() >= this.config.runner.expiresAt)
149
+ return undefined;
150
+ const remainingAdoptions = Math.max(0, this.config.maxAdoptions - this.journal.usage().adoptions);
151
+ return { protocol: 'assistant-growth/work-item-adoption-readiness/v1',
152
+ sourceProtocol: 'assistant-delivery/work-item-engineering-context/v1', runProtocol: 'assistant-growth/source-run/v2',
153
+ workItemFailures: true, authority: { authorityId: this.config.authorityId,
154
+ authorityDigest: this.journal.authorityDigest, expiresAt: this.config.expiresAt },
155
+ remainingAdoptions, available: remainingAdoptions > 0 };
156
+ }
157
+ sourceAuthority(record, sourceRun) {
158
+ if (sourceRun === undefined) {
159
+ if (this.workItemPlans.has(record.planId))
160
+ fail('work item source authority missing');
161
+ return;
162
+ }
163
+ validateAnySourceGrowthRunBinding(sourceRun);
164
+ if (anySourceGrowthRunDigest(sourceRun) !== record.certificate.source.growthRunDigest)
165
+ fail('source run changed');
166
+ if (sourceRun.protocol !== 'assistant-growth/source-run/v2') {
167
+ if (this.workItemPlans.has(record.planId))
168
+ fail('work item source protocol changed');
169
+ return;
170
+ }
171
+ const pin = sourceRun.authorities.adoption;
172
+ if (this.config.workItemFailures !== true || pin.authorityId !== this.config.authorityId
173
+ || pin.authorityDigest !== this.journal.authorityDigest || pin.expiresAt !== this.config.expiresAt)
174
+ fail('work item adoption authority mismatch');
175
+ this.workItemPlans.add(record.planId);
176
+ }
177
+ withCurrent(record, callback) {
178
+ return this.ports.withCurrent(record, sourceRun => {
179
+ this.sourceAuthority(record, sourceRun);
180
+ return callback();
181
+ });
182
+ }
146
183
  live(record) {
147
184
  if (!sameExecution(record, this.config))
148
185
  fail('verification runtime changed');
@@ -165,9 +202,11 @@ export class CreationCapabilityRuntime {
165
202
  }
166
203
  else
167
204
  await this.ports.recheck(record.planId, signal);
205
+ await verifyCreationCapabilityExecution(record.certificate, this.config.runner, signal);
168
206
  signal.throwIfAborted();
169
207
  const current = retained ? this.ports.inspectRetained(record) : this.ports.inspect(record.planId);
170
- this.ports.withCurrent(record, () => {
208
+ this.sourceAuthority(record, current.sourceRun);
209
+ this.withCurrent(record, () => {
171
210
  if (!sameCertificate(current.certificate, record.certificate)
172
211
  || sha(current.artifact) !== record.certificate.plan.artifactSha256
173
212
  || current.artifact.length !== record.certificate.plan.artifactBytes)
@@ -212,10 +251,11 @@ export class CreationCapabilityRuntime {
212
251
  eligible(planId) {
213
252
  try {
214
253
  if (!this.admission || this.closed || this.journal.inspect(planId)
215
- || this.journal.list().length >= this.config.maxAdoptions
254
+ || this.journal.usage().adoptions >= this.config.maxAdoptions
216
255
  || Date.now() >= this.config.expiresAt || Date.now() >= this.config.runner.expiresAt)
217
256
  return false;
218
257
  const current = this.ports.inspect(planId);
258
+ this.sourceAuthority({ planId, certificate: current.certificate }, current.sourceRun);
219
259
  return current.certificate.plan.id === planId && current.certificate.expiresAt > Date.now()
220
260
  && sameExecution({ planId, status: 'claimed', certificate: current.certificate, artifact: current.artifact }, this.config)
221
261
  && current.certificate.plan.name.startsWith(this.config.namePrefix)
@@ -248,14 +288,17 @@ export class CreationCapabilityRuntime {
248
288
  || sha(current.artifact) !== sha(pinned.artifact))
249
289
  fail('source changed before claim');
250
290
  const source = await this.ports.captureSource?.(planId, activeSignal);
291
+ await verifyCreationCapabilityExecution(current.certificate, this.config.runner, activeSignal);
251
292
  activeSignal.throwIfAborted();
293
+ if (!this.eligible(planId))
294
+ fail('plan is no longer eligible');
252
295
  const latestBeforeClaim = this.ports.inspect(planId);
253
296
  if (!sameCertificate(current.certificate, latestBeforeClaim.certificate)
254
297
  || sha(current.artifact) !== sha(latestBeforeClaim.artifact))
255
298
  fail('source changed during source capture');
256
299
  const claimRecord = { planId, status: 'claimed',
257
300
  certificate: current.certificate, artifact: current.artifact };
258
- const claimed = this.ports.withCurrent(claimRecord, () => this.journal.claim({
301
+ const claimed = this.withCurrent(claimRecord, () => this.journal.claim({
259
302
  certificate: current.certificate, artifact: current.artifact, ...(source ? { source } : {})
260
303
  }));
261
304
  if (!claimed.created)
@@ -269,9 +312,14 @@ export class CreationCapabilityRuntime {
269
312
  fail('discovery unknown or certificate mismatch');
270
313
  const tools = this.makeTools(record, result.schemas);
271
314
  await this.ports.recheck(planId, activeSignal);
315
+ await verifyCreationCapabilityExecution(record.certificate, this.config.runner, activeSignal);
272
316
  activeSignal.throwIfAborted();
317
+ if (!this.admission || this.closed || Date.now() >= this.config.expiresAt
318
+ || Date.now() >= this.config.runner.expiresAt || Date.now() >= record.certificate.expiresAt
319
+ || !sameExecution(record, this.config))
320
+ fail('authority or verification expired before authorization');
273
321
  const latest = this.ports.inspect(planId);
274
- this.ports.withCurrent(record, () => {
322
+ this.withCurrent(record, () => {
275
323
  if (!sameCertificate(latest.certificate, record.certificate)
276
324
  || sha(latest.artifact) !== record.certificate.plan.artifactSha256)
277
325
  fail('source changed before authorization');
@@ -281,7 +329,7 @@ export class CreationCapabilityRuntime {
281
329
  await this.checked(authorized, activeSignal, true);
282
330
  await this.mount(authorized, activeSignal);
283
331
  await this.checked(authorized, activeSignal, true);
284
- this.ports.withCurrent(authorized, () => this.journal.activate(planId));
332
+ this.withCurrent(authorized, () => this.journal.activate(planId));
285
333
  }
286
334
  catch (error) {
287
335
  try {
@@ -405,7 +453,7 @@ export class CreationCapabilityRuntime {
405
453
  cancel();
406
454
  try {
407
455
  await this.checked(record, controller.signal);
408
- const call = this.ports.withCurrent(record, () => {
456
+ const call = this.withCurrent(record, () => {
409
457
  this.ports.assertCaller(record, exec);
410
458
  controller.signal.throwIfAborted();
411
459
  const foreground = this.ports.inspectCall?.(record, exec, tool.name, encoded);
@@ -421,7 +469,7 @@ export class CreationCapabilityRuntime {
421
469
  fail('call already claimed or unknown');
422
470
  }
423
471
  try {
424
- this.ports.withCurrent(record, () => {
472
+ this.withCurrent(record, () => {
425
473
  this.ports.assertCaller(record, exec);
426
474
  controller.signal.throwIfAborted();
427
475
  });
@@ -444,7 +492,7 @@ export class CreationCapabilityRuntime {
444
492
  const value = { value: JSON.parse(json(raw.value, this.config.runner.maxOutputBytes)), content };
445
493
  json(value, this.config.runner.maxOutputBytes);
446
494
  await this.checked(record, controller.signal);
447
- this.ports.withCurrent(record, () => {
495
+ this.withCurrent(record, () => {
448
496
  this.ports.assertCaller(record, exec);
449
497
  controller.signal.throwIfAborted();
450
498
  this.journal.settleCall({ planId, key, status: 'completed', result: value,
@@ -471,13 +519,19 @@ export class CreationCapabilityRuntime {
471
519
  for (const record of this.journal.list()) {
472
520
  if (record.status !== 'authorized' && record.status !== 'active')
473
521
  continue;
522
+ if (this.suspended.has(record.planId))
523
+ continue;
524
+ if (this.closed)
525
+ return;
526
+ const controller = new AbortController();
527
+ this.operations.add(controller);
474
528
  try {
475
- await this.checked(record, new AbortController().signal);
529
+ await this.checked(record, controller.signal);
476
530
  if (!this.mounted.has(record.planId)) {
477
- await this.mount(record);
478
- await this.checked(record, new AbortController().signal);
531
+ await this.mount(record, controller.signal);
532
+ await this.checked(record, controller.signal);
479
533
  if (record.status === 'authorized')
480
- this.ports.withCurrent(record, () => this.journal.activate(record.planId));
534
+ this.withCurrent(record, () => this.journal.activate(record.planId));
481
535
  }
482
536
  }
483
537
  catch (error) {
@@ -497,6 +551,9 @@ export class CreationCapabilityRuntime {
497
551
  if (!(error instanceof SourceGrowthRunUnavailableError))
498
552
  this.journal.settle(record.planId, 'closed', 'authority-source-or-mount-invalid');
499
553
  }
554
+ finally {
555
+ this.operations.delete(controller);
556
+ }
500
557
  }
501
558
  }
502
559
  /** Owner-only bounded status; no certificate, source or artifact bytes escape. */
@@ -504,6 +561,104 @@ export class CreationCapabilityRuntime {
504
561
  const record = this.journal.inspect(planId);
505
562
  return record && { status: record.status, aliases: record.tools?.map(tool => tool.name) ?? [] };
506
563
  }
564
+ /** Host-only parent snapshot for a separately authorized revision entry; never a model tool. */
565
+ inspectAdoptionVersion(planId) {
566
+ try {
567
+ if (this.closed || !this.started)
568
+ return undefined;
569
+ const record = this.journal.inspect(planId);
570
+ if (!record || record.status !== 'active' || !record.receipt || !record.tools?.length)
571
+ return undefined;
572
+ const receipt = record.receipt;
573
+ if (receipt.protocol !== 'dsh-created-capability-adoption/v1' && receipt.protocol !== 'dsh-created-capability-adoption/v2')
574
+ return undefined;
575
+ const receiptJson = canonicalGrowthJson(receipt);
576
+ return { planId, name: record.certificate.plan.name, owner: structuredClone(this.config.owner),
577
+ certificate: structuredClone(record.certificate), artifact: Buffer.from(record.artifact),
578
+ tools: record.tools.map(tool => ({ originalName: tool.originalName, name: tool.name,
579
+ description: tool.description, parameters: structuredClone(tool.parameters) })),
580
+ receiptJson, receiptDigest: sha(receiptJson) };
581
+ }
582
+ catch {
583
+ return undefined;
584
+ }
585
+ }
586
+ /** Host-only recheck of the current owner/source for a parent adoption before a switch. */
587
+ async recheckAdoptionVersion(planId, signal) {
588
+ const record = this.journal.inspect(planId);
589
+ if (!record || record.status !== 'active' || !record.receipt)
590
+ fail('parent adoption unavailable');
591
+ await this.checked(record, signal);
592
+ }
593
+ /** Parent calls already running at a switch; evidence only, never an authorization. */
594
+ inspectInFlightCalls(planId) {
595
+ let count = 0;
596
+ for (const plan of this.invocationPlans.values())
597
+ if (plan === planId)
598
+ count++;
599
+ return count;
600
+ }
601
+ /** Host-only alias handover: already running calls keep their exact parent artifact. */
602
+ suspendEntry(planId) {
603
+ return this.enqueue(async () => {
604
+ if (this.closed)
605
+ return;
606
+ this.suspended.add(planId);
607
+ if (this.mounted.has(planId))
608
+ await this.unmount(planId);
609
+ });
610
+ }
611
+ /** Host-only recovery: restore the parent mount after a failed switch. */
612
+ resumeEntry(planId) {
613
+ return this.enqueue(async () => {
614
+ if (this.closed)
615
+ return;
616
+ this.suspended.delete(planId);
617
+ const record = this.journal.inspect(planId);
618
+ if (!record || (record.status !== 'authorized' && record.status !== 'active') || this.mounted.has(record.planId))
619
+ return;
620
+ const controller = new AbortController();
621
+ this.operations.add(controller);
622
+ try {
623
+ await this.mount(record, controller.signal);
624
+ this.armExpiry(record);
625
+ }
626
+ finally {
627
+ this.operations.delete(controller);
628
+ }
629
+ });
630
+ }
631
+ /** Synchronous, read-only execution-boundary identity of a verified revision artifact. */
632
+ matchesArtifactExecution(certificate) {
633
+ return certificate.protocol.startsWith('assistant-growth/revision-verification/')
634
+ ? revisionCapabilityExecutionMatches(certificate, this.config.runner)
635
+ : creationCapabilityExecutionMatches(certificate, this.config.runner);
636
+ }
637
+ /** Read-only proof that a verified revision artifact still matches its fixed execution boundary. */
638
+ async verifyArtifactExecution(certificate, signal) {
639
+ if (certificate.protocol.startsWith('assistant-growth/revision-verification/')) {
640
+ await verifyRevisionCapabilityExecution(certificate, this.config.runner, signal);
641
+ }
642
+ else
643
+ await verifyCreationCapabilityExecution(certificate, this.config.runner, signal);
644
+ }
645
+ /**
646
+ * Host-only: execute one verified parent/revision artifact under the same finite behavior runner
647
+ * as creation adoption. It records no call here; the revision journal owns entry-call attribution.
648
+ */
649
+ async runRevisionArtifact(input) {
650
+ if (!this.runner || !this.started || this.closed)
651
+ fail('revision artifact runner unavailable');
652
+ input.signal.throwIfAborted();
653
+ if (!this.matchesArtifactExecution(input.certificate))
654
+ fail('revision artifact execution boundary changed');
655
+ if (!Buffer.isBuffer(input.artifact) || input.artifact.length !== input.certificate.plan.artifactBytes
656
+ || sha(input.artifact) !== input.certificate.plan.artifactSha256)
657
+ fail('revision artifact changed');
658
+ const operation = input.operation.kind === 'discover' ? { kind: 'discover' }
659
+ : { kind: 'invoke', schemaDigest: input.certificate.schemaDigest, calls: input.operation.calls };
660
+ return this.runner.run({ key: input.key, artifact: Buffer.from(input.artifact), operation, signal: input.signal });
661
+ }
507
662
  /** Host-only evidence lookup remains available for terminal adoptions. */
508
663
  inspectCallEvidence(planId) {
509
664
  return this.journal.listCallEvidence?.(planId) ?? [];
@@ -513,6 +668,11 @@ export class CreationCapabilityRuntime {
513
668
  const record = this.journal.inspect(planId);
514
669
  return record?.receipt ? { record, calls: this.inspectCallEvidence(planId) } : undefined;
515
670
  }
671
+ /** Adoption times of every other receipt in this journal; a concurrent-change flag only, never evidence. */
672
+ inspectOtherAdoptionTimes(planId) {
673
+ return this.journal.list().flatMap(record => record.planId !== planId && record.receipt
674
+ ? [record.receipt.adoptedAt] : []);
675
+ }
516
676
  /** Historical data only; callers must check the current authenticated owner. */
517
677
  inspectSourceEvidence(planId) {
518
678
  const record = this.journal.inspect(planId);
@@ -1 +1 @@
1
- {"version":3,"file":"creation-capability-runtime.js","sourceRoot":"","sources":["../src/creation-capability-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"creation-capability-runtime.js","sourceRoot":"","sources":["../src/creation-capability-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { DatabaseSync } from 'node:sqlite';
2
+ export declare const SEALED_ADOPTION_HANDOFF_PROTOCOL: "dsh-sealed-creation-adoption-handoff/v1";
3
+ export declare const SEALED_ADOPTION_AUDIT = "creation_sealed_adoption_handoff";
4
+ export declare const SEALED_ADOPTION_AUDIT_STATEMENTS: readonly string[];
5
+ export declare const SEALED_PROOF_KEYS: readonly ["protocol", "plan", "fileIdentity", "archive", "liveBusiness", "inheritedUsage", "digest"];
6
+ /** Exact immutable audit objects and a canonical, self-digested singleton proof; undefined when absent. */
7
+ export declare function readSealedAdoptionAudit(db: DatabaseSync): {
8
+ proof: Record<string, unknown>;
9
+ json: string;
10
+ } | undefined;
11
+ /** Plan ids archived by the sealed handoff. A sealed id can never be claimed again under the next
12
+ * authority: an old tool returns only under a new plan id with a fresh linux-native certificate. */
13
+ export declare function sealedAdoptionPlanIds(db: DatabaseSync, authorityDigest: string): ReadonlySet<string>;
14
+ /** Usage a journal must keep counting after its history was sealed away. Never refunded. */
15
+ export declare function sealedAdoptionInheritedUsage(db: DatabaseSync, authorityDigest: string): {
16
+ adoptions: number;
17
+ calls: number;
18
+ } | undefined;
19
+ //# sourceMappingURL=creation-capability-sealed-audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creation-capability-sealed-audit.d.ts","sourceRoot":"","sources":["../src/creation-capability-sealed-audit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,eAAO,MAAM,gCAAgC,EAAG,yCAAkD,CAAA;AAClG,eAAO,MAAM,qBAAqB,qCAAqC,CAAA;AAIvE,eAAO,MAAM,gCAAgC,EAAE,SAAS,MAAM,EAAsC,CAAA;AAGpG,eAAO,MAAM,iBAAiB,sGAAiG,CAAA;AAqB/H,2GAA2G;AAC3G,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAmBtH;AAED;oGACoG;AACpG,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAYpG;AAED,4FAA4F;AAC5F,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAmBxI"}
@@ -0,0 +1,114 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { canonicalGrowthJson } from '@dsh-enhanced/assistant-growth-contract';
3
+ // Kept free of journal imports: CreationCapabilityJournal reads this audit to count inherited usage.
4
+ export const SEALED_ADOPTION_HANDOFF_PROTOCOL = 'dsh-sealed-creation-adoption-handoff/v1';
5
+ export const SEALED_ADOPTION_AUDIT = 'creation_sealed_adoption_handoff';
6
+ const AUDIT_SQL = `CREATE TABLE ${SEALED_ADOPTION_AUDIT} (singleton INTEGER PRIMARY KEY CHECK(singleton=1), proof_json TEXT NOT NULL, proof_digest TEXT NOT NULL CHECK(length(proof_digest)=64)) STRICT`;
7
+ const NO_UPDATE = `CREATE TRIGGER creation_sealed_handoff_no_update BEFORE UPDATE ON ${SEALED_ADOPTION_AUDIT} BEGIN SELECT RAISE(ABORT,'immutable sealed adoption handoff'); END`;
8
+ const NO_DELETE = `CREATE TRIGGER creation_sealed_handoff_no_delete BEFORE DELETE ON ${SEALED_ADOPTION_AUDIT} BEGIN SELECT RAISE(ABORT,'immutable sealed adoption handoff'); END`;
9
+ export const SEALED_ADOPTION_AUDIT_STATEMENTS = [AUDIT_SQL, NO_UPDATE, NO_DELETE];
10
+ const OBJECTS = [['table', SEALED_ADOPTION_AUDIT, AUDIT_SQL], ['trigger', 'creation_sealed_handoff_no_delete', NO_DELETE],
11
+ ['trigger', 'creation_sealed_handoff_no_update', NO_UPDATE]];
12
+ export const SEALED_PROOF_KEYS = ['protocol', 'plan', 'fileIdentity', 'archive', 'liveBusiness', 'inheritedUsage', 'digest'];
13
+ function fail(message) { throw new Error(`sealed adoption audit: ${message}`); }
14
+ const sha = (value) => createHash('sha256').update(value).digest('hex');
15
+ function text(raw) {
16
+ if (!(raw instanceof Uint8Array))
17
+ fail('non-text bytes');
18
+ let decoded;
19
+ try {
20
+ decoded = new TextDecoder('utf-8', { fatal: true }).decode(raw);
21
+ }
22
+ catch {
23
+ fail('invalid UTF-8 text');
24
+ }
25
+ if (decoded.includes('\0') || !Buffer.from(decoded, 'utf8').equals(raw))
26
+ fail('noncanonical text bytes');
27
+ return decoded;
28
+ }
29
+ function record(value, keys) {
30
+ if (!value || typeof value !== 'object' || Array.isArray(value) || Object.getPrototypeOf(value) !== Object.prototype
31
+ || Object.keys(value).sort().join('\0') !== [...keys].sort().join('\0'))
32
+ fail('unexpected fields');
33
+ return value;
34
+ }
35
+ function count(value) {
36
+ if (!Number.isSafeInteger(value) || Number(value) < 0 || Number(value) > 1024)
37
+ fail('invalid inherited usage');
38
+ return Number(value);
39
+ }
40
+ /** Exact immutable audit objects and a canonical, self-digested singleton proof; undefined when absent. */
41
+ export function readSealedAdoptionAudit(db) {
42
+ const names = [SEALED_ADOPTION_AUDIT, ...OBJECTS.map(([, name]) => name)];
43
+ const objects = db.prepare(`SELECT CAST(type AS BLOB) AS type, CAST(name AS BLOB) AS name, CAST(sql AS BLOB) AS sql
44
+ FROM sqlite_schema WHERE tbl_name=? OR name IN (${names.map(() => '?').join(',')}) ORDER BY type, name`).all(SEALED_ADOPTION_AUDIT, ...names);
45
+ if (objects.length === 0)
46
+ return undefined;
47
+ if (objects.length !== OBJECTS.length || objects.some((row, index) => text(row.type) !== OBJECTS[index][0]
48
+ || text(row.name) !== OBJECTS[index][1] || text(row.sql) !== OBJECTS[index][2]))
49
+ fail('unexpected audit schema');
50
+ const rows = db.prepare(`SELECT singleton, typeof(singleton) AS kind, CAST(proof_json AS BLOB) AS proof_json,
51
+ CAST(proof_digest AS BLOB) AS proof_digest FROM ${SEALED_ADOPTION_AUDIT}`).all();
52
+ if (rows.length !== 1 || rows[0].kind !== 'integer' || rows[0].singleton !== 1)
53
+ fail('missing immutable proof');
54
+ const json = text(rows[0].proof_json), column = text(rows[0].proof_digest);
55
+ let parsed;
56
+ try {
57
+ parsed = JSON.parse(json);
58
+ }
59
+ catch {
60
+ fail('invalid proof JSON');
61
+ }
62
+ const proof = record(parsed, SEALED_PROOF_KEYS);
63
+ if (canonicalGrowthJson(proof) !== json)
64
+ fail('noncanonical proof JSON');
65
+ const { digest, ...body } = proof;
66
+ if (proof.protocol !== SEALED_ADOPTION_HANDOFF_PROTOCOL || typeof digest !== 'string'
67
+ || digest !== sha(canonicalGrowthJson(body)) || digest !== column)
68
+ fail('proof digest mismatch');
69
+ return { proof, json };
70
+ }
71
+ /** Plan ids archived by the sealed handoff. A sealed id can never be claimed again under the next
72
+ * authority: an old tool returns only under a new plan id with a fresh linux-native certificate. */
73
+ export function sealedAdoptionPlanIds(db, authorityDigest) {
74
+ if (sealedAdoptionInheritedUsage(db, authorityDigest) === undefined)
75
+ return new Set();
76
+ const plan = readSealedAdoptionAudit(db).proof.plan;
77
+ const rows = plan.history?.rows;
78
+ if (!Array.isArray(rows))
79
+ fail('invalid sealed history rows');
80
+ const ids = new Set();
81
+ for (const row of rows) {
82
+ const planId = row?.planId;
83
+ if (typeof planId !== 'string' || planId.length === 0 || ids.has(planId))
84
+ fail('invalid sealed history rows');
85
+ ids.add(planId);
86
+ }
87
+ return ids;
88
+ }
89
+ /** Usage a journal must keep counting after its history was sealed away. Never refunded. */
90
+ export function sealedAdoptionInheritedUsage(db, authorityDigest) {
91
+ const audit = readSealedAdoptionAudit(db);
92
+ if (!audit)
93
+ return undefined;
94
+ const { proof } = audit;
95
+ const plan = proof.plan;
96
+ if (!plan || typeof plan !== 'object' || Array.isArray(plan))
97
+ fail('invalid plan');
98
+ const { digest, ...planBody } = plan;
99
+ const next = plan.nextIdentity;
100
+ const history = plan.history;
101
+ if (plan.protocol !== SEALED_ADOPTION_HANDOFF_PROTOCOL || typeof digest !== 'string' || digest !== sha(canonicalGrowthJson(planBody))
102
+ || !next || typeof next !== 'object' || next.authorityDigest !== authorityDigest)
103
+ fail('proof authority mismatch');
104
+ const usage = record(proof.inheritedUsage, ['adoptions', 'calls']);
105
+ const result = { adoptions: count(usage.adoptions), calls: count(usage.calls) };
106
+ const planned = record(plan.inheritedUsage, ['adoptions', 'calls']);
107
+ const live = record(proof.liveBusiness, ['adoptions', 'calls', 'sourceArchives']);
108
+ if (planned.adoptions !== result.adoptions || planned.calls !== result.calls
109
+ || history?.counts?.adoptions !== result.adoptions || history.counts.calls !== result.calls
110
+ || live.adoptions !== 0 || live.calls !== 0 || live.sourceArchives !== 0)
111
+ fail('inherited usage mismatch');
112
+ return result;
113
+ }
114
+ //# sourceMappingURL=creation-capability-sealed-audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creation-capability-sealed-audit.js","sourceRoot":"","sources":["../src/creation-capability-sealed-audit.ts"],"names":[],"mappings":"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"}