soturail 1.4.0 → 1.6.0

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 (242) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +38 -76
  3. package/dist/cli.js +10 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/agents.d.ts +4 -0
  6. package/dist/commands/agents.js +9 -0
  7. package/dist/commands/agents.js.map +1 -1
  8. package/dist/commands/candidates.d.ts +2 -0
  9. package/dist/commands/candidates.js +22 -0
  10. package/dist/commands/candidates.js.map +1 -0
  11. package/dist/commands/capabilities.d.ts +2 -0
  12. package/dist/commands/capabilities.js +40 -0
  13. package/dist/commands/capabilities.js.map +1 -0
  14. package/dist/commands/context.js +5 -2
  15. package/dist/commands/context.js.map +1 -1
  16. package/dist/commands/contract.d.ts +2 -0
  17. package/dist/commands/contract.js +111 -0
  18. package/dist/commands/contract.js.map +1 -0
  19. package/dist/commands/doctor.js +4 -12
  20. package/dist/commands/doctor.js.map +1 -1
  21. package/dist/commands/governance.d.ts +2 -0
  22. package/dist/commands/governance.js +31 -0
  23. package/dist/commands/governance.js.map +1 -0
  24. package/dist/commands/hooks.js +4 -3
  25. package/dist/commands/hooks.js.map +1 -1
  26. package/dist/commands/mcp.js +2 -2
  27. package/dist/commands/mcp.js.map +1 -1
  28. package/dist/commands/memory.js +19 -10
  29. package/dist/commands/memory.js.map +1 -1
  30. package/dist/commands/raw.d.ts +2 -0
  31. package/dist/commands/raw.js +27 -0
  32. package/dist/commands/raw.js.map +1 -0
  33. package/dist/commands/read.js +2 -2
  34. package/dist/commands/read.js.map +1 -1
  35. package/dist/commands/report.js +5 -13
  36. package/dist/commands/report.js.map +1 -1
  37. package/dist/commands/run.js +12 -1
  38. package/dist/commands/run.js.map +1 -1
  39. package/dist/commands/skills.js +52 -4
  40. package/dist/commands/skills.js.map +1 -1
  41. package/dist/commands/spec.js +2 -6
  42. package/dist/commands/spec.js.map +1 -1
  43. package/dist/compressors/json-toon.d.ts +0 -1
  44. package/dist/compressors/json-toon.js +0 -3
  45. package/dist/compressors/json-toon.js.map +1 -1
  46. package/dist/core/agent-docs-hygiene.js +2 -5
  47. package/dist/core/agent-docs-hygiene.js.map +1 -1
  48. package/dist/core/agent-exporter.js +13 -35
  49. package/dist/core/agent-exporter.js.map +1 -1
  50. package/dist/core/agent-qa.js +3 -5
  51. package/dist/core/agent-qa.js.map +1 -1
  52. package/dist/core/agent-runtime.js +15 -63
  53. package/dist/core/agent-runtime.js.map +1 -1
  54. package/dist/core/approved-memory.d.ts +29 -0
  55. package/dist/core/approved-memory.js +82 -0
  56. package/dist/core/approved-memory.js.map +1 -0
  57. package/dist/core/artifact-envelope.d.ts +63 -0
  58. package/dist/core/artifact-envelope.js +46 -0
  59. package/dist/core/artifact-envelope.js.map +1 -0
  60. package/dist/core/artifact-registry.d.ts +10 -0
  61. package/dist/core/artifact-registry.js +35 -0
  62. package/dist/core/artifact-registry.js.map +1 -0
  63. package/dist/core/artifact-store.d.ts +14 -0
  64. package/dist/core/artifact-store.js +169 -0
  65. package/dist/core/artifact-store.js.map +1 -0
  66. package/dist/core/cache-normalizer.js +2 -7
  67. package/dist/core/cache-normalizer.js.map +1 -1
  68. package/dist/core/candidate-store.d.ts +30 -0
  69. package/dist/core/candidate-store.js +106 -0
  70. package/dist/core/candidate-store.js.map +1 -0
  71. package/dist/core/capability-descriptor.d.ts +194 -0
  72. package/dist/core/capability-descriptor.js +347 -0
  73. package/dist/core/capability-descriptor.js.map +1 -0
  74. package/dist/core/capability-registry.d.ts +50 -0
  75. package/dist/core/capability-registry.js +72 -0
  76. package/dist/core/capability-registry.js.map +1 -0
  77. package/dist/core/change-contract.d.ts +100 -0
  78. package/dist/core/change-contract.js +138 -0
  79. package/dist/core/change-contract.js.map +1 -0
  80. package/dist/core/code-health.js +53 -0
  81. package/dist/core/code-health.js.map +1 -1
  82. package/dist/core/config.d.ts +33 -78
  83. package/dist/core/config.js +34 -22
  84. package/dist/core/config.js.map +1 -1
  85. package/dist/core/context-artifact.d.ts +37 -0
  86. package/dist/core/context-artifact.js +56 -0
  87. package/dist/core/context-artifact.js.map +1 -0
  88. package/dist/core/context-intelligence.d.ts +17 -1
  89. package/dist/core/context-intelligence.js +20 -3
  90. package/dist/core/context-intelligence.js.map +1 -1
  91. package/dist/core/context-pack.d.ts +4 -0
  92. package/dist/core/context-pack.js +28 -15
  93. package/dist/core/context-pack.js.map +1 -1
  94. package/dist/core/contract-lifecycle.d.ts +101 -0
  95. package/dist/core/contract-lifecycle.js +262 -0
  96. package/dist/core/contract-lifecycle.js.map +1 -0
  97. package/dist/core/diagram-rail.js +6 -8
  98. package/dist/core/diagram-rail.js.map +1 -1
  99. package/dist/core/evidence-pack.js +21 -24
  100. package/dist/core/evidence-pack.js.map +1 -1
  101. package/dist/core/evidence-provenance.d.ts +12 -1
  102. package/dist/core/evidence-provenance.js +63 -16
  103. package/dist/core/evidence-provenance.js.map +1 -1
  104. package/dist/core/execution-envelope.d.ts +60 -0
  105. package/dist/core/execution-envelope.js +52 -0
  106. package/dist/core/execution-envelope.js.map +1 -0
  107. package/dist/core/file-scanner.js +4 -4
  108. package/dist/core/file-scanner.js.map +1 -1
  109. package/dist/core/governance.d.ts +50 -0
  110. package/dist/core/governance.js +69 -0
  111. package/dist/core/governance.js.map +1 -0
  112. package/dist/core/harness-lifecycle.js +2 -11
  113. package/dist/core/harness-lifecycle.js.map +1 -1
  114. package/dist/core/harness-rail.js +5 -14
  115. package/dist/core/harness-rail.js.map +1 -1
  116. package/dist/core/host-adapters.d.ts +64 -0
  117. package/dist/core/host-adapters.js +135 -0
  118. package/dist/core/host-adapters.js.map +1 -0
  119. package/dist/core/knowledge-rail.d.ts +1 -0
  120. package/dist/core/knowledge-rail.js +46 -30
  121. package/dist/core/knowledge-rail.js.map +1 -1
  122. package/dist/core/mcp-resources.js +5 -10
  123. package/dist/core/mcp-resources.js.map +1 -1
  124. package/dist/core/mcp-server.d.ts +11 -2
  125. package/dist/core/mcp-server.js +56 -35
  126. package/dist/core/mcp-server.js.map +1 -1
  127. package/dist/core/mcp-tools.d.ts +9 -0
  128. package/dist/core/mcp-tools.js +98 -39
  129. package/dist/core/mcp-tools.js.map +1 -1
  130. package/dist/core/memory-rail.js +2 -11
  131. package/dist/core/memory-rail.js.map +1 -1
  132. package/dist/core/native-candidates.js +3 -5
  133. package/dist/core/native-candidates.js.map +1 -1
  134. package/dist/core/policy-rail.js +2 -12
  135. package/dist/core/policy-rail.js.map +1 -1
  136. package/dist/core/project-brain.d.ts +0 -1
  137. package/dist/core/project-brain.js +24 -37
  138. package/dist/core/project-brain.js.map +1 -1
  139. package/dist/core/rail-utils.d.ts +20 -1
  140. package/dist/core/rail-utils.js +27 -9
  141. package/dist/core/rail-utils.js.map +1 -1
  142. package/dist/core/raw-lifecycle.d.ts +21 -0
  143. package/dist/core/raw-lifecycle.js +94 -0
  144. package/dist/core/raw-lifecycle.js.map +1 -0
  145. package/dist/core/raw-store.d.ts +6 -0
  146. package/dist/core/raw-store.js +4 -1
  147. package/dist/core/raw-store.js.map +1 -1
  148. package/dist/core/release-preflight.js +1 -1
  149. package/dist/core/release-preflight.js.map +1 -1
  150. package/dist/core/report-rail.d.ts +2 -1
  151. package/dist/core/report-rail.js +4 -27
  152. package/dist/core/report-rail.js.map +1 -1
  153. package/dist/core/reverse-specification.js +3 -6
  154. package/dist/core/reverse-specification.js.map +1 -1
  155. package/dist/core/rule-extractor.js +2 -2
  156. package/dist/core/rule-extractor.js.map +1 -1
  157. package/dist/core/run-manifest.d.ts +80 -0
  158. package/dist/core/run-manifest.js +43 -0
  159. package/dist/core/run-manifest.js.map +1 -0
  160. package/dist/core/run-workspace.js +10 -15
  161. package/dist/core/run-workspace.js.map +1 -1
  162. package/dist/core/semantic-candidate.d.ts +416 -0
  163. package/dist/core/semantic-candidate.js +124 -0
  164. package/dist/core/semantic-candidate.js.map +1 -0
  165. package/dist/core/skill-exporter.d.ts +50 -0
  166. package/dist/core/skill-exporter.js +130 -0
  167. package/dist/core/skill-exporter.js.map +1 -1
  168. package/dist/core/skill-model.d.ts +88 -0
  169. package/dist/core/skill-model.js +239 -0
  170. package/dist/core/skill-model.js.map +1 -0
  171. package/dist/core/skill-rail-v2.js +5 -10
  172. package/dist/core/skill-rail-v2.js.map +1 -1
  173. package/dist/core/skill-routing.d.ts +8 -0
  174. package/dist/core/skill-routing.js +29 -25
  175. package/dist/core/skill-routing.js.map +1 -1
  176. package/dist/core/skill-schema.d.ts +23 -33
  177. package/dist/core/skill-schema.js +2 -6
  178. package/dist/core/skill-schema.js.map +1 -1
  179. package/dist/core/skill-validator.d.ts +6 -0
  180. package/dist/core/skill-validator.js +21 -14
  181. package/dist/core/skill-validator.js.map +1 -1
  182. package/dist/core/tasklet-rail.js +3 -5
  183. package/dist/core/tasklet-rail.js.map +1 -1
  184. package/dist/core/trust-decision.d.ts +9 -0
  185. package/dist/core/trust-decision.js +30 -0
  186. package/dist/core/trust-decision.js.map +1 -0
  187. package/dist/core/version.d.ts +1 -1
  188. package/dist/core/version.js +1 -1
  189. package/dist/core/workflow-store.js +11 -13
  190. package/dist/core/workflow-store.js.map +1 -1
  191. package/dist/core/workspace-fingerprint.d.ts +20 -0
  192. package/dist/core/workspace-fingerprint.js +91 -0
  193. package/dist/core/workspace-fingerprint.js.map +1 -0
  194. package/dist/core/workspace-guard.d.ts +37 -0
  195. package/dist/core/workspace-guard.js +156 -0
  196. package/dist/core/workspace-guard.js.map +1 -0
  197. package/docs/README.md +24 -0
  198. package/docs/architecture/agent-native-semantic-architecture.md +403 -0
  199. package/docs/architecture/architecture.md +46 -35
  200. package/docs/architecture/artifact-model-and-lineage.md +30 -0
  201. package/docs/architecture/context-architecture.md +31 -0
  202. package/docs/architecture/contracts-and-verification.md +65 -0
  203. package/docs/architecture/governance-model.md +27 -0
  204. package/docs/architecture/provider-architecture.md +63 -0
  205. package/docs/architecture/verified-control-plane.md +108 -0
  206. package/docs/audits/v1.5.0-preimplementation-audit.md +64 -0
  207. package/docs/audits/v1.6.0-legacy-removal-report.md +75 -0
  208. package/docs/audits/v1.6.0-refactor-map.md +119 -0
  209. package/docs/audits/v1.6.0-semantic-migration-baseline.md +185 -0
  210. package/docs/ecosystem/2026-external-research-master-index.md +221 -0
  211. package/docs/ecosystem/external-projects-audit.md +2 -0
  212. package/docs/getting-started/migration-v1.5.md +40 -0
  213. package/docs/getting-started/migration-v1.6.md +77 -0
  214. package/docs/rails/evaluation/benchmarking.md +28 -329
  215. package/docs/rails/governance/governance-cost-rail.md +4 -4
  216. package/docs/rails/hosts/host-compatibility-rail.md +24 -0
  217. package/docs/rails/hosts/mcp.md +13 -9
  218. package/docs/rails/skills/skill-rail-2.md +46 -8
  219. package/docs/rails/skills/skill-rail.md +162 -49
  220. package/docs/reference/commands/v1.5-commands.md +46 -0
  221. package/docs/reference/commands/v1.6-commands.md +74 -0
  222. package/docs/reference/schemas/schema-contracts.md +17 -0
  223. package/docs/releases/README.md +2 -0
  224. package/docs/releases/RELEASE_NOTES_v1.0.1.md +1 -1
  225. package/docs/releases/RELEASE_NOTES_v1.5.0.md +72 -0
  226. package/docs/releases/RELEASE_NOTES_v1.6.0.md +55 -0
  227. package/docs/roadmap/future-rails-index.md +17 -11
  228. package/docs/roadmap/v1.6.0-agent-native-semantic-control-plane-master-prompt.md +1682 -0
  229. package/docs/roadmap/verified-control-plane-implementation-tracker.md +123 -0
  230. package/docs/security/security-model.md +21 -89
  231. package/docs/security/threat-model.md +47 -0
  232. package/package.json +10 -5
  233. package/skills/soturail-change/SKILL.md +32 -0
  234. package/skills/soturail-core/SKILL.md +44 -0
  235. package/skills/soturail-core/references/candidate-artifacts.md +37 -0
  236. package/skills/soturail-core/references/trust-states.md +21 -0
  237. package/skills/soturail-debug/SKILL.md +30 -0
  238. package/skills/soturail-knowledge/SKILL.md +29 -0
  239. package/skills/soturail-release/SKILL.md +31 -0
  240. package/skills/soturail-research/SKILL.md +31 -0
  241. package/skills/soturail-review/SKILL.md +31 -0
  242. package/skills/soturail-security/SKILL.md +31 -0
@@ -3,6 +3,8 @@ import path from "node:path";
3
3
  import { getWorkspacePaths, readJsonl, relativeToRoot } from "./config.js";
4
4
  import { listAgentProfiles } from "./agent-registry.js";
5
5
  import { SOTURAIL_VERSION } from "./version.js";
6
+ import { pathExists } from "./rail-utils.js";
7
+ import { getHostAdapter, hostContextFormats, hostReportFormats, hostSetupCommand } from "./host-adapters.js";
6
8
  export const AGENT_POLICY_NOTES = [
7
9
  "No arbitrary shell execution is exposed through SotuRail MCP.",
8
10
  "Raw log expansion requires explicit review; redaction is enabled by default.",
@@ -354,9 +356,9 @@ export async function agentStatus(root = process.cwd()) {
354
356
  manifestPresent: mcpExports.length > 0
355
357
  },
356
358
  policy: {
357
- queuePresent: await exists(paths.policyQueueFile),
359
+ queuePresent: await pathExists(paths.policyQueueFile),
358
360
  queueItems: queueItems.length,
359
- decisionsPresent: await exists(paths.policyDecisionsFile),
361
+ decisionsPresent: await pathExists(paths.policyDecisionsFile),
360
362
  decisions: decisions.length
361
363
  },
362
364
  runs,
@@ -396,34 +398,15 @@ export function renderAgentStatus(status) {
396
398
  ].join("\n") + "\n";
397
399
  }
398
400
  function setupCommandFor(id) {
399
- if (id === "antigravity" || id === "opencode" || id === "amp" || id === "kiro" || id === "gemini-legacy")
400
- return `soturail agents export --agent ${id}`;
401
- if (id === "deepagents" || id === "deepagents-js")
402
- return `soturail agents export --agent ${id}`;
403
- return `soturail agents install --agent ${id} --dry-run`;
401
+ return hostSetupCommand(getHostAdapter(id));
404
402
  }
405
403
  function displayHostName(capability) {
406
- if (capability.id === "antigravity")
407
- return "Antigravity-style hosts";
408
- if (capability.id === "gemini")
409
- return "Gemini";
410
- if (capability.id === "gemini-legacy")
411
- return "Gemini legacy/compatible hosts";
412
- if (capability.id === "deepagents" || capability.id === "deepagents-js")
413
- return "DeepAgents-style targets";
414
- if (capability.id === "opencode")
415
- return "OpenCode";
416
- return capability.displayName;
404
+ return getHostAdapter(capability.id).matrix.label ?? capability.displayName;
417
405
  }
418
406
  function stableHostStatus(capability) {
419
- if (capability.id === "generic")
420
- return "stable";
421
- if (capability.id === "claude" || capability.id === "codex" || capability.id === "cursor")
422
- return "stable";
423
- if (capability.id === "gemini" || capability.id === "gemini-legacy")
424
- return "legacy";
425
- if (capability.id === "opencode")
426
- return "generic-compatible";
407
+ const status = getHostAdapter(capability.id).matrix.status;
408
+ if (status)
409
+ return status;
427
410
  if (capability.maturity === "experimental")
428
411
  return "experimental";
429
412
  if (capability.maturity === "planned")
@@ -431,47 +414,19 @@ function stableHostStatus(capability) {
431
414
  return capability.maturity === "prompt-only" ? "experimental" : "unknown";
432
415
  }
433
416
  function reportAgentSupport(id) {
434
- if (id === "claude" || id === "codex" || id === "gemini" || id === "gemini-legacy" || id === "cursor" || id === "generic")
435
- return "supported";
436
- return "prompt-only";
417
+ return getHostAdapter(id).matrix.reportSupport;
437
418
  }
438
419
  function hostPriority(id) {
439
- if (id === "antigravity")
440
- return "high";
441
- if (id === "opencode" || id === "gemini-legacy" || id === "deepagents" || id === "deepagents-js")
442
- return "normal";
443
- return "low";
420
+ return getHostAdapter(id).matrix.priority;
444
421
  }
445
422
  function instructionFilesFor(id) {
446
- const files = {
447
- claude: ["CLAUDE.md", "context-pack.md"],
448
- codex: ["AGENTS.md", "context-pack.md"],
449
- gemini: ["GEMINI.md", "AGENTS.md", "context-pack.md"],
450
- "gemini-legacy": ["AGENTS.md", "GEMINI.md", "context-pack.md"],
451
- cursor: ["rules.md", "cursor-rules.md", "context-pack.md"],
452
- antigravity: ["AGENTS.md", "prompt-only.md", "context-pack.md"],
453
- generic: ["AGENT_CONTEXT.md", "prompt-only.md", "context-pack.md"],
454
- opencode: ["AGENTS.md", "prompt-only.md", "context-pack.md"],
455
- amp: ["prompt-only.md", "context-pack.md"],
456
- kiro: ["prompt-only.md", "context-pack.md"],
457
- deepagents: ["role-pack.md", "subagents.md", "deepagents.md"],
458
- "deepagents-js": ["role-pack.md", "subagents.md", "deepagents-js.md"]
459
- };
460
- return files[id];
423
+ return [...getHostAdapter(id).instructionFiles];
461
424
  }
462
425
  function contextFormatsFor(id) {
463
- if (id === "deepagents" || id === "deepagents-js")
464
- return ["Markdown role pack", "JSON runtime note", "context-pack.md"];
465
- return ["Markdown", "context-pack.md", "agent report references"];
426
+ return [...hostContextFormats(getHostAdapter(id))];
466
427
  }
467
428
  function reportFormatsFor(id) {
468
- if (id === "claude")
469
- return ["Markdown", "tagged sections"];
470
- if (id === "cursor")
471
- return ["short Markdown rules"];
472
- if (id === "deepagents" || id === "deepagents-js")
473
- return ["role-pack Markdown", "agent report Markdown"];
474
- return ["Markdown", "JSON evidence paths"];
429
+ return [...hostReportFormats(getHostAdapter(id))];
475
430
  }
476
431
  function mcpSupportFor(capability) {
477
432
  if (capability.mcp === "supported")
@@ -498,7 +453,7 @@ function reportAgentIdFor(id) {
498
453
  async function detect(root, relativePath, kind) {
499
454
  return {
500
455
  path: relativePath.replace(/\\/g, "/"),
501
- present: await exists(path.resolve(root, relativePath)),
456
+ present: await pathExists(path.resolve(root, relativePath)),
502
457
  kind
503
458
  };
504
459
  }
@@ -511,9 +466,6 @@ async function listFiles(dir) {
511
466
  return [];
512
467
  }
513
468
  }
514
- async function exists(filePath) {
515
- return fs.access(filePath).then(() => true).catch(() => false);
516
- }
517
469
  function promptOnlyHost(id, configPaths, recommendedPayloads) {
518
470
  return {
519
471
  maturity: "prompt-only",
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../src/core/agent-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../src/core/agent-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export declare const APPROVED_MEMORY_MIGRATION_ID = "memory-approved-canonical-v1.6";
2
+ export interface ApprovedMemoryEntry {
3
+ id: string;
4
+ created_at: string;
5
+ approved_at: string;
6
+ git_commit: string | null;
7
+ text: string;
8
+ source: string;
9
+ status: "approved";
10
+ stale?: boolean;
11
+ file_hashes?: Record<string, string>;
12
+ migrated_from?: string;
13
+ }
14
+ export interface ApprovedMemoryMigrationReceipt {
15
+ schemaVersion: "soturail.migration.receipt.v1";
16
+ id: typeof APPROVED_MEMORY_MIGRATION_ID;
17
+ appliedAt: string;
18
+ source: string;
19
+ target: string;
20
+ sourceSha256: string | null;
21
+ migrated: number;
22
+ alreadyCanonical: number;
23
+ }
24
+ /** Run the one-time migration if it has not been applied; idempotent and atomic. */
25
+ export declare function ensureApprovedMemoryMigrated(root?: string): Promise<ApprovedMemoryMigrationReceipt>;
26
+ /** The single reader for approved memory. Stale entries are returned only when asked for. */
27
+ export declare function readApprovedMemory(root?: string, options?: {
28
+ includeStale?: boolean;
29
+ }): Promise<ApprovedMemoryEntry[]>;
@@ -0,0 +1,82 @@
1
+ import { createHash } from "node:crypto";
2
+ import { promises as fs } from "node:fs";
3
+ import path from "node:path";
4
+ import { getWorkspacePaths, readJsonl } from "./config.js";
5
+ import { artifactStore } from "./artifact-store.js";
6
+ // Approved memory has one canonical store: memory/approved.jsonl.
7
+ // Before v1.6, `memory approve` also mirrored approvals into the free-form
8
+ // memory.jsonl log and readers merged both, which duplicated approvals and let
9
+ // entries marked stale in the canonical store reappear through the mirror.
10
+ // This module migrates any legacy-only approvals once, records a receipt, and
11
+ // is the single reader.
12
+ export const APPROVED_MEMORY_MIGRATION_ID = "memory-approved-canonical-v1.6";
13
+ /** Run the one-time migration if it has not been applied; idempotent and atomic. */
14
+ export async function ensureApprovedMemoryMigrated(root = process.cwd()) {
15
+ const paths = getWorkspacePaths(root);
16
+ const receiptPath = path.join(paths.migrationsDir, `${APPROVED_MEMORY_MIGRATION_ID}.json`);
17
+ const existing = await fs.readFile(receiptPath, "utf8").then((raw) => JSON.parse(raw)).catch(() => null);
18
+ if (existing?.id === APPROVED_MEMORY_MIGRATION_ID)
19
+ return existing;
20
+ const legacyRaw = await fs.readFile(paths.memoryFile, "utf8").catch(() => null);
21
+ const legacy = (await readJsonl(paths.memoryFile)).filter((record) => record.approved === true || /^\[approved\]\s*/i.test(record.content ?? ""));
22
+ const canonical = await readJsonl(paths.memoryApprovedFile);
23
+ const knownIds = new Set(canonical.map((record) => record.id));
24
+ const knownTexts = new Set(canonical.map((record) => record.text));
25
+ const additions = [];
26
+ let alreadyCanonical = 0;
27
+ for (const record of legacy) {
28
+ const text = record.text ?? (record.content ?? "").replace(/^\[approved\]\s*/i, "");
29
+ if (!text)
30
+ continue;
31
+ if ((record.id && knownIds.has(record.id)) || knownTexts.has(text)) {
32
+ alreadyCanonical += 1;
33
+ continue;
34
+ }
35
+ const id = record.id ?? `mem_legacy_${createHash("sha256").update(text).digest("hex").slice(0, 12)}`;
36
+ const entry = {
37
+ id,
38
+ created_at: record.created_at ?? record.timestamp ?? "UNKNOWN",
39
+ approved_at: record.approved_at ?? record.timestamp ?? "UNKNOWN",
40
+ git_commit: record.git_commit ?? null,
41
+ text,
42
+ source: record.source ?? "import",
43
+ status: "approved",
44
+ migrated_from: "memory/memory.jsonl"
45
+ };
46
+ if (record.file_hashes)
47
+ entry.file_hashes = record.file_hashes;
48
+ additions.push(entry);
49
+ knownIds.add(id);
50
+ knownTexts.add(text);
51
+ }
52
+ if (additions.length > 0) {
53
+ const next = [...canonical, ...additions];
54
+ await artifactStore.writeText(paths.memoryApprovedFile, next.map((record) => JSON.stringify(record)).join("\n") + "\n");
55
+ const verified = await readJsonl(paths.memoryApprovedFile);
56
+ if (verified.length !== next.length)
57
+ throw new Error("Approved memory migration verification failed; canonical store left for inspection.");
58
+ }
59
+ const receipt = {
60
+ schemaVersion: "soturail.migration.receipt.v1",
61
+ id: APPROVED_MEMORY_MIGRATION_ID,
62
+ appliedAt: new Date().toISOString(),
63
+ source: "memory/memory.jsonl",
64
+ target: "memory/approved.jsonl",
65
+ sourceSha256: legacyRaw === null ? null : createHash("sha256").update(legacyRaw).digest("hex"),
66
+ migrated: additions.length,
67
+ alreadyCanonical
68
+ };
69
+ await artifactStore.writeJson(receiptPath, receipt);
70
+ return receipt;
71
+ }
72
+ /** The single reader for approved memory. Stale entries are returned only when asked for. */
73
+ export async function readApprovedMemory(root = process.cwd(), options = {}) {
74
+ const paths = getWorkspacePaths(root);
75
+ // A reader never creates state in a project without a SotuRail workspace.
76
+ if (!await fs.access(paths.workspace).then(() => true, () => false))
77
+ return [];
78
+ await ensureApprovedMemoryMigrated(root);
79
+ const records = await readJsonl(paths.memoryApprovedFile);
80
+ return records.filter((record) => record.status === "approved" && (options.includeStale === true || record.stale !== true));
81
+ }
82
+ //# sourceMappingURL=approved-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approved-memory.js","sourceRoot":"","sources":["../../src/core/approved-memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { z } from "zod";
2
+ import { type WorkspaceFingerprint } from "./workspace-fingerprint.js";
3
+ export declare const ArtifactFreshnessSchema: z.ZodEnum<{
4
+ unknown: "unknown";
5
+ stale: "stale";
6
+ current: "current";
7
+ }>;
8
+ export declare const ArtifactStatusSchema: z.ZodEnum<{
9
+ invalid: "invalid";
10
+ draft: "draft";
11
+ blocked: "blocked";
12
+ verified: "verified";
13
+ unverified: "unverified";
14
+ }>;
15
+ export declare const ArtifactEnvelopeSchema: z.ZodObject<{
16
+ schemaVersion: z.ZodLiteral<"soturail.artifact-envelope.v1">;
17
+ artifactType: z.ZodString;
18
+ artifactId: z.ZodString;
19
+ producer: z.ZodString;
20
+ producerVersion: z.ZodString;
21
+ createdAt: z.ZodString;
22
+ sourceFingerprint: z.ZodString;
23
+ workspaceFingerprint: z.ZodString;
24
+ status: z.ZodEnum<{
25
+ invalid: "invalid";
26
+ draft: "draft";
27
+ blocked: "blocked";
28
+ verified: "verified";
29
+ unverified: "unverified";
30
+ }>;
31
+ freshness: z.ZodEnum<{
32
+ unknown: "unknown";
33
+ stale: "stale";
34
+ current: "current";
35
+ }>;
36
+ provenance: z.ZodObject<{
37
+ kind: z.ZodString;
38
+ trust: z.ZodEnum<{
39
+ unknown: "unknown";
40
+ trusted: "trusted";
41
+ untrusted: "untrusted";
42
+ }>;
43
+ }, z.core.$strip>;
44
+ dependencies: z.ZodArray<z.ZodString>;
45
+ supersedes: z.ZodOptional<z.ZodString>;
46
+ payload: z.ZodUnknown;
47
+ }, z.core.$strip>;
48
+ export type ArtifactEnvelope = z.infer<typeof ArtifactEnvelopeSchema>;
49
+ export interface CreateArtifactEnvelopeOptions {
50
+ artifactType: string;
51
+ artifactId: string;
52
+ producer: string;
53
+ producerVersion: string;
54
+ payload: unknown;
55
+ root?: string;
56
+ workspace?: WorkspaceFingerprint;
57
+ status?: z.infer<typeof ArtifactStatusSchema>;
58
+ provenance?: ArtifactEnvelope["provenance"];
59
+ dependencies?: string[];
60
+ supersedes?: string;
61
+ }
62
+ export declare function createArtifactEnvelope(options: CreateArtifactEnvelopeOptions): Promise<ArtifactEnvelope>;
63
+ export declare function assessArtifactFreshness(envelope: ArtifactEnvelope, workspaceFingerprint: string): ArtifactEnvelope["freshness"];
@@ -0,0 +1,46 @@
1
+ import { createHash } from "node:crypto";
2
+ import { z } from "zod";
3
+ import { createWorkspaceFingerprint } from "./workspace-fingerprint.js";
4
+ export const ArtifactFreshnessSchema = z.enum(["current", "stale", "unknown"]);
5
+ export const ArtifactStatusSchema = z.enum(["draft", "unverified", "verified", "blocked", "invalid"]);
6
+ export const ArtifactEnvelopeSchema = z.object({
7
+ schemaVersion: z.literal("soturail.artifact-envelope.v1"),
8
+ artifactType: z.string().min(1),
9
+ artifactId: z.string().min(1),
10
+ producer: z.string().min(1),
11
+ producerVersion: z.string().min(1),
12
+ createdAt: z.string().datetime(),
13
+ sourceFingerprint: z.string().min(1),
14
+ workspaceFingerprint: z.string().min(1),
15
+ status: ArtifactStatusSchema,
16
+ freshness: ArtifactFreshnessSchema,
17
+ provenance: z.object({ kind: z.string().min(1), trust: z.enum(["trusted", "untrusted", "unknown"]) }),
18
+ dependencies: z.array(z.string()),
19
+ supersedes: z.string().optional(),
20
+ payload: z.unknown()
21
+ });
22
+ export async function createArtifactEnvelope(options) {
23
+ const workspace = options.workspace ?? await createWorkspaceFingerprint(options.root);
24
+ const envelope = {
25
+ schemaVersion: "soturail.artifact-envelope.v1",
26
+ artifactType: options.artifactType,
27
+ artifactId: options.artifactId,
28
+ producer: options.producer,
29
+ producerVersion: options.producerVersion,
30
+ createdAt: new Date().toISOString(),
31
+ sourceFingerprint: createHash("sha256").update(JSON.stringify(options.payload)).digest("hex"),
32
+ workspaceFingerprint: workspace.fingerprint,
33
+ status: options.status ?? "unverified",
34
+ freshness: "current",
35
+ provenance: options.provenance ?? { kind: "local-deterministic", trust: "trusted" },
36
+ dependencies: options.dependencies ?? [],
37
+ payload: options.payload
38
+ };
39
+ if (options.supersedes)
40
+ envelope.supersedes = options.supersedes;
41
+ return ArtifactEnvelopeSchema.parse(envelope);
42
+ }
43
+ export function assessArtifactFreshness(envelope, workspaceFingerprint) {
44
+ return envelope.workspaceFingerprint === workspaceFingerprint ? "current" : "stale";
45
+ }
46
+ //# sourceMappingURL=artifact-envelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-envelope.js","sourceRoot":"","sources":["../../src/core/artifact-envelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAA6B,MAAM,4BAA4B,CAAC;AAEnG,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAEtG,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC;IACzD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,EAAE,oBAAoB;IAC5B,SAAS,EAAE,uBAAuB;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;IACrG,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AAkBH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAsC;IACjF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAqB;QACjC,aAAa,EAAE,+BAA+B;QAC9C,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,iBAAiB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7F,oBAAoB,EAAE,SAAS,CAAC,WAAW;QAC3C,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,YAAY;QACtC,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE;QACnF,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;QACxC,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;IACF,IAAI,OAAO,CAAC,UAAU;QAAE,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACjE,OAAO,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA0B,EAAE,oBAA4B;IAC9F,OAAO,QAAQ,CAAC,oBAAoB,KAAK,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AACtF,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type ArtifactPathId = "artifacts" | "brain" | "capabilities" | "contracts" | "evals" | "evidence" | "index" | "knowledge" | "migrations" | "outcomes" | "raw" | "receipts" | "runs";
2
+ export declare class ArtifactRegistry {
3
+ private readonly paths;
4
+ constructor(root?: string);
5
+ resolve(id: ArtifactPathId, ...segments: string[]): string;
6
+ entries(): ReadonlyArray<{
7
+ id: ArtifactPathId;
8
+ path: string;
9
+ }>;
10
+ }
@@ -0,0 +1,35 @@
1
+ import path from "node:path";
2
+ import { getWorkspacePaths } from "./config.js";
3
+ export class ArtifactRegistry {
4
+ paths;
5
+ constructor(root = process.cwd()) {
6
+ const workspace = getWorkspacePaths(root);
7
+ this.paths = {
8
+ artifacts: workspace.artifactsDir,
9
+ brain: workspace.brainDir,
10
+ capabilities: workspace.capabilitiesDir,
11
+ contracts: workspace.contractsDir,
12
+ evals: workspace.evalsDir,
13
+ evidence: workspace.evidenceDir,
14
+ index: workspace.localIndexDir,
15
+ knowledge: workspace.knowledgeDir,
16
+ migrations: workspace.migrationsDir,
17
+ outcomes: workspace.outcomesDir,
18
+ raw: workspace.rawDir,
19
+ receipts: workspace.receiptsDir,
20
+ runs: workspace.runsDir
21
+ };
22
+ }
23
+ resolve(id, ...segments) {
24
+ const base = this.paths[id];
25
+ const target = path.resolve(base, ...segments);
26
+ const relative = path.relative(base, target);
27
+ if (relative === ".." || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative))
28
+ throw new Error(`Artifact path escapes registry root: ${id}`);
29
+ return target;
30
+ }
31
+ entries() {
32
+ return Object.entries(this.paths).map(([id, value]) => ({ id: id, path: value }));
33
+ }
34
+ }
35
+ //# sourceMappingURL=artifact-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-registry.js","sourceRoot":"","sources":["../../src/core/artifact-registry.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAiBhD,MAAM,OAAO,gBAAgB;IACV,KAAK,CAAiC;IAEvD,YAAY,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG;YACX,SAAS,EAAE,SAAS,CAAC,YAAY;YACjC,KAAK,EAAE,SAAS,CAAC,QAAQ;YACzB,YAAY,EAAE,SAAS,CAAC,eAAe;YACvC,SAAS,EAAE,SAAS,CAAC,YAAY;YACjC,KAAK,EAAE,SAAS,CAAC,QAAQ;YACzB,QAAQ,EAAE,SAAS,CAAC,WAAW;YAC/B,KAAK,EAAE,SAAS,CAAC,aAAa;YAC9B,SAAS,EAAE,SAAS,CAAC,YAAY;YACjC,UAAU,EAAE,SAAS,CAAC,aAAa;YACnC,QAAQ,EAAE,SAAS,CAAC,WAAW;YAC/B,GAAG,EAAE,SAAS,CAAC,MAAM;YACrB,QAAQ,EAAE,SAAS,CAAC,WAAW;YAC/B,IAAI,EAAE,SAAS,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,EAAkB,EAAE,GAAG,QAAkB;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,EAAE,EAAE,CAAC,CAAC;QAC1J,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACtG,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import type { ZodType } from "zod";
2
+ export interface JsonlReadResult<T> {
3
+ records: T[];
4
+ recoveredPartialTail: boolean;
5
+ corruptLine?: number;
6
+ }
7
+ export declare class ArtifactStore {
8
+ writeText(filePath: string, content: string): Promise<void>;
9
+ writeJson<T>(filePath: string, value: T, schema?: ZodType<T>): Promise<void>;
10
+ appendJsonl(filePath: string, value: unknown): Promise<void>;
11
+ readJsonl<T>(filePath: string): Promise<JsonlReadResult<T>>;
12
+ repairJsonl(filePath: string): Promise<JsonlReadResult<unknown>>;
13
+ }
14
+ export declare const artifactStore: ArtifactStore;