instar 0.28.101 → 0.28.103

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 (275) hide show
  1. package/.claude/hooks/instar/before-prompt-recall.js +90 -0
  2. package/dist/cli.js +28 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/init.d.ts +1 -0
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +14 -1
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/jobMigrate.d.ts +46 -0
  9. package/dist/commands/jobMigrate.d.ts.map +1 -0
  10. package/dist/commands/jobMigrate.js +292 -0
  11. package/dist/commands/jobMigrate.js.map +1 -0
  12. package/dist/commands/server.d.ts.map +1 -1
  13. package/dist/commands/server.js +107 -49
  14. package/dist/commands/server.js.map +1 -1
  15. package/dist/core/BackupManager.d.ts +27 -1
  16. package/dist/core/BackupManager.d.ts.map +1 -1
  17. package/dist/core/BackupManager.js +56 -1
  18. package/dist/core/BackupManager.js.map +1 -1
  19. package/dist/core/GitStateManager.d.ts +8 -0
  20. package/dist/core/GitStateManager.d.ts.map +1 -1
  21. package/dist/core/GitStateManager.js +31 -1
  22. package/dist/core/GitStateManager.js.map +1 -1
  23. package/dist/core/MigratorStepEngine.d.ts +170 -0
  24. package/dist/core/MigratorStepEngine.d.ts.map +1 -0
  25. package/dist/core/MigratorStepEngine.js +352 -0
  26. package/dist/core/MigratorStepEngine.js.map +1 -0
  27. package/dist/core/PostUpdateMigrator.d.ts +76 -0
  28. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  29. package/dist/core/PostUpdateMigrator.js +252 -1
  30. package/dist/core/PostUpdateMigrator.js.map +1 -1
  31. package/dist/core/PreCompactionFlush.d.ts +101 -0
  32. package/dist/core/PreCompactionFlush.d.ts.map +1 -0
  33. package/dist/core/PreCompactionFlush.js +282 -0
  34. package/dist/core/PreCompactionFlush.js.map +1 -0
  35. package/dist/core/PromptBuildRecall.d.ts +97 -0
  36. package/dist/core/PromptBuildRecall.d.ts.map +1 -0
  37. package/dist/core/PromptBuildRecall.js +152 -0
  38. package/dist/core/PromptBuildRecall.js.map +1 -0
  39. package/dist/core/selectIntelligenceProvider.d.ts +41 -0
  40. package/dist/core/selectIntelligenceProvider.d.ts.map +1 -0
  41. package/dist/core/selectIntelligenceProvider.js +89 -0
  42. package/dist/core/selectIntelligenceProvider.js.map +1 -0
  43. package/dist/core/types.d.ts +19 -0
  44. package/dist/core/types.d.ts.map +1 -1
  45. package/dist/core/types.js.map +1 -1
  46. package/dist/keys/instar-release-pub.pem +3 -0
  47. package/dist/lifeline/ServerSupervisor.d.ts +183 -0
  48. package/dist/lifeline/ServerSupervisor.d.ts.map +1 -1
  49. package/dist/lifeline/ServerSupervisor.js +443 -0
  50. package/dist/lifeline/ServerSupervisor.js.map +1 -1
  51. package/dist/memory/NativeModuleHealer.d.ts +89 -0
  52. package/dist/memory/NativeModuleHealer.d.ts.map +1 -1
  53. package/dist/memory/NativeModuleHealer.js +371 -1
  54. package/dist/memory/NativeModuleHealer.js.map +1 -1
  55. package/dist/memory/SemanticMemory.d.ts +131 -0
  56. package/dist/memory/SemanticMemory.d.ts.map +1 -1
  57. package/dist/memory/SemanticMemory.js +315 -0
  58. package/dist/memory/SemanticMemory.js.map +1 -1
  59. package/dist/messaging/DeliveryRetryManager.d.ts +60 -0
  60. package/dist/messaging/DeliveryRetryManager.d.ts.map +1 -1
  61. package/dist/messaging/DeliveryRetryManager.js +104 -0
  62. package/dist/messaging/DeliveryRetryManager.js.map +1 -1
  63. package/dist/monitoring/DegradationReporter.d.ts +164 -0
  64. package/dist/monitoring/DegradationReporter.d.ts.map +1 -1
  65. package/dist/monitoring/DegradationReporter.js +309 -1
  66. package/dist/monitoring/DegradationReporter.js.map +1 -1
  67. package/dist/monitoring/ErrorCodeExtractor.d.ts +69 -0
  68. package/dist/monitoring/ErrorCodeExtractor.d.ts.map +1 -0
  69. package/dist/monitoring/ErrorCodeExtractor.js +131 -0
  70. package/dist/monitoring/ErrorCodeExtractor.js.map +1 -0
  71. package/dist/monitoring/PresenceProxy.d.ts +35 -1
  72. package/dist/monitoring/PresenceProxy.d.ts.map +1 -1
  73. package/dist/monitoring/PresenceProxy.js +67 -2
  74. package/dist/monitoring/PresenceProxy.js.map +1 -1
  75. package/dist/monitoring/PromptGate.d.ts +34 -0
  76. package/dist/monitoring/PromptGate.d.ts.map +1 -1
  77. package/dist/monitoring/PromptGate.js +81 -1
  78. package/dist/monitoring/PromptGate.js.map +1 -1
  79. package/dist/monitoring/Redactor.d.ts +58 -0
  80. package/dist/monitoring/Redactor.d.ts.map +1 -0
  81. package/dist/monitoring/Redactor.js +143 -0
  82. package/dist/monitoring/Redactor.js.map +1 -0
  83. package/dist/monitoring/probes/LifelineProbe.d.ts +7 -0
  84. package/dist/monitoring/probes/LifelineProbe.d.ts.map +1 -1
  85. package/dist/monitoring/probes/LifelineProbe.js +7 -0
  86. package/dist/monitoring/probes/LifelineProbe.js.map +1 -1
  87. package/dist/monitoring/probes/__shared.d.ts +50 -0
  88. package/dist/monitoring/probes/__shared.d.ts.map +1 -0
  89. package/dist/monitoring/probes/__shared.js +51 -0
  90. package/dist/monitoring/probes/__shared.js.map +1 -0
  91. package/dist/remediation/IntentJournal.d.ts +64 -0
  92. package/dist/remediation/IntentJournal.d.ts.map +1 -0
  93. package/dist/remediation/IntentJournal.js +118 -0
  94. package/dist/remediation/IntentJournal.js.map +1 -0
  95. package/dist/remediation/MachineLock.d.ts +137 -0
  96. package/dist/remediation/MachineLock.d.ts.map +1 -0
  97. package/dist/remediation/MachineLock.js +314 -0
  98. package/dist/remediation/MachineLock.js.map +1 -0
  99. package/dist/remediation/PrimaryAggregatorLease.d.ts +205 -0
  100. package/dist/remediation/PrimaryAggregatorLease.d.ts.map +1 -0
  101. package/dist/remediation/PrimaryAggregatorLease.js +450 -0
  102. package/dist/remediation/PrimaryAggregatorLease.js.map +1 -0
  103. package/dist/remediation/RemediationContext.d.ts +63 -0
  104. package/dist/remediation/RemediationContext.d.ts.map +1 -0
  105. package/dist/remediation/RemediationContext.js +109 -0
  106. package/dist/remediation/RemediationContext.js.map +1 -0
  107. package/dist/remediation/RemediationKeyVault.d.ts +123 -0
  108. package/dist/remediation/RemediationKeyVault.d.ts.map +1 -0
  109. package/dist/remediation/RemediationKeyVault.js +564 -0
  110. package/dist/remediation/RemediationKeyVault.js.map +1 -0
  111. package/dist/remediation/Remediator.d.ts +288 -0
  112. package/dist/remediation/Remediator.d.ts.map +1 -0
  113. package/dist/remediation/Remediator.js +520 -0
  114. package/dist/remediation/Remediator.js.map +1 -0
  115. package/dist/remediation/RemediatorBootstrap.d.ts +141 -0
  116. package/dist/remediation/RemediatorBootstrap.d.ts.map +1 -0
  117. package/dist/remediation/RemediatorBootstrap.js +255 -0
  118. package/dist/remediation/RemediatorBootstrap.js.map +1 -0
  119. package/dist/remediation/TrustElevationSource.d.ts +153 -0
  120. package/dist/remediation/TrustElevationSource.d.ts.map +1 -0
  121. package/dist/remediation/TrustElevationSource.js +208 -0
  122. package/dist/remediation/TrustElevationSource.js.map +1 -0
  123. package/dist/remediation/audit/AuditProjection.d.ts +37 -0
  124. package/dist/remediation/audit/AuditProjection.d.ts.map +1 -0
  125. package/dist/remediation/audit/AuditProjection.js +118 -0
  126. package/dist/remediation/audit/AuditProjection.js.map +1 -0
  127. package/dist/remediation/audit/AuditWriter.d.ts +79 -0
  128. package/dist/remediation/audit/AuditWriter.d.ts.map +1 -0
  129. package/dist/remediation/audit/AuditWriter.js +132 -0
  130. package/dist/remediation/audit/AuditWriter.js.map +1 -0
  131. package/dist/remediation/channels/CliApprovalChannel.d.ts +37 -0
  132. package/dist/remediation/channels/CliApprovalChannel.d.ts.map +1 -0
  133. package/dist/remediation/channels/CliApprovalChannel.js +45 -0
  134. package/dist/remediation/channels/CliApprovalChannel.js.map +1 -0
  135. package/dist/remediation/channels/TelegramApprovalChannel.d.ts +37 -0
  136. package/dist/remediation/channels/TelegramApprovalChannel.d.ts.map +1 -0
  137. package/dist/remediation/channels/TelegramApprovalChannel.js +45 -0
  138. package/dist/remediation/channels/TelegramApprovalChannel.js.map +1 -0
  139. package/dist/remediation/runbooks/db-corruption.d.ts +86 -0
  140. package/dist/remediation/runbooks/db-corruption.d.ts.map +1 -0
  141. package/dist/remediation/runbooks/db-corruption.js +190 -0
  142. package/dist/remediation/runbooks/db-corruption.js.map +1 -0
  143. package/dist/remediation/runbooks/messaging-delivery-failed.d.ts +108 -0
  144. package/dist/remediation/runbooks/messaging-delivery-failed.d.ts.map +1 -0
  145. package/dist/remediation/runbooks/messaging-delivery-failed.js +172 -0
  146. package/dist/remediation/runbooks/messaging-delivery-failed.js.map +1 -0
  147. package/dist/remediation/runbooks/node-abi-mismatch.d.ts +70 -0
  148. package/dist/remediation/runbooks/node-abi-mismatch.d.ts.map +1 -0
  149. package/dist/remediation/runbooks/node-abi-mismatch.js +216 -0
  150. package/dist/remediation/runbooks/node-abi-mismatch.js.map +1 -0
  151. package/dist/remediation/runbooks/supervisor-preflight.d.ts +114 -0
  152. package/dist/remediation/runbooks/supervisor-preflight.d.ts.map +1 -0
  153. package/dist/remediation/runbooks/supervisor-preflight.js +299 -0
  154. package/dist/remediation/runbooks/supervisor-preflight.js.map +1 -0
  155. package/dist/scheduler/AgentMdAtomicSave.d.ts +85 -0
  156. package/dist/scheduler/AgentMdAtomicSave.d.ts.map +1 -0
  157. package/dist/scheduler/AgentMdAtomicSave.js +169 -0
  158. package/dist/scheduler/AgentMdAtomicSave.js.map +1 -0
  159. package/dist/scheduler/AgentMdJobLoader.d.ts +1 -1
  160. package/dist/scheduler/AgentMdJobLoader.d.ts.map +1 -1
  161. package/dist/scheduler/AgentMdJobLoader.js +87 -2
  162. package/dist/scheduler/AgentMdJobLoader.js.map +1 -1
  163. package/dist/scheduler/AgentMdLockFile.d.ts +97 -0
  164. package/dist/scheduler/AgentMdLockFile.d.ts.map +1 -0
  165. package/dist/scheduler/AgentMdLockFile.js +278 -0
  166. package/dist/scheduler/AgentMdLockFile.js.map +1 -0
  167. package/dist/scheduler/AgentMdReconcile.d.ts +62 -0
  168. package/dist/scheduler/AgentMdReconcile.d.ts.map +1 -0
  169. package/dist/scheduler/AgentMdReconcile.js +212 -0
  170. package/dist/scheduler/AgentMdReconcile.js.map +1 -0
  171. package/dist/scheduler/DisabledBodyDrift.d.ts +70 -0
  172. package/dist/scheduler/DisabledBodyDrift.d.ts.map +1 -0
  173. package/dist/scheduler/DisabledBodyDrift.js +149 -0
  174. package/dist/scheduler/DisabledBodyDrift.js.map +1 -0
  175. package/dist/scheduler/InstallBuiltinJobs.d.ts +53 -0
  176. package/dist/scheduler/InstallBuiltinJobs.d.ts.map +1 -0
  177. package/dist/scheduler/InstallBuiltinJobs.js +212 -0
  178. package/dist/scheduler/InstallBuiltinJobs.js.map +1 -0
  179. package/dist/scheduler/JobLoader.d.ts.map +1 -1
  180. package/dist/scheduler/JobLoader.js +48 -0
  181. package/dist/scheduler/JobLoader.js.map +1 -1
  182. package/dist/scheduler/JobScheduler.d.ts +12 -1
  183. package/dist/scheduler/JobScheduler.d.ts.map +1 -1
  184. package/dist/scheduler/JobScheduler.js +59 -0
  185. package/dist/scheduler/JobScheduler.js.map +1 -1
  186. package/dist/scheduler/MigrationInvariants.d.ts +62 -0
  187. package/dist/scheduler/MigrationInvariants.d.ts.map +1 -0
  188. package/dist/scheduler/MigrationInvariants.js +215 -0
  189. package/dist/scheduler/MigrationInvariants.js.map +1 -0
  190. package/dist/scheduler/MigrationLedger.d.ts +84 -0
  191. package/dist/scheduler/MigrationLedger.d.ts.map +1 -0
  192. package/dist/scheduler/MigrationLedger.js +114 -0
  193. package/dist/scheduler/MigrationLedger.js.map +1 -0
  194. package/dist/server/fileRoutes.d.ts.map +1 -1
  195. package/dist/server/fileRoutes.js +7 -0
  196. package/dist/server/fileRoutes.js.map +1 -1
  197. package/dist/server/routes.d.ts.map +1 -1
  198. package/dist/server/routes.js +141 -0
  199. package/dist/server/routes.js.map +1 -1
  200. package/package.json +4 -3
  201. package/scripts/classify-default-drift.mjs +238 -0
  202. package/scripts/eli16-overview-check.mjs +85 -0
  203. package/scripts/generate-instar-release-key.mjs +81 -0
  204. package/scripts/instar-dev-precommit.js +60 -1
  205. package/scripts/lint-degradation-emit-sites.js +116 -0
  206. package/scripts/lint-no-direct-destructive.js +17 -0
  207. package/scripts/protect-migration-guarantee.js +61 -0
  208. package/scripts/regen-default-job-templates.mjs +111 -0
  209. package/scripts/sign-instar-lockfile.mjs +260 -0
  210. package/scripts/verify-runbook-pr-signature.js +366 -0
  211. package/src/data/builtin-manifest.json +94 -94
  212. package/src/scaffold/bootstrap.ts +138 -0
  213. package/src/scaffold/keys/instar-release-pub.pem +3 -0
  214. package/src/scaffold/templates/jobs/instar/.gitkeep +0 -0
  215. package/src/scaffold/templates/jobs/instar/commitment-detection.md +28 -0
  216. package/src/scaffold/templates/jobs/instar/evolution-overdue-check.md +28 -0
  217. package/src/scaffold/templates/jobs/instar/evolution-proposal-evaluate.md +30 -0
  218. package/src/scaffold/templates/jobs/instar/evolution-proposal-implement.md +25 -0
  219. package/src/scaffold/templates/jobs/instar/health-check.md +14 -0
  220. package/src/scaffold/templates/jobs/instar/identity-review.md +42 -0
  221. package/src/scaffold/templates/jobs/instar/insight-harvest.md +31 -0
  222. package/src/scaffold/templates/jobs/instar/overseer-development.md +23 -0
  223. package/src/scaffold/templates/jobs/instar/overseer-guardian.md +28 -0
  224. package/src/scaffold/templates/jobs/instar/overseer-infrastructure.md +26 -0
  225. package/src/scaffold/templates/jobs/instar/overseer-learning.md +28 -0
  226. package/src/scaffold/templates/jobs/instar/overseer-maintenance.md +27 -0
  227. package/src/scaffold/templates/jobs/instar/reflection-trigger.md +40 -0
  228. package/src/scaffold/templates/jobs/instar/relationship-maintenance.md +16 -0
  229. package/src/scaffold/templates.ts +1616 -0
  230. package/upgrades/0.28.102.md +85 -0
  231. package/upgrades/0.28.103.md +471 -0
  232. package/upgrades/side-effects/a47-primary-aggregator-lease.md +82 -0
  233. package/upgrades/side-effects/agentmd-atomic-save.md +66 -0
  234. package/upgrades/side-effects/agentmd-loader-200jobs-perf-benchmark.md +50 -0
  235. package/upgrades/side-effects/agentmd-reconcile-boot-lifecycle.md +66 -0
  236. package/upgrades/side-effects/api-safety-guard.md +80 -0
  237. package/upgrades/side-effects/c1-runbook-pr-gate.md +83 -0
  238. package/upgrades/side-effects/disabled-body-drift-detection.md +59 -0
  239. package/upgrades/side-effects/drift-classifier-release-time.md +71 -0
  240. package/upgrades/side-effects/eli16-overview-required-gate.md +77 -0
  241. package/upgrades/side-effects/f1-remediation-key-vault.md +195 -0
  242. package/upgrades/side-effects/f2-redactor-errorcode-extractor.md +130 -0
  243. package/upgrades/side-effects/f3-degradation-reporter-shim.md +105 -0
  244. package/upgrades/side-effects/f4-machine-locks-intent-journal-audit.md +117 -0
  245. package/upgrades/side-effects/f5-trust-elevation-source.md +258 -0
  246. package/upgrades/side-effects/f6-supervisor-handshake.md +234 -0
  247. package/upgrades/side-effects/f7-post-update-migrator-atomic-step.md +129 -0
  248. package/upgrades/side-effects/f8-remediator-skeleton.md +153 -0
  249. package/upgrades/side-effects/f8-rest-enforcement.md +72 -0
  250. package/upgrades/side-effects/file-viewer-jobs-instar-never-editable.md +41 -0
  251. package/upgrades/side-effects/frontmatter-interpolation-breakout-test.md +48 -0
  252. package/upgrades/side-effects/jobs-as-agentmd-phase-1b-gap.md +81 -0
  253. package/upgrades/side-effects/jobs-as-agentmd-phase-1c-build.md +76 -0
  254. package/upgrades/side-effects/jobs-as-agentmd-phase-1c-runtime.md +147 -0
  255. package/upgrades/side-effects/jobs-as-agentmd-phase-2.md +78 -0
  256. package/upgrades/side-effects/jobs-as-agentmd-phase-3.md +76 -0
  257. package/upgrades/side-effects/jobs-as-agentmd-phase-4-endpoints.md +62 -0
  258. package/upgrades/side-effects/jobs-as-agentmd-phase-5.md +67 -0
  259. package/upgrades/side-effects/jobs-as-agentmd-phase-6.md +53 -0
  260. package/upgrades/side-effects/jobs-endpoints-auth-verification.md +52 -0
  261. package/upgrades/side-effects/migration-guarantee-suite.md +61 -0
  262. package/upgrades/side-effects/migration-runtime-invariant-gate.md +59 -0
  263. package/upgrades/side-effects/migration-telemetry-invariant-8.md +68 -0
  264. package/upgrades/side-effects/npm-pack-templates-smoke.md +51 -0
  265. package/upgrades/side-effects/openclaw-import-before-prompt-build.md +84 -0
  266. package/upgrades/side-effects/openclaw-import-pre-compaction-flush.md +85 -0
  267. package/upgrades/side-effects/presence-proxy-race-guard-ack.md +126 -0
  268. package/upgrades/side-effects/prompt-gate-no-prompt-cache.md +258 -0
  269. package/upgrades/side-effects/release-notes-inline-code-fix.md +27 -0
  270. package/upgrades/side-effects/tier2-degradation-reporter-live-wire.md +146 -0
  271. package/upgrades/side-effects/url-pathname-path-encoding-fix.md +2 -1
  272. package/upgrades/side-effects/w1-node-abi-mismatch-runbook.md +154 -0
  273. package/upgrades/side-effects/w2-supervisor-preflight-runbook.md +176 -0
  274. package/upgrades/side-effects/w3-messaging-delivery-failed-runbook.md +185 -0
  275. package/upgrades/side-effects/w4-db-corruption-runbook.md +114 -0
@@ -0,0 +1,212 @@
1
+ /**
2
+ * InstallBuiltinJobs — Phase 2 installer for instar-default jobs.
3
+ *
4
+ * Copies the shipped agentmd templates from the installed npm package into
5
+ * the agent's `.instar/jobs/instar/` directory and creates the corresponding
6
+ * per-slug manifest under `.instar/jobs/schedule/`. Idempotent. Safe to call
7
+ * on init and on every update.
8
+ *
9
+ * Sources (in this order; first existing wins):
10
+ * 1. <packageRoot>/dist/scaffold/templates/jobs/instar/ (npm-installed)
11
+ * 2. <packageRoot>/src/scaffold/templates/jobs/instar/ (in-tree dev)
12
+ *
13
+ * Targets:
14
+ * .instar/jobs/instar/<slug>.md
15
+ * .instar/jobs/schedule/<slug>.json
16
+ * .instar/jobs/instar.lock.json (copied from <packageRoot>/dist/jobs/)
17
+ * .instar/keys/instar-release-pub.pem (copied from <packageRoot>/dist/keys/)
18
+ *
19
+ * Per the Seamless Migration Guarantee (spec §Seamless Migration Guarantee):
20
+ *
21
+ * - This function NEVER touches `.instar/jobs/user/` (invariant 4).
22
+ * - This function NEVER deletes or overwrites a user-edited body
23
+ * (`.instar/jobs/instar/<slug>.md` is overwritten on update — that's
24
+ * the contract; users who edited a default should fork via Phase 4
25
+ * Dashboard "Unfork" before updating).
26
+ * - When a slug is no longer in the templates dir, its `.instar/jobs/instar/<slug>.md`
27
+ * is removed; the per-slug schedule manifest is moved to retired-defaults
28
+ * (Phase 4-Dashboard surface) and its `enabled` flipped to false.
29
+ *
30
+ * Spec: docs/specs/INSTAR-JOBS-AS-AGENTMD-SPEC.md §Concrete Paths + §PostUpdateMigrator.
31
+ */
32
+ import fs from 'node:fs';
33
+ import path from 'node:path';
34
+ import yaml from 'js-yaml';
35
+ import { SafeFsExecutor } from '../core/SafeFsExecutor.js';
36
+ const PORT_SENTINEL = '4042';
37
+ export function installBuiltinJobs(opts) {
38
+ const { agentStateDir, packageRoot, port } = opts;
39
+ const templatesDir = resolveTemplatesDir(packageRoot);
40
+ if (!templatesDir) {
41
+ return {
42
+ installed: [],
43
+ retired: [],
44
+ errors: [
45
+ {
46
+ reason: 'No agentmd templates directory found under <packageRoot>/dist/scaffold/templates/jobs/instar/ ' +
47
+ 'nor <packageRoot>/src/scaffold/templates/jobs/instar/. Skipping built-in job install.',
48
+ },
49
+ ],
50
+ };
51
+ }
52
+ const installedDir = path.join(agentStateDir, 'jobs', 'instar');
53
+ const scheduleDir = path.join(agentStateDir, 'jobs', 'schedule');
54
+ const userDir = path.join(agentStateDir, 'jobs', 'user');
55
+ const keysDir = path.join(agentStateDir, 'keys');
56
+ fs.mkdirSync(installedDir, { recursive: true });
57
+ fs.mkdirSync(scheduleDir, { recursive: true });
58
+ fs.mkdirSync(keysDir, { recursive: true });
59
+ // User dir is created by Phase 3 migrate; we just verify it stays a
60
+ // regular directory if it exists (defense-in-depth for invariant 4).
61
+ if (fs.existsSync(userDir)) {
62
+ const stat = fs.lstatSync(userDir);
63
+ if (!stat.isDirectory() || stat.isSymbolicLink()) {
64
+ return {
65
+ installed: [],
66
+ retired: [],
67
+ errors: [
68
+ {
69
+ reason: `User namespace at ${userDir} is not a regular directory ` +
70
+ `(symlink or file). Refusing to install built-in jobs — fix this first.`,
71
+ },
72
+ ],
73
+ };
74
+ }
75
+ }
76
+ const templateFiles = fs
77
+ .readdirSync(templatesDir)
78
+ .filter((f) => f.endsWith('.md') && f !== '.gitkeep')
79
+ .sort();
80
+ const report = { installed: [], retired: [], errors: [] };
81
+ const shippedSlugs = new Set();
82
+ for (const file of templateFiles) {
83
+ const slug = path.basename(file, '.md');
84
+ shippedSlugs.add(slug);
85
+ let raw = fs.readFileSync(path.join(templatesDir, file), 'utf-8');
86
+ // Substitute the per-agent port. The sentinel `4042` was baked into the
87
+ // template by regen-default-job-templates.mjs; replacing it here keeps
88
+ // the on-disk content in sync with what the agent's runtime expects.
89
+ if (port !== Number(PORT_SENTINEL)) {
90
+ raw = raw.replaceAll(`:-${PORT_SENTINEL}}`, `:-${port}}`);
91
+ }
92
+ const targetMd = path.join(installedDir, file);
93
+ fs.writeFileSync(targetMd, raw, 'utf-8');
94
+ // Generate the per-slug manifest if it doesn't already exist. If the
95
+ // manifest exists, we preserve `enabled` and `disabledAtBodyHash` from
96
+ // the on-disk version (operator may have disabled the default).
97
+ const manifestPath = path.join(scheduleDir, `${slug}.json`);
98
+ let existingEnabled;
99
+ let existingDisabledAtBodyHash;
100
+ if (fs.existsSync(manifestPath)) {
101
+ try {
102
+ const existing = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
103
+ if (typeof existing.enabled === 'boolean')
104
+ existingEnabled = existing.enabled;
105
+ if (typeof existing.disabledAtBodyHash === 'string') {
106
+ existingDisabledAtBodyHash = existing.disabledAtBodyHash;
107
+ }
108
+ }
109
+ catch {
110
+ // malformed; we'll overwrite with a fresh one
111
+ }
112
+ }
113
+ const match = raw.match(/^---\n([\s\S]*?)\n---\n/);
114
+ if (!match) {
115
+ report.errors.push({ slug, reason: 'Template missing YAML frontmatter' });
116
+ continue;
117
+ }
118
+ let frontmatter;
119
+ try {
120
+ const parsed = yaml.load(match[1], { schema: yaml.FAILSAFE_SCHEMA });
121
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
122
+ throw new Error('frontmatter must be an object');
123
+ }
124
+ frontmatter = parsed;
125
+ }
126
+ catch (err) {
127
+ report.errors.push({ slug, reason: `Failed to parse frontmatter: ${err instanceof Error ? err.message : String(err)}` });
128
+ continue;
129
+ }
130
+ const manifest = {
131
+ slug,
132
+ origin: 'instar',
133
+ schedule: frontmatter.schedule,
134
+ enabled: existingEnabled !== undefined ? existingEnabled : frontmatter.enabled !== 'false',
135
+ execute: { type: 'agentmd' },
136
+ manifestVersion: 1,
137
+ };
138
+ if (existingDisabledAtBodyHash) {
139
+ manifest.disabledAtBodyHash = existingDisabledAtBodyHash;
140
+ }
141
+ fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + '\n', 'utf-8');
142
+ report.installed.push(slug);
143
+ }
144
+ // Retire defaults that are no longer shipped.
145
+ if (fs.existsSync(installedDir)) {
146
+ for (const f of fs.readdirSync(installedDir)) {
147
+ if (!f.endsWith('.md'))
148
+ continue;
149
+ const slug = path.basename(f, '.md');
150
+ if (shippedSlugs.has(slug))
151
+ continue;
152
+ // Remove the installed body. The per-slug manifest is left in place
153
+ // with enabled:false and a retiredAt timestamp so the operator can
154
+ // see it in the Dashboard. Spec §Retired-defaults flow.
155
+ try {
156
+ SafeFsExecutor.safeUnlinkSync(path.join(installedDir, f), { operation: 'installBuiltinJobs retire default' });
157
+ const manifestPath = path.join(scheduleDir, `${slug}.json`);
158
+ if (fs.existsSync(manifestPath)) {
159
+ try {
160
+ const existing = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
161
+ existing.enabled = false;
162
+ existing.retiredAt = new Date().toISOString();
163
+ existing.retiredReason = 'instar-default-removed';
164
+ fs.writeFileSync(manifestPath, JSON.stringify(existing, null, 2) + '\n', 'utf-8');
165
+ }
166
+ catch {
167
+ // manifest malformed — leave alone
168
+ }
169
+ }
170
+ report.retired.push(slug);
171
+ }
172
+ catch (err) {
173
+ report.errors.push({ slug, reason: `Failed to retire: ${err instanceof Error ? err.message : String(err)}` });
174
+ }
175
+ }
176
+ }
177
+ // Copy the signed lock-file + public key.
178
+ const lockSrc = path.join(packageRoot, 'dist', 'jobs', 'instar.lock.json');
179
+ const lockDst = path.join(agentStateDir, 'jobs', 'instar.lock.json');
180
+ if (fs.existsSync(lockSrc)) {
181
+ fs.copyFileSync(lockSrc, lockDst);
182
+ }
183
+ else {
184
+ // No signed lock-file shipped (build did not have a signing key). Remove
185
+ // any stale lock-file so the runtime sees `absent` → lockTrust=untrusted-no-lockfile.
186
+ if (fs.existsSync(lockDst)) {
187
+ SafeFsExecutor.safeUnlinkSync(lockDst, { operation: 'installBuiltinJobs remove stale lockfile' });
188
+ }
189
+ }
190
+ const pubSrc = path.join(packageRoot, 'dist', 'keys', 'instar-release-pub.pem');
191
+ const pubDst = path.join(keysDir, 'instar-release-pub.pem');
192
+ if (fs.existsSync(pubSrc)) {
193
+ fs.copyFileSync(pubSrc, pubDst);
194
+ }
195
+ return report;
196
+ }
197
+ function resolveTemplatesDir(packageRoot) {
198
+ const candidates = [
199
+ path.join(packageRoot, 'dist', 'scaffold', 'templates', 'jobs', 'instar'),
200
+ path.join(packageRoot, 'src', 'scaffold', 'templates', 'jobs', 'instar'),
201
+ ];
202
+ for (const c of candidates) {
203
+ if (fs.existsSync(c) && fs.statSync(c).isDirectory()) {
204
+ // Verify there's at least one .md file (otherwise we'd skip silently).
205
+ const hasMd = fs.readdirSync(c).some((f) => f.endsWith('.md'));
206
+ if (hasMd)
207
+ return c;
208
+ }
209
+ }
210
+ return null;
211
+ }
212
+ //# sourceMappingURL=InstallBuiltinJobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstallBuiltinJobs.js","sourceRoot":"","sources":["../../src/scheduler/InstallBuiltinJobs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"JobLoader.d.ts","sourceRoot":"","sources":["../../src/scheduler/JobLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,kBAAkB,CAAC;AAoD9E;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CA8B1D;AA2FD;;6DAE6D;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAkG9D;AA4CD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAqF9E"}
1
+ {"version":3,"file":"JobLoader.d.ts","sourceRoot":"","sources":["../../src/scheduler/JobLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,aAAa,EAA0B,MAAM,kBAAkB,CAAC;AAoD9E;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAqC1D;AA4ID;;6DAE6D;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAkG9D;AA4CD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAqF9E"}
@@ -95,8 +95,56 @@ export function loadJobs(jobsFile) {
95
95
  const merged = mergeLegacyWithAgentMd(legacyJobs, agentMdResult.jobs);
96
96
  // Grounding-by-default audit — warn about jobs missing grounding config
97
97
  auditGrounding(merged);
98
+ // Phase 6 deprecation audit — warn about legacy execute.type: 'prompt'
99
+ // entries for slugs that have a shipped agentmd default. These are
100
+ // structurally inert (the agentmd entry shadows them) but their presence
101
+ // means the operator hasn't confirmed migration. Two-release removal
102
+ // cycle per INSTAR-JOBS-AS-AGENTMD spec §Rollout step 6.
103
+ auditLegacyPromptDeprecation(legacyJobs, agentMdResult.jobs, jobsRootDir);
98
104
  return merged;
99
105
  }
106
+ /**
107
+ * Phase 6 — deprecation audit for legacy `execute.type: 'prompt'` entries
108
+ * whose slug also appears as a shipped agentmd default. Emits a single
109
+ * deprecation warning per boot per affected slug.
110
+ *
111
+ * The warning fires only when:
112
+ * - the slug is present in BOTH legacy jobs.json AND the per-slug
113
+ * manifest (shadowed); AND
114
+ * - the legacy entry's execute.type is 'prompt'; AND
115
+ * - `.migration-complete.json` is NOT present (operator hasn't
116
+ * confirmed migration yet).
117
+ *
118
+ * When `.migration-complete.json` is present, the legacy entries are about
119
+ * to be removed by the release-cut gate, so the deprecation warning would
120
+ * be noise.
121
+ *
122
+ * Spec: docs/specs/INSTAR-JOBS-AS-AGENTMD-SPEC.md §Rollout step 6.
123
+ */
124
+ function auditLegacyPromptDeprecation(legacy, agentMd, jobsRootDir) {
125
+ if (legacy.length === 0 || agentMd.length === 0)
126
+ return;
127
+ const completedMarker = path.join(jobsRootDir, '.migration-complete.json');
128
+ if (fs.existsSync(completedMarker))
129
+ return;
130
+ const shippedAgentMdSlugs = new Set(agentMd.filter((j) => j.origin === 'instar').map((j) => j.slug));
131
+ const deprecated = [];
132
+ for (const j of legacy) {
133
+ if (j.execute?.type !== 'prompt')
134
+ continue;
135
+ if (!shippedAgentMdSlugs.has(j.slug))
136
+ continue;
137
+ deprecated.push(j.slug);
138
+ }
139
+ if (deprecated.length === 0)
140
+ return;
141
+ console.warn(`[JobLoader] DEPRECATION: ${deprecated.length} legacy jobs.json ` +
142
+ `entry(ies) with execute.type:"prompt" shadow agentmd defaults: ` +
143
+ `${deprecated.join(', ')}. These will be removed two releases after ` +
144
+ `Dashboard ships the "Confirm migration complete" action. ` +
145
+ `Run \`instar job migrate\` (or wait for the next update's auto-run) ` +
146
+ `then confirm completion via Dashboard to suppress this warning.`);
147
+ }
100
148
  /**
101
149
  * Load and validate the legacy jobs.json. Extracted to keep the new
102
150
  * agentmd path additive — this function is byte-equivalent to the
@@ -1 +1 @@
1
- {"version":3,"file":"JobLoader.js","sourceRoot":"","sources":["../../src/scheduler/JobLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAoB,MAAM,uBAAuB,CAAC;AAE1E,MAAM,gBAAgB,GAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9E,MAAM,YAAY,GAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE9D;;;;;;;;;;GAUG;AACH,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IAC1D,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,qBAAqB;IACrB,UAAU;IACV,oBAAoB;IACpB,0BAA0B;IAC1B,iBAAiB;IACjB,yBAAyB;IACzB,iBAAiB;IACjB,oBAAoB;IACpB,uBAAuB;IACvB,gBAAgB;IAChB,gBAAgB;IAChB,0BAA0B;IAC1B,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,6BAA6B;IAC7B,8BAA8B;IAC9B,sBAAsB;IACtB,wBAAwB;IACxB,mBAAmB;IACnB,mBAAmB;IACnB,sBAAsB;IACtB,yBAAyB;IACzB,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;CACnB,CAAC,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAgB;IACvC,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAEhD,oEAAoE;IACpE,uEAAuE;IACvE,mDAAmD;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEhE,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CACV,gCAAgC,CAAC,CAAC,IAAI,GAAG;YACzC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,CAAC,OAAO,EAAE,CACjB,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,0EAA0E;IAC1E,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,MAAM,GAAG,sBAAsB,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAEtE,wEAAwE;IACxE,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CACV,oCAAoC,QAAQ,iCAAiC;YAC7E,8CAA8C,CAC/C,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,OAAO,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,IAAI,GAAoB,EAAE,CAAC;IACjC,MAAM,OAAO,GAA2D,EAAE,CAAC;IAC3E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC;YACH,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,GAAoB,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,GAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAChG,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3F,OAAO,CAAC,KAAK,CACX,6CAA6C,KAAK,EAAE;gBACpD,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,KAAK,OAAO,EAAE,CACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CACV,sBAAsB,IAAI,CAAC,MAAM,gDAAgD,OAAO,CAAC,MAAM,uBAAuB;YACtH,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,sBAAsB,CAC7B,MAAuB,EACvB,OAAwB;IAExB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CACV,eAAe,QAAQ,CAAC,MAAM,iEAAiE;YAC/F,2BAA2B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CACrF,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC;AAOD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,GAAY,EAAE,KAAc;IACtD,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAE7D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,GAAG,GAA8B,CAAC;IAEzC,yBAAyB;IACzB,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC;QAChE,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,CAAE,CAAC,CAAC,KAAK,CAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,MAAM,KAAK,8CAA8C,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAc,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,mFAAmF,CAAC,CAAC;IAChH,CAAC;IAED,WAAW;IACX,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAuB,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,+BAA+B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,GAAG,CAC3F,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAkB,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,4BAA4B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,GAAG,CACjF,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,QAAkB,CAAC,CAAC;QAChD,QAAQ,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,8BAA8B,CAAC,CAAC,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,0BAA0B;IAC1B,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,+BAA+B,CAAC,CAAC;IAC5D,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,mDAAmD,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAC,OAAkC,CAAC;IAClD,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,uDAAuD,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAE,IAAI,CAAC,KAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,6BAA6B,CAAC,CAAC;IAC1D,CAAC;IAED,4CAA4C;IAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,oDAAoD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,4CAA4C;IAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,8DAA8D,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,yCAAyC;IACzC,IAAI,CAAC,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YAC7E,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,2EAA2E,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC;QAC3H,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,mEAAmE,CAAC,CAAC;QAChG,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,gDAAgD,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9B,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACnC,sBAAsB,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,SAAkB,EAAE,MAAc;IAC3D,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,6CAA6C,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,GAAG,SAAoC,CAAC;IAE/C,IAAI,OAAO,CAAC,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,gDAAgD,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,CAAC,CAAC,sBAAsB,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;QAC5F,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,kEAAkE,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,kEAAkE,CAAC,CAAC;QAC/F,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,4DAA4D,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,+DAA+D,CAAC,CAAC;QAC5F,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,yDAAyD,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAiB,EAAE,MAAc;IACtE,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,uFAAuF,CAAC,CAAC;IACpH,CAAC;IAED,MAAM,CAAC,GAAG,QAAmC,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE5B,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,0BAA0B,IAAI,CAAC,MAAM,qBAAqB,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,CAAC,GAAG,KAAgC,CAAC;QAE3C,kBAAkB;QAClB,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,6DAA6D,CAAC,CAAC;QAClH,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,4DAA4D,CAAC,CAAC;QACjH,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC1D,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,8BAA8B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAChI,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,0DAA0D,CAAC,CAAC;YAC/G,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,0CAA0C,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,mEAAmE,CAAC,CAAC;YACxH,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,0CAA0C,CAAC,CAAC;oBAC/F,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,6CAA6C,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,sDAAsD,CAAC,CAAC;QAC3G,CAAC;QAED,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,0DAA0D,CAAC,CAAC;QAC/G,CAAC;QAED,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,wDAAwD,CAAC,CAAC;QAC7G,CAAC;QAED,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,yDAAyD,CAAC,CAAC;QAC9G,CAAC;QAED,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,qBAAqB,GAAG,gDAAgD,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,IAAqB;IAC3C,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,SAAS;QAC3B,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACnD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACnB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CACV,gCAAgC,UAAU,CAAC,MAAM,0CAA0C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACpH,wEAAwE,CACzE,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"JobLoader.js","sourceRoot":"","sources":["../../src/scheduler/JobLoader.ts"],"names":[],"mappings":"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"}
@@ -314,6 +314,11 @@ export declare class JobScheduler {
314
314
  * they happen in the caller, where the scheduler context is available.
315
315
  */
316
316
  static resolveAllowlist(job: JobDefinition): AllowlistResolution;
317
+ /** Classify a lockTrust value as a real-tamper signal. The transitional
318
+ * `untrusted-no-lockfile` is intentionally NOT a tamper signal — until
319
+ * Phase 1c-build ships, every instar agent carries this value on every
320
+ * origin:instar entry; treating it as tamper would break the rollout. */
321
+ static isLockUntrustedTamper(lockTrust: JobDefinition['lockTrust']): boolean;
317
322
  /**
318
323
  * Compute Phase 1b run-record observability fields for a job. Pure
319
324
  * function: hashing is deterministic over body + canonicalized
@@ -345,7 +350,7 @@ export declare class JobScheduler {
345
350
  }
346
351
  /** Result of {@link JobScheduler.resolveAllowlist}. Pure-data; no state. */
347
352
  export interface AllowlistResolution {
348
- kind: 'legacy' | 'array' | 'unrestricted' | 'clamped' | 'default-user' | 'instar-no-allowlist';
353
+ kind: 'legacy' | 'array' | 'unrestricted' | 'clamped' | 'default-user' | 'instar-no-allowlist' | 'lock-untrusted-clamped';
349
354
  /** What the resolver will pass to the spawn:
350
355
  * - `string[]` → spawn receives `--allowedTools <comma-separated>`
351
356
  * - `"*"` → spawn omits `--allowedTools` (full tools authorized)
@@ -353,6 +358,12 @@ export interface AllowlistResolution {
353
358
  allowlist: string[] | '*' | null;
354
359
  unrestrictedTools: boolean;
355
360
  clampedAllowlist: boolean;
361
+ /** True when an `origin:instar` agentmd job had its tool elevation refused
362
+ * because lockTrust is in a real-tamper state (`bad-signature`,
363
+ * `not-in-lockfile`, or `hash-mismatch`). The transitional
364
+ * `untrusted-no-lockfile` state does NOT trigger this clamp — see
365
+ * {@link JobScheduler.resolveAllowlist} for the rationale. */
366
+ lockUntrustedClamp?: boolean;
356
367
  }
357
368
  /** Phase 1b run-record observability payload. */
358
369
  export interface RunObservability {
@@ -1 +1 @@
1
- {"version":3,"file":"JobScheduler.d.ts","sourceRoot":"","sources":["../../src/scheduler/JobScheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JobScheduler.d.ts","sourceRoot":"","sources":["../../src/scheduler/JobScheduler.ts"],"names":[],"mappings":"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"}
@@ -1436,6 +1436,18 @@ export class JobScheduler {
1436
1436
  // Two-flag guard: "*" + unrestrictedTools:true → full tools.
1437
1437
  // Otherwise clamp to [Read] and signal the clamp.
1438
1438
  if (job.unrestrictedTools === true) {
1439
+ // Phase-1b-gap closure: an origin:instar job in a real-tamper lockTrust
1440
+ // state cannot escape to full tools, regardless of what the manifest
1441
+ // claims. The lock-file is the higher trust authority.
1442
+ if (job.origin === 'instar' && JobScheduler.isLockUntrustedTamper(job.lockTrust)) {
1443
+ return {
1444
+ kind: 'lock-untrusted-clamped',
1445
+ allowlist: ['Read'],
1446
+ unrestrictedTools: false,
1447
+ clampedAllowlist: true,
1448
+ lockUntrustedClamp: true,
1449
+ };
1450
+ }
1439
1451
  return {
1440
1452
  kind: 'unrestricted',
1441
1453
  allowlist: '*',
@@ -1463,6 +1475,21 @@ export class JobScheduler {
1463
1475
  // Instar-origin without an explicit allowlist: documented temporary
1464
1476
  // behavior — spawn with full tools, emit a degradation event so the
1465
1477
  // gap is visible until Phase 1c lock-file defaults close it.
1478
+ //
1479
+ // Phase-1b-gap closure: refuse the implicit full-tools fallback when
1480
+ // lockTrust signals a real tamper. The transitional
1481
+ // `untrusted-no-lockfile` state preserves the documented temporary
1482
+ // behavior so existing agents don't lose tool access when they apply
1483
+ // the update before the build-pipeline signing ships.
1484
+ if (job.origin === 'instar' && JobScheduler.isLockUntrustedTamper(job.lockTrust)) {
1485
+ return {
1486
+ kind: 'lock-untrusted-clamped',
1487
+ allowlist: ['Read'],
1488
+ unrestrictedTools: false,
1489
+ clampedAllowlist: true,
1490
+ lockUntrustedClamp: true,
1491
+ };
1492
+ }
1466
1493
  return {
1467
1494
  kind: 'instar-no-allowlist',
1468
1495
  allowlist: null,
@@ -1470,6 +1497,15 @@ export class JobScheduler {
1470
1497
  clampedAllowlist: false,
1471
1498
  };
1472
1499
  }
1500
+ /** Classify a lockTrust value as a real-tamper signal. The transitional
1501
+ * `untrusted-no-lockfile` is intentionally NOT a tamper signal — until
1502
+ * Phase 1c-build ships, every instar agent carries this value on every
1503
+ * origin:instar entry; treating it as tamper would break the rollout. */
1504
+ static isLockUntrustedTamper(lockTrust) {
1505
+ return (lockTrust === 'untrusted-bad-signature' ||
1506
+ lockTrust === 'untrusted-not-in-lockfile' ||
1507
+ lockTrust === 'untrusted-hash-mismatch');
1508
+ }
1473
1509
  /**
1474
1510
  * Compute Phase 1b run-record observability fields for a job. Pure
1475
1511
  * function: hashing is deterministic over body + canonicalized
@@ -1578,6 +1614,29 @@ export class JobScheduler {
1578
1614
  // @silent-fallback-ok — degradation reporting is best-effort
1579
1615
  }
1580
1616
  }
1617
+ if (resolution.kind === 'lock-untrusted-clamped') {
1618
+ // Real-tamper lockTrust state refused trust elevation. Surface to BOTH
1619
+ // event stream (Dashboard) and degradation digest so operator sees it.
1620
+ this.state.appendEvent({
1621
+ type: 'job_lock_untrusted_clamped',
1622
+ summary: `Job "${job.slug}" claims origin:instar but its lock-file trust state is "${job.lockTrust}" — ` +
1623
+ `tool elevation refused, clamped to [Read].`,
1624
+ timestamp: new Date().toISOString(),
1625
+ metadata: { slug: job.slug, lockTrust: job.lockTrust },
1626
+ });
1627
+ try {
1628
+ DegradationReporter.getInstance().report({
1629
+ feature: 'JobScheduler.allowlistResolution',
1630
+ primary: 'Spawn the instar default with its requested tool authorization',
1631
+ fallback: 'Clamp the spawn to ["Read"]',
1632
+ reason: `Instar-origin agentmd job "${job.slug}" has lockTrust="${job.lockTrust}" (real-tamper state)`,
1633
+ impact: 'Job runs Read-only until the lock-file mismatch is acknowledged or repaired',
1634
+ });
1635
+ }
1636
+ catch {
1637
+ // @silent-fallback-ok — degradation reporting is best-effort
1638
+ }
1639
+ }
1581
1640
  }
1582
1641
  }
1583
1642
  //# sourceMappingURL=JobScheduler.js.map