instar 0.26.11 → 0.27.2

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 (161) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/init.d.ts +5 -0
  3. package/dist/commands/init.d.ts.map +1 -1
  4. package/dist/commands/init.js +46 -1
  5. package/dist/commands/init.js.map +1 -1
  6. package/dist/commands/server.d.ts.map +1 -1
  7. package/dist/commands/server.js +228 -36
  8. package/dist/commands/server.js.map +1 -1
  9. package/dist/commands/slack-cli.d.ts +6 -0
  10. package/dist/commands/slack-cli.d.ts.map +1 -1
  11. package/dist/commands/slack-cli.js +99 -1
  12. package/dist/commands/slack-cli.js.map +1 -1
  13. package/dist/core/GitSync.d.ts.map +1 -1
  14. package/dist/core/GitSync.js +47 -5
  15. package/dist/core/GitSync.js.map +1 -1
  16. package/dist/core/PostUpdateMigrator.d.ts +7 -1
  17. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  18. package/dist/core/PostUpdateMigrator.js +19 -1
  19. package/dist/core/PostUpdateMigrator.js.map +1 -1
  20. package/dist/core/types.d.ts +9 -0
  21. package/dist/core/types.d.ts.map +1 -1
  22. package/dist/identity/IdentityManager.d.ts +70 -0
  23. package/dist/identity/IdentityManager.d.ts.map +1 -0
  24. package/dist/identity/IdentityManager.js +179 -0
  25. package/dist/identity/IdentityManager.js.map +1 -0
  26. package/dist/identity/KeyEncryption.d.ts +40 -0
  27. package/dist/identity/KeyEncryption.d.ts.map +1 -0
  28. package/dist/identity/KeyEncryption.js +93 -0
  29. package/dist/identity/KeyEncryption.js.map +1 -0
  30. package/dist/identity/KeyRevocation.d.ts +68 -0
  31. package/dist/identity/KeyRevocation.d.ts.map +1 -0
  32. package/dist/identity/KeyRevocation.js +171 -0
  33. package/dist/identity/KeyRevocation.js.map +1 -0
  34. package/dist/identity/KeyRotation.d.ts +43 -0
  35. package/dist/identity/KeyRotation.d.ts.map +1 -0
  36. package/dist/identity/KeyRotation.js +81 -0
  37. package/dist/identity/KeyRotation.js.map +1 -0
  38. package/dist/identity/Migration.d.ts +50 -0
  39. package/dist/identity/Migration.d.ts.map +1 -0
  40. package/dist/identity/Migration.js +125 -0
  41. package/dist/identity/Migration.js.map +1 -0
  42. package/dist/identity/RecoveryPhrase.d.ts +43 -0
  43. package/dist/identity/RecoveryPhrase.d.ts.map +1 -0
  44. package/dist/identity/RecoveryPhrase.js +93 -0
  45. package/dist/identity/RecoveryPhrase.js.map +1 -0
  46. package/dist/identity/index.d.ts +13 -0
  47. package/dist/identity/index.d.ts.map +1 -0
  48. package/dist/identity/index.js +20 -0
  49. package/dist/identity/index.js.map +1 -0
  50. package/dist/identity/types.d.ts +101 -0
  51. package/dist/identity/types.d.ts.map +1 -0
  52. package/dist/identity/types.js +55 -0
  53. package/dist/identity/types.js.map +1 -0
  54. package/dist/knowledge/TreeTriage.d.ts.map +1 -1
  55. package/dist/knowledge/TreeTriage.js +9 -0
  56. package/dist/knowledge/TreeTriage.js.map +1 -1
  57. package/dist/memory/TopicMemory.d.ts +2 -0
  58. package/dist/memory/TopicMemory.d.ts.map +1 -1
  59. package/dist/memory/TopicMemory.js +55 -0
  60. package/dist/memory/TopicMemory.js.map +1 -1
  61. package/dist/messaging/slack/SlackAdapter.d.ts +15 -4
  62. package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -1
  63. package/dist/messaging/slack/SlackAdapter.js +131 -14
  64. package/dist/messaging/slack/SlackAdapter.js.map +1 -1
  65. package/dist/messaging/slack/SocketModeClient.d.ts +2 -0
  66. package/dist/messaging/slack/SocketModeClient.d.ts.map +1 -1
  67. package/dist/messaging/slack/SocketModeClient.js +31 -1
  68. package/dist/messaging/slack/SocketModeClient.js.map +1 -1
  69. package/dist/moltbridge/MoltBridgeClient.d.ts +124 -0
  70. package/dist/moltbridge/MoltBridgeClient.d.ts.map +1 -0
  71. package/dist/moltbridge/MoltBridgeClient.js +321 -0
  72. package/dist/moltbridge/MoltBridgeClient.js.map +1 -0
  73. package/dist/moltbridge/ProfileCompiler.d.ts +68 -0
  74. package/dist/moltbridge/ProfileCompiler.d.ts.map +1 -0
  75. package/dist/moltbridge/ProfileCompiler.js +317 -0
  76. package/dist/moltbridge/ProfileCompiler.js.map +1 -0
  77. package/dist/moltbridge/index.d.ts +12 -0
  78. package/dist/moltbridge/index.d.ts.map +1 -0
  79. package/dist/moltbridge/index.js +11 -0
  80. package/dist/moltbridge/index.js.map +1 -0
  81. package/dist/moltbridge/routes.d.ts +21 -0
  82. package/dist/moltbridge/routes.d.ts.map +1 -0
  83. package/dist/moltbridge/routes.js +224 -0
  84. package/dist/moltbridge/routes.js.map +1 -0
  85. package/dist/moltbridge/types.d.ts +93 -0
  86. package/dist/moltbridge/types.d.ts.map +1 -0
  87. package/dist/moltbridge/types.js +20 -0
  88. package/dist/moltbridge/types.js.map +1 -0
  89. package/dist/monitoring/PresenceProxy.d.ts +3 -0
  90. package/dist/monitoring/PresenceProxy.d.ts.map +1 -1
  91. package/dist/monitoring/PresenceProxy.js +80 -3
  92. package/dist/monitoring/PresenceProxy.js.map +1 -1
  93. package/dist/monitoring/SessionMonitor.d.ts +7 -0
  94. package/dist/monitoring/SessionMonitor.d.ts.map +1 -1
  95. package/dist/monitoring/SessionMonitor.js +47 -22
  96. package/dist/monitoring/SessionMonitor.js.map +1 -1
  97. package/dist/monitoring/TriageOrchestrator.d.ts.map +1 -1
  98. package/dist/monitoring/TriageOrchestrator.js +25 -1
  99. package/dist/monitoring/TriageOrchestrator.js.map +1 -1
  100. package/dist/scaffold/templates.d.ts.map +1 -1
  101. package/dist/scaffold/templates.js +29 -1
  102. package/dist/scaffold/templates.js.map +1 -1
  103. package/dist/server/AgentServer.d.ts +1 -0
  104. package/dist/server/AgentServer.d.ts.map +1 -1
  105. package/dist/server/AgentServer.js +1 -0
  106. package/dist/server/AgentServer.js.map +1 -1
  107. package/dist/server/routes.d.ts +2 -0
  108. package/dist/server/routes.d.ts.map +1 -1
  109. package/dist/server/routes.js +21 -0
  110. package/dist/server/routes.js.map +1 -1
  111. package/dist/threadline/AuthorizationPolicy.d.ts +110 -0
  112. package/dist/threadline/AuthorizationPolicy.d.ts.map +1 -0
  113. package/dist/threadline/AuthorizationPolicy.js +226 -0
  114. package/dist/threadline/AuthorizationPolicy.js.map +1 -0
  115. package/dist/threadline/DiscoveryWaterfall.d.ts +73 -0
  116. package/dist/threadline/DiscoveryWaterfall.d.ts.map +1 -0
  117. package/dist/threadline/DiscoveryWaterfall.js +113 -0
  118. package/dist/threadline/DiscoveryWaterfall.js.map +1 -0
  119. package/dist/threadline/ListenerSessionManager.d.ts.map +1 -1
  120. package/dist/threadline/ListenerSessionManager.js +2 -0
  121. package/dist/threadline/ListenerSessionManager.js.map +1 -1
  122. package/dist/threadline/MessageSecurity.d.ts +49 -0
  123. package/dist/threadline/MessageSecurity.d.ts.map +1 -0
  124. package/dist/threadline/MessageSecurity.js +93 -0
  125. package/dist/threadline/MessageSecurity.js.map +1 -0
  126. package/dist/threadline/SecureInvitation.d.ts +79 -0
  127. package/dist/threadline/SecureInvitation.d.ts.map +1 -0
  128. package/dist/threadline/SecureInvitation.js +164 -0
  129. package/dist/threadline/SecureInvitation.js.map +1 -0
  130. package/dist/threadline/TrustAuditLog.d.ts +49 -0
  131. package/dist/threadline/TrustAuditLog.d.ts.map +1 -0
  132. package/dist/threadline/TrustAuditLog.js +111 -0
  133. package/dist/threadline/TrustAuditLog.js.map +1 -0
  134. package/dist/threadline/TrustEvaluator.d.ts +69 -0
  135. package/dist/threadline/TrustEvaluator.d.ts.map +1 -0
  136. package/dist/threadline/TrustEvaluator.js +93 -0
  137. package/dist/threadline/TrustEvaluator.js.map +1 -0
  138. package/dist/threadline/UnifiedTrustWiring.d.ts +66 -0
  139. package/dist/threadline/UnifiedTrustWiring.d.ts.map +1 -0
  140. package/dist/threadline/UnifiedTrustWiring.js +192 -0
  141. package/dist/threadline/UnifiedTrustWiring.js.map +1 -0
  142. package/dist/threadline/client/IdentityManager.d.ts +27 -6
  143. package/dist/threadline/client/IdentityManager.d.ts.map +1 -1
  144. package/dist/threadline/client/IdentityManager.js +64 -18
  145. package/dist/threadline/client/IdentityManager.js.map +1 -1
  146. package/dist/threadline/relay/SybilProtection.d.ts +78 -0
  147. package/dist/threadline/relay/SybilProtection.d.ts.map +1 -0
  148. package/dist/threadline/relay/SybilProtection.js +187 -0
  149. package/dist/threadline/relay/SybilProtection.js.map +1 -0
  150. package/package.json +9 -3
  151. package/playbook-scripts/build-state.py +529 -0
  152. package/scripts/check-contract-evidence.js +103 -0
  153. package/scripts/pre-push-gate.js +53 -0
  154. package/scripts/run-contract-tests.js +75 -0
  155. package/src/data/builtin-manifest.json +87 -63
  156. package/src/templates/hooks/build-stop-hook.sh +79 -0
  157. package/upgrades/0.26.10.md +36 -0
  158. package/upgrades/0.27.1.md +101 -0
  159. package/upgrades/0.27.2.md +36 -0
  160. package/upgrades/NEXT.md +0 -27
  161. /package/.claude/skills/secret-setup/{SKILL.md → skill.md} +0 -0
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Run contract tests and record evidence of the result.
4
+ *
5
+ * This wrapper runs `vitest run --config vitest.contract.config.ts` and,
6
+ * if all tests pass, writes a timestamped evidence file that the pre-push
7
+ * gate accepts as proof of real API verification.
8
+ *
9
+ * The evidence file expires after 4 hours — you can't run contract tests
10
+ * on Monday and ship on Friday. Fresh changes require fresh verification.
11
+ *
12
+ * Usage:
13
+ * SLACK_CONTRACT_BOT_TOKEN=xoxb-... node scripts/run-contract-tests.js
14
+ * # or via npm:
15
+ * SLACK_CONTRACT_BOT_TOKEN=xoxb-... npm run test:contract
16
+ */
17
+
18
+ import { execSync } from 'node:child_process';
19
+ import fs from 'node:fs';
20
+ import path from 'node:path';
21
+ import { fileURLToPath } from 'node:url';
22
+
23
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
24
+ const ROOT = path.resolve(__dirname, '..');
25
+ const EVIDENCE_PATH = path.join(ROOT, '.contract-test-evidence.json');
26
+
27
+ // Check if any contract test token is set
28
+ const hasSlackToken = !!process.env.SLACK_CONTRACT_BOT_TOKEN;
29
+
30
+ if (!hasSlackToken) {
31
+ console.log('\n ⚠️ No contract test tokens found.');
32
+ console.log(' Set SLACK_CONTRACT_BOT_TOKEN to run Slack contract tests.\n');
33
+ console.log(' Without tokens, contract tests are skipped — no evidence is recorded.\n');
34
+ process.exit(1);
35
+ }
36
+
37
+ console.log('\n 🔬 Running contract tests against live APIs...\n');
38
+
39
+ try {
40
+ execSync('npx vitest run --config vitest.contract.config.ts', {
41
+ cwd: ROOT,
42
+ stdio: 'inherit',
43
+ env: { ...process.env },
44
+ });
45
+
46
+ // Tests passed — write evidence
47
+ const evidence = {
48
+ passed: true,
49
+ timestamp: Date.now(),
50
+ date: new Date().toISOString(),
51
+ suite: 'contract',
52
+ tokens: {
53
+ slack: hasSlackToken ? 'present' : 'absent',
54
+ },
55
+ };
56
+
57
+ fs.writeFileSync(EVIDENCE_PATH, JSON.stringify(evidence, null, 2) + '\n');
58
+ console.log(`\n ✅ Contract test evidence recorded: ${EVIDENCE_PATH}`);
59
+ console.log(` Valid for 4 hours (until ${new Date(Date.now() + 4 * 60 * 60 * 1000).toLocaleTimeString()})\n`);
60
+
61
+ } catch (err) {
62
+ // Tests failed — write failure evidence (so we don't accidentally accept stale success)
63
+ const evidence = {
64
+ passed: false,
65
+ timestamp: Date.now(),
66
+ date: new Date().toISOString(),
67
+ suite: 'contract',
68
+ error: 'Contract tests failed — see output above',
69
+ };
70
+
71
+ fs.writeFileSync(EVIDENCE_PATH, JSON.stringify(evidence, null, 2) + '\n');
72
+ console.log(`\n ❌ Contract tests FAILED. Evidence recorded as failure.`);
73
+ console.log(` Fix the issues above before pushing.\n`);
74
+ process.exit(1);
75
+ }
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-04-03T21:09:26.627Z",
5
- "instarVersion": "0.26.10",
6
- "entryCount": 182,
4
+ "generatedAt": "2026-04-05T08:53:33.254Z",
5
+ "instarVersion": "0.27.2",
6
+ "entryCount": 185,
7
7
  "entries": {
8
8
  "hook:session-start": {
9
9
  "id": "hook:session-start",
@@ -11,7 +11,7 @@
11
11
  "domain": "identity",
12
12
  "sourcePath": "src/core/PostUpdateMigrator.ts",
13
13
  "installedPath": ".instar/hooks/instar/session-start.sh",
14
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
14
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
15
15
  "since": "2025-01-01"
16
16
  },
17
17
  "hook:dangerous-command-guard": {
@@ -20,7 +20,7 @@
20
20
  "domain": "safety",
21
21
  "sourcePath": "src/core/PostUpdateMigrator.ts",
22
22
  "installedPath": ".instar/hooks/instar/dangerous-command-guard.sh",
23
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
23
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
24
24
  "since": "2025-01-01"
25
25
  },
26
26
  "hook:grounding-before-messaging": {
@@ -29,7 +29,7 @@
29
29
  "domain": "safety",
30
30
  "sourcePath": "src/core/PostUpdateMigrator.ts",
31
31
  "installedPath": ".instar/hooks/instar/grounding-before-messaging.sh",
32
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
32
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
33
33
  "since": "2025-01-01"
34
34
  },
35
35
  "hook:compaction-recovery": {
@@ -38,7 +38,7 @@
38
38
  "domain": "identity",
39
39
  "sourcePath": "src/core/PostUpdateMigrator.ts",
40
40
  "installedPath": ".instar/hooks/instar/compaction-recovery.sh",
41
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
41
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
42
42
  "since": "2025-01-01"
43
43
  },
44
44
  "hook:external-operation-gate": {
@@ -47,7 +47,7 @@
47
47
  "domain": "safety",
48
48
  "sourcePath": "src/core/PostUpdateMigrator.ts",
49
49
  "installedPath": ".instar/hooks/instar/external-operation-gate.js",
50
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
50
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
51
51
  "since": "2025-01-01"
52
52
  },
53
53
  "hook:deferral-detector": {
@@ -56,7 +56,7 @@
56
56
  "domain": "safety",
57
57
  "sourcePath": "src/core/PostUpdateMigrator.ts",
58
58
  "installedPath": ".instar/hooks/instar/deferral-detector.js",
59
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
59
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
60
60
  "since": "2025-01-01"
61
61
  },
62
62
  "hook:post-action-reflection": {
@@ -65,7 +65,7 @@
65
65
  "domain": "evolution",
66
66
  "sourcePath": "src/core/PostUpdateMigrator.ts",
67
67
  "installedPath": ".instar/hooks/instar/post-action-reflection.js",
68
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
68
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
69
69
  "since": "2025-01-01"
70
70
  },
71
71
  "hook:external-communication-guard": {
@@ -74,7 +74,7 @@
74
74
  "domain": "safety",
75
75
  "sourcePath": "src/core/PostUpdateMigrator.ts",
76
76
  "installedPath": ".instar/hooks/instar/external-communication-guard.js",
77
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
77
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
78
78
  "since": "2025-01-01"
79
79
  },
80
80
  "hook:scope-coherence-collector": {
@@ -83,7 +83,7 @@
83
83
  "domain": "coherence",
84
84
  "sourcePath": "src/core/PostUpdateMigrator.ts",
85
85
  "installedPath": ".instar/hooks/instar/scope-coherence-collector.js",
86
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
86
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
87
87
  "since": "2025-01-01"
88
88
  },
89
89
  "hook:scope-coherence-checkpoint": {
@@ -92,7 +92,7 @@
92
92
  "domain": "coherence",
93
93
  "sourcePath": "src/core/PostUpdateMigrator.ts",
94
94
  "installedPath": ".instar/hooks/instar/scope-coherence-checkpoint.js",
95
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
95
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
96
96
  "since": "2025-01-01"
97
97
  },
98
98
  "hook:free-text-guard": {
@@ -101,7 +101,7 @@
101
101
  "domain": "safety",
102
102
  "sourcePath": "src/core/PostUpdateMigrator.ts",
103
103
  "installedPath": ".instar/hooks/instar/free-text-guard.sh",
104
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
104
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
105
105
  "since": "2025-01-01"
106
106
  },
107
107
  "hook:claim-intercept": {
@@ -110,7 +110,7 @@
110
110
  "domain": "coherence",
111
111
  "sourcePath": "src/core/PostUpdateMigrator.ts",
112
112
  "installedPath": ".instar/hooks/instar/claim-intercept.js",
113
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
113
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
114
114
  "since": "2025-01-01"
115
115
  },
116
116
  "hook:claim-intercept-response": {
@@ -119,7 +119,7 @@
119
119
  "domain": "coherence",
120
120
  "sourcePath": "src/core/PostUpdateMigrator.ts",
121
121
  "installedPath": ".instar/hooks/instar/claim-intercept-response.js",
122
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
122
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
123
123
  "since": "2025-01-01"
124
124
  },
125
125
  "hook:auto-approve-permissions": {
@@ -128,7 +128,7 @@
128
128
  "domain": "safety",
129
129
  "sourcePath": "src/core/PostUpdateMigrator.ts",
130
130
  "installedPath": ".instar/hooks/instar/auto-approve-permissions.js",
131
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
131
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
132
132
  "since": "2025-01-01"
133
133
  },
134
134
  "job:health-check": {
@@ -347,6 +347,14 @@
347
347
  "contentHash": "9bc7dc9eddd4e345ed6564eff850898b66358ce309119c3047e6af275cf9070d",
348
348
  "since": "2025-01-01"
349
349
  },
350
+ "skill:build": {
351
+ "id": "skill:build",
352
+ "type": "skill",
353
+ "domain": "skills",
354
+ "sourcePath": ".claude/skills/build/skill.md",
355
+ "contentHash": "5b3557fa3662cf0c7b7bab85a252cc2e567b3fc64a04a92d430374ef1f264ca6",
356
+ "since": "2025-01-01"
357
+ },
350
358
  "skill:secret-setup": {
351
359
  "id": "skill:secret-setup",
352
360
  "type": "skill",
@@ -368,7 +376,7 @@
368
376
  "type": "route-group",
369
377
  "domain": "monitoring",
370
378
  "sourcePath": "src/server/routes.ts",
371
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
379
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
372
380
  "since": "2025-01-01"
373
381
  },
374
382
  "route-group:agents": {
@@ -376,7 +384,7 @@
376
384
  "type": "route-group",
377
385
  "domain": "sessions",
378
386
  "sourcePath": "src/server/routes.ts",
379
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
387
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
380
388
  "since": "2025-01-01"
381
389
  },
382
390
  "route-group:backups": {
@@ -384,7 +392,7 @@
384
392
  "type": "route-group",
385
393
  "domain": "operations",
386
394
  "sourcePath": "src/server/routes.ts",
387
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
395
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
388
396
  "since": "2025-01-01"
389
397
  },
390
398
  "route-group:git": {
@@ -392,7 +400,7 @@
392
400
  "type": "route-group",
393
401
  "domain": "coordination",
394
402
  "sourcePath": "src/server/routes.ts",
395
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
403
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
396
404
  "since": "2025-01-01"
397
405
  },
398
406
  "route-group:memory": {
@@ -400,7 +408,7 @@
400
408
  "type": "route-group",
401
409
  "domain": "memory",
402
410
  "sourcePath": "src/server/routes.ts",
403
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
411
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
404
412
  "since": "2025-01-01"
405
413
  },
406
414
  "route-group:semantic": {
@@ -408,7 +416,7 @@
408
416
  "type": "route-group",
409
417
  "domain": "memory",
410
418
  "sourcePath": "src/server/routes.ts",
411
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
419
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
412
420
  "since": "2025-01-01"
413
421
  },
414
422
  "route-group:status": {
@@ -416,7 +424,7 @@
416
424
  "type": "route-group",
417
425
  "domain": "monitoring",
418
426
  "sourcePath": "src/server/routes.ts",
419
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
427
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
420
428
  "since": "2025-01-01"
421
429
  },
422
430
  "route-group:capabilities": {
@@ -424,7 +432,7 @@
424
432
  "type": "route-group",
425
433
  "domain": "mapping",
426
434
  "sourcePath": "src/server/routes.ts",
427
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
435
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
428
436
  "since": "2025-01-01"
429
437
  },
430
438
  "route-group:project-map": {
@@ -432,7 +440,7 @@
432
440
  "type": "route-group",
433
441
  "domain": "mapping",
434
442
  "sourcePath": "src/server/routes.ts",
435
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
443
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
436
444
  "since": "2025-01-01"
437
445
  },
438
446
  "route-group:coherence": {
@@ -440,7 +448,7 @@
440
448
  "type": "route-group",
441
449
  "domain": "coherence",
442
450
  "sourcePath": "src/server/routes.ts",
443
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
451
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
444
452
  "since": "2025-01-01"
445
453
  },
446
454
  "route-group:topic-bindings": {
@@ -448,7 +456,7 @@
448
456
  "type": "route-group",
449
457
  "domain": "sessions",
450
458
  "sourcePath": "src/server/routes.ts",
451
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
459
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
452
460
  "since": "2025-01-01"
453
461
  },
454
462
  "route-group:context": {
@@ -456,7 +464,7 @@
456
464
  "type": "route-group",
457
465
  "domain": "context",
458
466
  "sourcePath": "src/server/routes.ts",
459
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
467
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
460
468
  "since": "2025-01-01"
461
469
  },
462
470
  "route-group:scope-coherence": {
@@ -464,7 +472,7 @@
464
472
  "type": "route-group",
465
473
  "domain": "coherence",
466
474
  "sourcePath": "src/server/routes.ts",
467
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
475
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
468
476
  "since": "2025-01-01"
469
477
  },
470
478
  "route-group:canonical-state": {
@@ -472,7 +480,7 @@
472
480
  "type": "route-group",
473
481
  "domain": "state",
474
482
  "sourcePath": "src/server/routes.ts",
475
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
483
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
476
484
  "since": "2025-01-01"
477
485
  },
478
486
  "route-group:ci": {
@@ -480,7 +488,7 @@
480
488
  "type": "route-group",
481
489
  "domain": "monitoring",
482
490
  "sourcePath": "src/server/routes.ts",
483
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
491
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
484
492
  "since": "2025-01-01"
485
493
  },
486
494
  "route-group:sessions": {
@@ -488,7 +496,7 @@
488
496
  "type": "route-group",
489
497
  "domain": "sessions",
490
498
  "sourcePath": "src/server/routes.ts",
491
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
499
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
492
500
  "since": "2025-01-01"
493
501
  },
494
502
  "route-group:jobs": {
@@ -496,7 +504,7 @@
496
504
  "type": "route-group",
497
505
  "domain": "scheduling",
498
506
  "sourcePath": "src/server/routes.ts",
499
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
507
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
500
508
  "since": "2025-01-01"
501
509
  },
502
510
  "route-group:skip-ledger": {
@@ -504,7 +512,7 @@
504
512
  "type": "route-group",
505
513
  "domain": "scheduling",
506
514
  "sourcePath": "src/server/routes.ts",
507
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
515
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
508
516
  "since": "2025-01-01"
509
517
  },
510
518
  "route-group:telegram": {
@@ -512,7 +520,7 @@
512
520
  "type": "route-group",
513
521
  "domain": "communication",
514
522
  "sourcePath": "src/server/routes.ts",
515
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
523
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
516
524
  "since": "2025-01-01"
517
525
  },
518
526
  "route-group:attention": {
@@ -520,7 +528,7 @@
520
528
  "type": "route-group",
521
529
  "domain": "communication",
522
530
  "sourcePath": "src/server/routes.ts",
523
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
531
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
524
532
  "since": "2025-01-01"
525
533
  },
526
534
  "route-group:relationships": {
@@ -528,7 +536,7 @@
528
536
  "type": "route-group",
529
537
  "domain": "relationships",
530
538
  "sourcePath": "src/server/routes.ts",
531
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
539
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
532
540
  "since": "2025-01-01"
533
541
  },
534
542
  "route-group:feedback": {
@@ -536,7 +544,7 @@
536
544
  "type": "route-group",
537
545
  "domain": "feedback",
538
546
  "sourcePath": "src/server/routes.ts",
539
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
547
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
540
548
  "since": "2025-01-01"
541
549
  },
542
550
  "route-group:updates": {
@@ -544,7 +552,7 @@
544
552
  "type": "route-group",
545
553
  "domain": "updates",
546
554
  "sourcePath": "src/server/routes.ts",
547
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
555
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
548
556
  "since": "2025-01-01"
549
557
  },
550
558
  "route-group:dispatches": {
@@ -552,7 +560,7 @@
552
560
  "type": "route-group",
553
561
  "domain": "dispatches",
554
562
  "sourcePath": "src/server/routes.ts",
555
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
563
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
556
564
  "since": "2025-01-01"
557
565
  },
558
566
  "route-group:quota": {
@@ -560,7 +568,7 @@
560
568
  "type": "route-group",
561
569
  "domain": "monitoring",
562
570
  "sourcePath": "src/server/routes.ts",
563
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
571
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
564
572
  "since": "2025-01-01"
565
573
  },
566
574
  "route-group:publishing": {
@@ -568,7 +576,7 @@
568
576
  "type": "route-group",
569
577
  "domain": "publishing",
570
578
  "sourcePath": "src/server/routes.ts",
571
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
579
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
572
580
  "since": "2025-01-01"
573
581
  },
574
582
  "route-group:private-views": {
@@ -576,7 +584,7 @@
576
584
  "type": "route-group",
577
585
  "domain": "publishing",
578
586
  "sourcePath": "src/server/routes.ts",
579
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
587
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
580
588
  "since": "2025-01-01"
581
589
  },
582
590
  "route-group:tunnel": {
@@ -584,7 +592,7 @@
584
592
  "type": "route-group",
585
593
  "domain": "networking",
586
594
  "sourcePath": "src/server/routes.ts",
587
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
595
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
588
596
  "since": "2025-01-01"
589
597
  },
590
598
  "route-group:events": {
@@ -592,7 +600,7 @@
592
600
  "type": "route-group",
593
601
  "domain": "networking",
594
602
  "sourcePath": "src/server/routes.ts",
595
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
603
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
596
604
  "since": "2025-01-01"
597
605
  },
598
606
  "route-group:evolution": {
@@ -600,7 +608,7 @@
600
608
  "type": "route-group",
601
609
  "domain": "evolution",
602
610
  "sourcePath": "src/server/routes.ts",
603
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
611
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
604
612
  "since": "2025-01-01"
605
613
  },
606
614
  "route-group:watchdog": {
@@ -608,7 +616,7 @@
608
616
  "type": "route-group",
609
617
  "domain": "monitoring",
610
618
  "sourcePath": "src/server/routes.ts",
611
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
619
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
612
620
  "since": "2025-01-01"
613
621
  },
614
622
  "route-group:topic-memory": {
@@ -616,7 +624,7 @@
616
624
  "type": "route-group",
617
625
  "domain": "memory",
618
626
  "sourcePath": "src/server/routes.ts",
619
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
627
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
620
628
  "since": "2025-01-01"
621
629
  },
622
630
  "route-group:state-sync": {
@@ -624,7 +632,7 @@
624
632
  "type": "route-group",
625
633
  "domain": "coordination",
626
634
  "sourcePath": "src/server/routes.ts",
627
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
635
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
628
636
  "since": "2025-01-01"
629
637
  },
630
638
  "route-group:intent": {
@@ -632,7 +640,7 @@
632
640
  "type": "route-group",
633
641
  "domain": "intent",
634
642
  "sourcePath": "src/server/routes.ts",
635
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
643
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
636
644
  "since": "2025-01-01"
637
645
  },
638
646
  "route-group:triage": {
@@ -640,7 +648,7 @@
640
648
  "type": "route-group",
641
649
  "domain": "safety",
642
650
  "sourcePath": "src/server/routes.ts",
643
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
651
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
644
652
  "since": "2025-01-01"
645
653
  },
646
654
  "route-group:operations": {
@@ -648,7 +656,7 @@
648
656
  "type": "route-group",
649
657
  "domain": "safety",
650
658
  "sourcePath": "src/server/routes.ts",
651
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
659
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
652
660
  "since": "2025-01-01"
653
661
  },
654
662
  "route-group:sentinel": {
@@ -656,7 +664,7 @@
656
664
  "type": "route-group",
657
665
  "domain": "safety",
658
666
  "sourcePath": "src/server/routes.ts",
659
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
667
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
660
668
  "since": "2025-01-01"
661
669
  },
662
670
  "route-group:trust": {
@@ -664,7 +672,7 @@
664
672
  "type": "route-group",
665
673
  "domain": "safety",
666
674
  "sourcePath": "src/server/routes.ts",
667
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
675
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
668
676
  "since": "2025-01-01"
669
677
  },
670
678
  "route-group:monitoring": {
@@ -672,7 +680,7 @@
672
680
  "type": "route-group",
673
681
  "domain": "monitoring",
674
682
  "sourcePath": "src/server/routes.ts",
675
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
683
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
676
684
  "since": "2025-01-01"
677
685
  },
678
686
  "route-group:commitments": {
@@ -680,7 +688,7 @@
680
688
  "type": "route-group",
681
689
  "domain": "commitments",
682
690
  "sourcePath": "src/server/routes.ts",
683
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
691
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
684
692
  "since": "2025-01-01"
685
693
  },
686
694
  "route-group:episodes": {
@@ -688,7 +696,7 @@
688
696
  "type": "route-group",
689
697
  "domain": "memory",
690
698
  "sourcePath": "src/server/routes.ts",
691
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
699
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
692
700
  "since": "2025-01-01"
693
701
  },
694
702
  "route-group:messages": {
@@ -696,7 +704,7 @@
696
704
  "type": "route-group",
697
705
  "domain": "coordination",
698
706
  "sourcePath": "src/server/routes.ts",
699
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
707
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
700
708
  "since": "2025-01-01"
701
709
  },
702
710
  "route-group:system-reviews": {
@@ -704,7 +712,7 @@
704
712
  "type": "route-group",
705
713
  "domain": "monitoring",
706
714
  "sourcePath": "src/server/routes.ts",
707
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
715
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
708
716
  "since": "2025-01-01"
709
717
  },
710
718
  "route-group:machine-mesh": {
@@ -720,7 +728,7 @@
720
728
  "type": "route-group",
721
729
  "domain": "security",
722
730
  "sourcePath": "src/server/routes.ts",
723
- "contentHash": "68c4d8eaf014149ba07c5571d22ec8946b9ef3291e2eac8d08c4ecfb69133592",
731
+ "contentHash": "0abc58da6563d6bd1e6072c49e4e1ce980e0d888a6687d7a9a5507052bb43244",
724
732
  "since": "2025-01-01"
725
733
  },
726
734
  "cli:init": {
@@ -955,6 +963,14 @@
955
963
  "contentHash": "880337579466259fe9910990dfbc165b2143350697986e0726a017639b40a867",
956
964
  "since": "2025-01-01"
957
965
  },
966
+ "template:build-stop-hook.sh": {
967
+ "id": "template:build-stop-hook.sh",
968
+ "type": "template",
969
+ "domain": "safety",
970
+ "sourcePath": "src/templates/hooks/build-stop-hook.sh",
971
+ "contentHash": "fec59280a0f8631daee042272bb919747521d1e2a10a93f6883ac6bed81c524b",
972
+ "since": "2025-01-01"
973
+ },
958
974
  "template:compaction-recovery.sh": {
959
975
  "id": "template:compaction-recovery.sh",
960
976
  "type": "template",
@@ -1115,6 +1131,14 @@
1115
1131
  "contentHash": "29ab877ca6aab0ccc8b6cc98cee6b6142c9b4d1fcd1b93399ecce2a324db6434",
1116
1132
  "since": "2025-01-01"
1117
1133
  },
1134
+ "playbook-script:build-state.py": {
1135
+ "id": "playbook-script:build-state.py",
1136
+ "type": "playbook-script",
1137
+ "domain": "context",
1138
+ "sourcePath": "playbook-scripts/build-state.py",
1139
+ "contentHash": "a027adf1ac77304efe91b30e1f9ee971401f7110aaf53dc33e5a43cf5ec2ef41",
1140
+ "since": "2025-01-01"
1141
+ },
1118
1142
  "playbook-script:playbook-annotate-context.py": {
1119
1143
  "id": "playbook-script:playbook-annotate-context.py",
1120
1144
  "type": "playbook-script",
@@ -1368,7 +1392,7 @@
1368
1392
  "type": "subsystem",
1369
1393
  "domain": "server",
1370
1394
  "sourcePath": "src/server/AgentServer.ts",
1371
- "contentHash": "a6086a2ce9695ba19af6e5e9c46ac6dfcb61d0a64a6809302f26a62b5753fce3",
1395
+ "contentHash": "5495c07061d8b7e78a518a2fce549c06669f8cee7a0abfb3cf302533771c9872",
1372
1396
  "since": "2025-01-01"
1373
1397
  },
1374
1398
  "subsystem:session-manager": {
@@ -1400,7 +1424,7 @@
1400
1424
  "type": "subsystem",
1401
1425
  "domain": "updates",
1402
1426
  "sourcePath": "src/core/PostUpdateMigrator.ts",
1403
- "contentHash": "10e22be02565276d31540ff8db3dccc32be77169245a9cb301030337af06b09d",
1427
+ "contentHash": "e18ee7aa39ed448866d0abe004b8aca9d2da6bd6f94c5dbce0ba14c422e59e2c",
1404
1428
  "since": "2025-01-01"
1405
1429
  },
1406
1430
  "subsystem:scheduler": {