@dsh-enhanced/assistant-automations 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.
Files changed (50) hide show
  1. package/README.md +34 -1
  2. package/lib/coordinator.d.ts +15 -0
  3. package/lib/coordinator.d.ts.map +1 -1
  4. package/lib/coordinator.js +12 -0
  5. package/lib/coordinator.js.map +1 -1
  6. package/lib/host-agent-execution.d.ts +24 -0
  7. package/lib/host-agent-execution.d.ts.map +1 -0
  8. package/lib/host-agent-execution.js +248 -0
  9. package/lib/host-agent-execution.js.map +1 -0
  10. package/lib/host-executors.d.ts +10 -1
  11. package/lib/host-executors.d.ts.map +1 -1
  12. package/lib/host-executors.js +37 -7
  13. package/lib/host-executors.js.map +1 -1
  14. package/lib/index.d.ts +3 -2
  15. package/lib/index.d.ts.map +1 -1
  16. package/lib/index.js +2 -1
  17. package/lib/index.js.map +1 -1
  18. package/lib/native-agent-execution.d.ts +123 -0
  19. package/lib/native-agent-execution.d.ts.map +1 -0
  20. package/lib/native-agent-execution.js +922 -0
  21. package/lib/native-agent-execution.js.map +1 -0
  22. package/lib/operator.d.ts +56 -2
  23. package/lib/operator.d.ts.map +1 -1
  24. package/lib/operator.js +307 -8
  25. package/lib/operator.js.map +1 -1
  26. package/lib/runner.d.ts +2 -86
  27. package/lib/runner.d.ts.map +1 -1
  28. package/lib/runner.js +2 -777
  29. package/lib/runner.js.map +1 -1
  30. package/lib/schedule.d.ts +2 -0
  31. package/lib/schedule.d.ts.map +1 -1
  32. package/lib/schedule.js +8 -1
  33. package/lib/schedule.js.map +1 -1
  34. package/lib/service.d.ts +38 -4
  35. package/lib/service.d.ts.map +1 -1
  36. package/lib/service.js +112 -8
  37. package/lib/service.js.map +1 -1
  38. package/lib/sqlite.d.ts +1 -1
  39. package/lib/sqlite.d.ts.map +1 -1
  40. package/lib/sqlite.js +53 -2
  41. package/lib/sqlite.js.map +1 -1
  42. package/lib/store.d.ts +47 -1
  43. package/lib/store.d.ts.map +1 -1
  44. package/lib/store.js +221 -10
  45. package/lib/store.js.map +1 -1
  46. package/lib/types.d.ts +59 -0
  47. package/lib/types.d.ts.map +1 -1
  48. package/lib/version.d.ts +1 -1
  49. package/lib/version.js +1 -1
  50. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/lib/store.js CHANGED
@@ -203,6 +203,8 @@ export function normalizeAutomationDefinition(value, maxPromptBytes = 16_384, ma
203
203
  principal: text(input['principal'], 'principal', 500),
204
204
  ...(budgetId === undefined ? {} : { budgetId, budgetAmount: budgetAmount }),
205
205
  };
206
+ if (!host && control.schedule.kind === 'external')
207
+ throw new AutomationStoreError('invalid-definition', 'external schedules require a Host definition');
206
208
  if (host) {
207
209
  const rawExecution = input['execution'];
208
210
  const executionAllowed = new Set([
@@ -917,9 +919,13 @@ function buildTerminalEvaluation(input) {
917
919
  // later or after a restart.
918
920
  if (input.executionMode !== 'production')
919
921
  return undefined;
920
- const inputTokens = nonNegativeUsageMetric(input.usage, 'inputTokens');
921
- const outputTokens = nonNegativeUsageMetric(input.usage, 'outputTokens');
922
- const toolCalls = nonNegativeUsageMetric(input.usage, 'toolCalls');
922
+ // Interrupted native executions retain observed lower bounds in the run
923
+ // receipt. Evaluation's fixed metrics protocol has no partial qualifier,
924
+ // so publishing those counters here would misstate complete task costs.
925
+ const completeUsage = input.usage.observedPartial === true ? {} : input.usage;
926
+ const inputTokens = nonNegativeUsageMetric(completeUsage, 'inputTokens');
927
+ const outputTokens = nonNegativeUsageMetric(completeUsage, 'outputTokens');
928
+ const toolCalls = nonNegativeUsageMetric(completeUsage, 'toolCalls');
923
929
  const latencyMs = input.startedAt === null ? undefined : Math.max(0, input.occurredAt - input.startedAt);
924
930
  const retries = Math.max(0, input.attemptNumber - 1);
925
931
  const metrics = Object.freeze({
@@ -931,6 +937,7 @@ function buildTerminalEvaluation(input) {
931
937
  });
932
938
  const situation = automationSituation(input.automation.id);
933
939
  const fixedHostObjective = input.executionMode === 'production'
940
+ && input.unverifiedObjective !== true
934
941
  && isHostAutomationDefinition(input.automation.definition)
935
942
  && (input.outcome === 'succeeded' || input.outcome === 'failed' || input.outcome === 'timed_out');
936
943
  const objectiveStatus = !fixedHostObjective
@@ -1052,6 +1059,7 @@ export class AutomationStore {
1052
1059
  ...(exact ? { expectedDefinitionHash: input.expectedDefinitionHash, expectedVersion: input.expectedVersion } : {}) });
1053
1060
  const definitionHash = hash(definition);
1054
1061
  return this.transaction(() => {
1062
+ this.assertSystemNotRetired(owner, id);
1055
1063
  const prior = this.database.prepare(`
1056
1064
  SELECT input_hash, result_json FROM automation_system_reconciles WHERE idempotency_key = ?
1057
1065
  `).get(idempotencyKey);
@@ -1518,6 +1526,151 @@ export class AutomationStore {
1518
1526
  return Object.freeze({ operationId, ...stored, replayed: false });
1519
1527
  });
1520
1528
  }
1529
+ assertSystemNotRetired(owner, automationId) {
1530
+ if (owner !== undefined && this.inspectSystemOwnedRetirement({ owner, automationId }) !== undefined) {
1531
+ throw new AutomationStoreError('invalid-state', 'system-owned automation is permanently retired');
1532
+ }
1533
+ }
1534
+ inspectSystemOwnedRetirement(input) {
1535
+ const owner = text(input.owner, 'owner', 200);
1536
+ const automationId = text(input.automationId, 'automationId', 500);
1537
+ const row = this.database.prepare(`SELECT * FROM automation_system_retirements
1538
+ WHERE system_owner = ? AND automation_id = ?`).get(owner, automationId);
1539
+ return row === undefined ? undefined : Object.freeze({
1540
+ owner, automationId, operationId: row.operation_id, definitionHash: row.definition_hash,
1541
+ expectedVersion: row.expected_version, definitionVersion: row.definition_version,
1542
+ automationStatus: 'paused', reason: row.reason, evidenceDigest: row.evidence_digest,
1543
+ retiredAt: row.retired_at, replayed: true,
1544
+ });
1545
+ }
1546
+ retireSystemOwned(input) {
1547
+ const owner = text(input.owner, 'owner', 200);
1548
+ const operationId = text(input.operationId, 'operationId', 500);
1549
+ const automationId = text(input.automationId, 'automationId', 500);
1550
+ if (!/^[a-f0-9]{64}$/u.test(input.definitionHash) || !/^[a-f0-9]{64}$/u.test(input.evidenceDigest)
1551
+ || input.reason !== 'owner-revoked' || !Number.isSafeInteger(input.expectedVersion) || input.expectedVersion < 1) {
1552
+ throw new AutomationStoreError('invalid-definition', 'system retirement tuple is invalid');
1553
+ }
1554
+ return this.transaction(() => {
1555
+ const prior = this.inspectSystemOwnedRetirement({ owner, automationId });
1556
+ const operation = this.database.prepare(`SELECT system_owner, automation_id FROM automation_system_retirements
1557
+ WHERE operation_id = ?`).get(operationId);
1558
+ if ((operation !== undefined && (operation.system_owner !== owner || operation.automation_id !== automationId))
1559
+ || (prior !== undefined && (prior.operationId !== operationId || prior.definitionHash !== input.definitionHash
1560
+ || prior.expectedVersion !== input.expectedVersion || prior.evidenceDigest !== input.evidenceDigest
1561
+ || prior.reason !== input.reason))) {
1562
+ throw new AutomationStoreError('idempotency-conflict', 'system retirement operation conflicts with existing retirement');
1563
+ }
1564
+ const current = this.database.prepare('SELECT * FROM automation_definitions WHERE id = ?')
1565
+ .get(automationId);
1566
+ if (current === undefined || current.system_owner !== owner || current.definition_hash !== input.definitionHash) {
1567
+ throw new AutomationStoreError('not-found', 'exact system-owned automation definition was not found');
1568
+ }
1569
+ if (prior !== undefined) {
1570
+ if (current.status !== 'paused' || current.next_run_at !== null || current.version !== prior.definitionVersion) {
1571
+ throw new AutomationStoreError('invalid-state', 'system retirement receipt no longer matches the definition state');
1572
+ }
1573
+ return prior;
1574
+ }
1575
+ if (current.version !== input.expectedVersion) {
1576
+ throw new AutomationStoreError('version-conflict', 'system-owned automation version changed before retirement');
1577
+ }
1578
+ if (current.status !== 'active' && current.status !== 'paused') {
1579
+ throw new AutomationStoreError('invalid-state', 'only active or paused system-owned automations can be retired');
1580
+ }
1581
+ const retiredAt = this.now();
1582
+ const changed = this.database.prepare(`UPDATE automation_definitions
1583
+ SET status = 'paused', next_run_at = NULL, updated_at = ?, version = version + 1
1584
+ WHERE id = ? AND system_owner = ? AND definition_hash = ? AND version = ? AND status IN ('active', 'paused')`)
1585
+ .run(retiredAt, automationId, owner, input.definitionHash, input.expectedVersion);
1586
+ if (changed.changes !== 1)
1587
+ throw new AutomationStoreError('version-conflict', 'system retirement CAS failed');
1588
+ this.database.prepare(`INSERT INTO automation_system_retirements(
1589
+ system_owner, automation_id, operation_id, definition_hash, expected_version, definition_version,
1590
+ reason, evidence_digest, retired_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`)
1591
+ .run(owner, automationId, operationId, input.definitionHash, input.expectedVersion, input.expectedVersion + 1, input.reason, input.evidenceDigest, retiredAt);
1592
+ return Object.freeze({ ...this.inspectSystemOwnedRetirement({ owner, automationId }), replayed: false });
1593
+ });
1594
+ }
1595
+ /** Exact durable tuple, never a latest-run guess. Corrupt/legacy state fails closed. */
1596
+ inspectProductionOccurrence(input) {
1597
+ try {
1598
+ const automationId = text(input.automationId, 'automationId', 500);
1599
+ const occurrenceId = text(input.occurrenceId, 'occurrenceId', 500);
1600
+ const workspace = text(input.workspace, 'workspace', 4_096);
1601
+ const agentPreset = text(input.agentPreset, 'agentPreset', 500);
1602
+ if (automationId !== input.automationId || occurrenceId !== input.occurrenceId || workspace !== input.workspace || agentPreset !== input.agentPreset
1603
+ || [automationId, occurrenceId, workspace, agentPreset].some(value => [...value].some(character => character.charCodeAt(0) < 32)))
1604
+ return undefined;
1605
+ return this.transaction(() => {
1606
+ const row = this.database.prepare(`SELECT r.*, CAST(r.id AS BLOB) AS raw_run_id, CAST(r.task_id AS BLOB) AS raw_task_id, CAST(r.attempt_id AS BLOB) AS raw_attempt_id,
1607
+ CAST(r.definition_hash AS BLOB) AS raw_definition_hash, CAST(r.diagnostic_json AS BLOB) AS raw_diagnostic,
1608
+ CAST(a.automation_snapshot_json AS BLOB) AS raw_snapshot,
1609
+ CAST(a.automation_snapshot_hash AS BLOB) AS raw_snapshot_hash,
1610
+ a.attempt_number AS actual_attempt, a.finished_at AS actual_finished,
1611
+ a.status AS attempt_status, t.status AS task_status, t.lease_until AS actual_lease,
1612
+ t.attempt_count AS actual_attempt_count, o.status AS occurrence_status
1613
+ FROM automation_runs r JOIN automation_tasks t ON t.id = r.task_id AND t.occurrence_id = r.occurrence_id AND t.automation_id = r.automation_id
1614
+ JOIN automation_attempts a ON a.id = r.attempt_id AND a.task_id = t.id
1615
+ JOIN automation_occurrences o ON o.id = r.occurrence_id AND o.automation_id = r.automation_id
1616
+ WHERE r.automation_id = ? AND r.occurrence_id = ? AND r.execution_mode = 'production'
1617
+ AND o.dry_run = 0 AND r.quiescent = 1
1618
+ AND r.status IN ('succeeded', 'failed', 'timed_out', 'cancelled')
1619
+ AND t.status = r.status AND a.status = r.status AND o.status = r.status`).get(automationId, occurrenceId);
1620
+ if (!row || row.status === 'unknown' || !['succeeded', 'failed', 'timed_out', 'cancelled'].includes(row.status)
1621
+ || row.attempt_status !== row.status || row.task_status !== row.status || row.occurrence_status !== row.status
1622
+ || row.actual_lease !== null || row.actual_finished !== row.created_at || row.actual_attempt !== row.actual_attempt_count
1623
+ || !Number.isSafeInteger(row.created_at) || row.created_at < 0
1624
+ || !Number.isSafeInteger(row.actual_attempt) || row.actual_attempt < 1)
1625
+ return undefined;
1626
+ const active = this.database.prepare(`SELECT 1 FROM automation_tasks t
1627
+ LEFT JOIN automation_attempts a ON a.task_id = t.id
1628
+ WHERE t.automation_id = ? AND t.occurrence_id = ?
1629
+ AND (t.status IN ('claimed', 'running') OR t.lease_until IS NOT NULL OR a.status IN ('claimed', 'running')) LIMIT 1`)
1630
+ .get(automationId, occurrenceId);
1631
+ if (active)
1632
+ return undefined;
1633
+ const decode = (value, maximum) => {
1634
+ if (!(value instanceof Uint8Array) || value.byteLength > maximum)
1635
+ throw new Error('invalid occurrence bytes');
1636
+ return new TextDecoder('utf-8', { fatal: true, ignoreBOM: true }).decode(value);
1637
+ };
1638
+ const runId = decode(row.raw_run_id, 1_000), taskId = decode(row.raw_task_id, 1_000), attemptId = decode(row.raw_attempt_id, 1_000);
1639
+ if ([runId, taskId, attemptId].some(value => !value || [...value].some(character => character.charCodeAt(0) < 32)))
1640
+ return undefined;
1641
+ const snapshotJson = decode(row.raw_snapshot, 16 * 1024 * 1024);
1642
+ const snapshotHash = decode(row.raw_snapshot_hash, 64), definitionHash = decode(row.raw_definition_hash, 64);
1643
+ if (!/^[a-f0-9]{64}$/u.test(snapshotHash) || !/^[a-f0-9]{64}$/u.test(definitionHash))
1644
+ return undefined;
1645
+ const parsedSnapshot = JSON.parse(snapshotJson);
1646
+ if (JSON.stringify(parsedSnapshot) !== snapshotJson)
1647
+ return undefined;
1648
+ const snapshot = decodeAutomationSnapshot(snapshotHash, snapshotJson, automationId);
1649
+ if (!snapshot || JSON.stringify(snapshot) !== snapshotJson || hash(snapshot.definition) !== definitionHash
1650
+ || snapshot.definition.workspace !== workspace || snapshot.definition.agentPreset !== agentPreset)
1651
+ return undefined;
1652
+ if (snapshot.owner !== undefined && (text(snapshot.owner, 'owner', 500) !== snapshot.owner
1653
+ || [...snapshot.owner].some(character => character.charCodeAt(0) < 32)))
1654
+ return undefined;
1655
+ const rawDiagnostic = decode(row.raw_diagnostic, 4_096), parsedDiagnostic = JSON.parse(rawDiagnostic);
1656
+ if (JSON.stringify(parsedDiagnostic) !== rawDiagnostic)
1657
+ return undefined;
1658
+ const diagnostic = executionDiagnostic(parsedDiagnostic, 'invalid-state');
1659
+ assertDiagnosticOutcome(row.status, diagnostic, snapshot.definition);
1660
+ if (!['not-required', 'not-reserved', 'released', 'finalized'].includes(diagnostic.budgetSettlementState))
1661
+ return undefined;
1662
+ return Object.freeze({ protocol: 'assistant-automations/production-occurrence/v1',
1663
+ automationId, occurrenceId, taskId, attemptId, runId,
1664
+ executionMode: 'production', status: row.status, completedAt: row.created_at,
1665
+ quiescent: true, budgetSettlementState: diagnostic.budgetSettlementState,
1666
+ immutableContext: Object.freeze({ state: 'verified', definitionHash, definitionVersion: snapshot.version,
1667
+ scope: Object.freeze({ workspace, agentPreset }), ...(snapshot.owner === undefined ? {} : { owner: snapshot.owner }) }) });
1668
+ });
1669
+ }
1670
+ catch {
1671
+ return undefined;
1672
+ }
1673
+ }
1521
1674
  inspectSystemOwned(input) {
1522
1675
  const owner = text(input.owner, 'owner', 500);
1523
1676
  const automationId = text(input.automationId, 'automationId', 500);
@@ -1558,6 +1711,7 @@ export class AutomationStore {
1558
1711
  : Object.freeze({ state: 'unknown' });
1559
1712
  return Object.freeze({
1560
1713
  runId: latest.id,
1714
+ occurrenceId: latest.occurrenceId,
1561
1715
  status: latest.status,
1562
1716
  executionMode,
1563
1717
  diagnostic: latest.diagnostic,
@@ -1761,6 +1915,9 @@ export class AutomationStore {
1761
1915
  changeApproved(input) {
1762
1916
  const inputHash = hash(input);
1763
1917
  return this.transaction(() => {
1918
+ const existing = this.get(input.automationId);
1919
+ if (input.operation === 'resume')
1920
+ this.assertSystemNotRetired(existing?.owner, input.automationId);
1764
1921
  const prior = this.database.prepare('SELECT input_hash, result_json FROM automation_changes WHERE idempotency_key = ?').get(input.idempotencyKey);
1765
1922
  if (prior !== undefined) {
1766
1923
  if (prior.input_hash !== inputHash) {
@@ -1874,6 +2031,9 @@ export class AutomationStore {
1874
2031
  const created = [];
1875
2032
  for (const row of due) {
1876
2033
  const automation = record(row);
2034
+ if (automation.owner !== undefined
2035
+ && this.inspectSystemOwnedRetirement({ owner: automation.owner, automationId: automation.id }) !== undefined)
2036
+ continue;
1877
2037
  if (isHostAutomationDefinition(automation.definition)) {
1878
2038
  const availability = this.exactHostAvailability(input.hostAvailability, automation.id, row.definition_hash, 'materialize');
1879
2039
  if (availability?.available !== true) {
@@ -1981,6 +2141,8 @@ export class AutomationStore {
1981
2141
  const automation = this.get(input.automationId);
1982
2142
  if (automation === undefined)
1983
2143
  throw new AutomationStoreError('not-found', 'automation was not found');
2144
+ if (automation.definition.schedule.kind === 'external')
2145
+ throw new AutomationStoreError('invalid-state', 'external schedules cannot run manually');
1984
2146
  if (automation.status !== 'active')
1985
2147
  throw new AutomationStoreError('invalid-state', 'automation is not active');
1986
2148
  const occurrenceId = stableOccurrenceId(automation.id, 'manual', requestId);
@@ -2102,7 +2264,7 @@ export class AutomationStore {
2102
2264
  });
2103
2265
  }
2104
2266
  inspectAcceptedExecution(contract) {
2105
- const row = this.database.prepare(`SELECT acceptance.*, run.* FROM automation_task_acceptance acceptance
2267
+ const row = this.database.prepare(`SELECT acceptance.*, run.*, acceptance.quiescent AS accepted_quiescent FROM automation_task_acceptance acceptance
2106
2268
  LEFT JOIN automation_runs run ON run.task_id = acceptance.task_id
2107
2269
  WHERE acceptance.contract_id = ?`).get(contract.id);
2108
2270
  if (row === undefined || row.contract_digest !== contract.digest || row.workspace !== contract.scope.workspace
@@ -2118,10 +2280,45 @@ export class AutomationStore {
2118
2280
  || this.getRunExecutionMode(row.id) !== 'production')
2119
2281
  return null;
2120
2282
  const status = row.status === 'timed_out' ? 'timed-out' : row.status;
2121
- const quiescent = row.quiescent === 1;
2283
+ const quiescent = row.accepted_quiescent === 1;
2122
2284
  return Object.freeze({ contractId: row.contract_id, contractDigest: row.contract_digest,
2123
2285
  dispatchedAt: row.dispatched_at, status, quiescent, completedAt: row.created_at, executionRef: row.id });
2124
2286
  }
2287
+ /**
2288
+ * Host-only: the acceptance handle one production occurrence's worker task
2289
+ * froze, if any, with the Delivery binding it was frozen under. Keyed by the
2290
+ * exact (automation, occurrence, scope) tuple. Like `inspectAcceptedExecution`
2291
+ * the task must be production: a non-dry-run occurrence whose immutable task
2292
+ * snapshot is a non-host definition of this scope and, once a terminal run
2293
+ * exists, whose run execution mode is `production`. Ids only, no contract body.
2294
+ */
2295
+ inspectOccurrenceAcceptance(input) {
2296
+ const values = [input.automationId, input.occurrenceId, input.workspace, input.agentPreset];
2297
+ if (values.some(value => typeof value !== 'string' || value === '' || value.length > 4_096))
2298
+ return undefined;
2299
+ const row = this.database.prepare(`SELECT acceptance.task_id, acceptance.contract_id, acceptance.contract_digest,
2300
+ acceptance.binding_id, acceptance.binding_version, acceptance.binding_generation, run.id AS run_id
2301
+ FROM automation_task_acceptance acceptance
2302
+ JOIN automation_tasks task ON task.id = acceptance.task_id
2303
+ JOIN automation_occurrences occurrence ON occurrence.id = task.occurrence_id AND occurrence.automation_id = task.automation_id
2304
+ LEFT JOIN automation_runs run ON run.task_id = acceptance.task_id
2305
+ WHERE task.automation_id = ? AND task.occurrence_id = ? AND occurrence.dry_run = 0
2306
+ AND acceptance.workspace = ? AND acceptance.preset = ?`)
2307
+ .get(input.automationId, input.occurrenceId, input.workspace, input.agentPreset);
2308
+ if (row === undefined || typeof row.contract_id !== 'string' || !/^[a-f0-9]{64}$/u.test(row.contract_digest)
2309
+ || typeof row.binding_id !== 'string' || row.binding_id === ''
2310
+ || !Number.isSafeInteger(row.binding_version) || row.binding_version < 1
2311
+ || !Number.isSafeInteger(row.binding_generation) || row.binding_generation < 1)
2312
+ return undefined;
2313
+ const snapshot = this.getTaskExecutionSnapshot(row.task_id);
2314
+ if (snapshot === undefined || isHostAutomationDefinition(snapshot.definition)
2315
+ || snapshot.definition.workspace !== input.workspace || snapshot.definition.agentPreset !== input.agentPreset)
2316
+ return undefined;
2317
+ if (row.run_id !== null && this.getRunExecutionMode(row.run_id) !== 'production')
2318
+ return undefined;
2319
+ return Object.freeze({ contractId: row.contract_id, contractDigest: row.contract_digest,
2320
+ bindingId: row.binding_id, bindingVersion: row.binding_version, bindingGeneration: row.binding_generation });
2321
+ }
2125
2322
  markAcceptedTaskQuiescent(taskId, quiescent) {
2126
2323
  this.database.prepare(`UPDATE automation_task_acceptance SET quiescent = ? WHERE task_id = ?`)
2127
2324
  .run(quiescent ? 1 : 0, taskId);
@@ -2556,6 +2753,11 @@ export class AutomationStore {
2556
2753
  completeTask(input) {
2557
2754
  if (!Number.isSafeInteger(input.now))
2558
2755
  throw new AutomationStoreError('invalid-definition', 'now must be a safe integer');
2756
+ if (input.unverifiedObjective !== undefined && input.unverifiedObjective !== true)
2757
+ throw new AutomationStoreError('invalid-definition', 'unverifiedObjective is a reduction-only marker');
2758
+ if (input.quiescent !== undefined && typeof input.quiescent !== 'boolean')
2759
+ throw new AutomationStoreError('invalid-definition', 'quiescent must be an observed boolean');
2760
+ const quiescent = input.quiescent === undefined ? null : input.quiescent ? 1 : 0;
2559
2761
  const preview = typeof input.outputPreview === 'string' && Buffer.byteLength(input.outputPreview, 'utf8') <= 8_192
2560
2762
  ? input.outputPreview
2561
2763
  : (() => { throw new AutomationStoreError('invalid-definition', 'outputPreview exceeds 8192 bytes'); })();
@@ -2598,7 +2800,8 @@ export class AutomationStore {
2598
2800
  && existing.artifact_ref === (input.artifactRef ?? null)
2599
2801
  && existing.output_preview === preview
2600
2802
  && existing.usage_json === usageJson
2601
- && existing.diagnostic_json === diagnosticJson;
2803
+ && existing.diagnostic_json === diagnosticJson
2804
+ && existing.quiescent === quiescent;
2602
2805
  if (!exact)
2603
2806
  throw new AutomationStoreError('idempotency-conflict', 'task completion was replayed with different output');
2604
2807
  return run(existing);
@@ -2647,6 +2850,7 @@ export class AutomationStore {
2647
2850
  executionMode,
2648
2851
  occurredAt: input.now,
2649
2852
  usage: input.usage,
2853
+ ...(input.unverifiedObjective === true ? { unverifiedObjective: true } : {}),
2650
2854
  startedAt: attempt.started_at,
2651
2855
  attemptNumber: attempt.attempt_number,
2652
2856
  deliveryStatus: runDeliveryStatus === 'pending' ? 'unknown' : 'not-required',
@@ -2658,11 +2862,11 @@ export class AutomationStore {
2658
2862
  this.database.prepare(`
2659
2863
  INSERT INTO automation_runs(
2660
2864
  id, occurrence_id, automation_id, task_id, attempt_id, status, session_id, artifact_ref,
2661
- output_preview, usage_json, execution_mode, definition_hash, diagnostic_json,
2865
+ output_preview, usage_json, execution_mode, definition_hash, diagnostic_json, quiescent,
2662
2866
  delivery_status, delivery_ref, evidence_status, evidence_json,
2663
2867
  created_at, updated_at
2664
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, ?, ?, ?, ?)
2665
- `).run(runId, row.occurrence_id, row.automation_id, row.id, attempt.id, input.outcome, input.sessionId ?? null, input.artifactRef ?? null, preview, usageJson, executionMode, definitionHash, diagnosticJson, runDeliveryStatus, evidence.status, evidence.json, input.now, input.now);
2868
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, ?, ?, ?, ?)
2869
+ `).run(runId, row.occurrence_id, row.automation_id, row.id, attempt.id, input.outcome, input.sessionId ?? null, input.artifactRef ?? null, preview, usageJson, executionMode, definitionHash, diagnosticJson, quiescent, runDeliveryStatus, evidence.status, evidence.json, input.now, input.now);
2666
2870
  if (evaluationJson !== undefined) {
2667
2871
  this.database.prepare(`
2668
2872
  INSERT INTO automation_evaluation_outbox(
@@ -3213,6 +3417,9 @@ export class AutomationStore {
3213
3417
  const storedAutomation = this.get(row.automation_id);
3214
3418
  if (storedAutomation === undefined)
3215
3419
  return undefined;
3420
+ if (storedAutomation.owner !== undefined
3421
+ && this.inspectSystemOwnedRetirement({ owner: storedAutomation.owner, automationId: storedAutomation.id }) !== undefined)
3422
+ return undefined;
3216
3423
  // claimTask() bypasses claimNextTask()'s candidate scan, so retain the
3217
3424
  // same exact paused-Growth proof here as an independent admission fence.
3218
3425
  const designatedGrowthTask = storedAutomation.status === 'paused'
@@ -3235,11 +3442,13 @@ export class AutomationStore {
3235
3442
  ? Object.freeze({ ...storedAutomation, status: 'active', nextRunAt: undefined })
3236
3443
  : storedAutomation;
3237
3444
  if (isHostAutomationDefinition(automation.definition)) {
3238
- const occurrence = this.database.prepare('SELECT dry_run FROM automation_occurrences WHERE id = ?')
3445
+ const occurrence = this.database.prepare('SELECT dry_run, trigger_kind FROM automation_occurrences WHERE id = ?')
3239
3446
  .get(row.occurrence_id);
3240
3447
  if (occurrence === undefined || (occurrence.dry_run !== 0 && occurrence.dry_run !== 1)) {
3241
3448
  throw new AutomationStoreError('invalid-state', 'Host task has no exact execution mode');
3242
3449
  }
3450
+ if (automation.definition.schedule.kind === 'external' && occurrence.trigger_kind !== 'external')
3451
+ return undefined;
3243
3452
  const preview = occurrence.dry_run === 1;
3244
3453
  const definitionHash = hash(automation.definition);
3245
3454
  const availability = this.exactHostAvailability(hostAvailability, automation.id, definitionHash, 'claim');
@@ -3493,6 +3702,8 @@ export class AutomationStore {
3493
3702
  `).run(id, input.automation.id, input.definitionHash, input.diagnostic.failureClass, input.diagnostic.failurePhase, input.diagnostic.failureCode, input.diagnostic.sideEffectState, input.diagnostic.retryability, route.id, input.runId, input.now, input.now);
3494
3703
  }
3495
3704
  insertOccurrence(input) {
3705
+ if (input.triggerKind !== 'external' && this.get(input.automationId)?.definition.schedule.kind === 'external')
3706
+ throw new AutomationStoreError('invalid-state', 'external schedules require an external event');
3496
3707
  const id = stableOccurrenceId(input.automationId, input.triggerKind, input.triggerKey);
3497
3708
  const existing = this.database.prepare('SELECT * FROM automation_occurrences WHERE id = ?').get(id);
3498
3709
  if (existing !== undefined)