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
package/LICENSE CHANGED
@@ -14,4 +14,4 @@ Unless required by applicable law or agreed to in writing, software
14
14
  distributed under the License is distributed on an "AS IS" BASIS,
15
15
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
16
  See the License for the specific language governing permissions and
17
- limitations under the License.
17
+ limitations under the License.
package/README.md CHANGED
@@ -4,7 +4,9 @@
4
4
  [![CI](https://github.com/Soturine/soturail/actions/workflows/ci.yml/badge.svg)](https://github.com/Soturine/soturail/actions/workflows/ci.yml)
5
5
  [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)
6
6
 
7
- SotuRail is a local-first Context OS for AI coding agents. It prepares compact project knowledge, evidence, workflows, reports and agent-safe exports without becoming an autonomous agent, cloud gateway or required server.
7
+ SotuRail is a local-first engineering control plane for AI-assisted software work. It supplies workspace-bound context, contracts, readiness decisions, evidence, provenance, and reproducible release artifacts without becoming an autonomous agent or mandatory server.
8
+
9
+ > SotuRail governs engineering readiness and verified context; it does not replace the coding model/runtime.
8
10
 
9
11
  ## Install
10
12
 
@@ -14,114 +16,74 @@ soturail --version
14
16
  npx soturail --help
15
17
  ```
16
18
 
17
- SotuRail requires Node.js 20 or newer. TypeScript is the portable default; native acceleration remains optional.
19
+ SotuRail v1.6 requires Node.js 22 or newer. TypeScript is the portable default; Rust acceleration remains optional.
18
20
 
19
- ## Quick Start
21
+ ## Five-minute workflow
20
22
 
21
23
  ```bash
22
- soturail status --agent
23
- soturail knowledge compile project-guide README.md docs
24
+ soturail index
25
+ soturail read README.md --query "product boundary"
26
+ soturail contract create docs-refresh --title "Refresh docs" --intent "Keep contracts current" --criterion "docs check passes" --check "npm run docs:check"
24
27
  soturail evidence collect
25
- soturail report build
26
- soturail dashboard build
27
28
  soturail self readiness --v1 --strict
28
29
  ```
29
30
 
30
- All generated artifacts stay local under `.soturail/`.
31
-
32
- ## Stable Rails
31
+ Generated state stays local under `.soturail/`. Use `soturail run -- <command...>` for recoverable logs and `soturail expand <raw_id>` for redacted recovery.
33
32
 
34
- | Rail | Purpose |
35
- | --- | --- |
36
- | Context and Project Brain | Progressive repo reading, memory, verified claims and agent briefs |
37
- | Knowledge and Evidence | Source-backed knowledge packs, provenance and honest verification status |
38
- | Workflow and Harness | Local workflow evidence, lifecycle state, handoffs and safe task coordination |
39
- | Evaluation and Skills | Deterministic datasets, golden checks and source-mapped Skill Rail 2.0 packs |
40
- | Reports and Dashboard | Local status, static dashboard, observability and redacted agent reports |
41
- | Release and Contracts | Schema checks, readiness gates, baselines and release evidence |
33
+ ## For AI agents
42
34
 
43
- ## Main Commands
35
+ SotuRail ships portable [Agent Skills](skills/) and self-describing capabilities, so a coding agent does not need to memorize CLI commands:
44
36
 
45
37
  ```bash
46
- soturail knowledge estimate README.md docs
47
- soturail knowledge compile project-guide README.md docs
48
- soturail knowledge verify project-guide
49
- soturail evidence collect
50
- soturail evidence verify
51
- soturail eval dataset init
52
- soturail eval golden
53
- soturail eval regression
54
- soturail skills build project-guide README.md docs
55
- soturail skills lint
56
- soturail tasklet create review-docs
57
- soturail tasklet run review-docs --dry-run
58
- soturail report build
59
- soturail release check --strict
38
+ soturail skills export --target claude --layout portable --install # or codex, cursor, gemini, generic
60
39
  ```
61
40
 
62
- See the [documentation index](docs/README.md) and [usage guide](docs/getting-started/usage.md) for the full surface.
41
+ Agents load `soturail-core`, discover capabilities through MCP `soturail.capabilities` / `soturail.skills.list`, record findings as candidates, and finish only with recorded evidence. The agent understands; SotuRail organizes, constrains and proves. See [Skills](docs/rails/skills/skill-rail.md) and [Agent-Native Semantic Architecture](docs/architecture/agent-native-semantic-architecture.md).
63
42
 
64
- ## Safety Model
43
+ ## Core architecture
65
44
 
66
- - Local artifacts by default; no telemetry upload.
67
- - No external LLM calls, paid embeddings or mandatory database.
68
- - No arbitrary shell execution through MCP.
69
- - No autonomous code rewriting.
70
- - Evidence distinguishes verified, unverified, inferred and blocked states.
71
- - Tasklets simulate and export work; they are not an agent runtime.
45
+ | Layer | Responsibility |
46
+ |---|---|
47
+ | Integrity | WorkspaceGuard, Artifact Registry/Store/Envelope, fingerprints, atomic recovery |
48
+ | Context | progressive reads, source-backed knowledge, hard-budget context artifacts |
49
+ | Contracts | Change Contract, evidence policy, readiness and fidelity inputs |
50
+ | Governance | capability registry/epochs, NativeMinimal provider, Authority + Readiness Dual Gate |
51
+ | Execution evidence | exact-digest Execution Envelope, Run Manifest, freshness and provenance |
52
+ | Adapters | typed MCP and replaceable governance/structural/docs/runtime provider boundaries |
72
53
 
73
- Read [Security Boundaries](docs/security/security-boundaries.md), [Security Model](docs/security/security-model.md) and [Evidence Provenance Rail](docs/rails/evidence/evidence-provenance-rail.md).
54
+ The official MCP SDK serves a typed, small, capability-mapped surface. It exposes neither arbitrary shell execution nor caller-controlled raw-log authorization.
74
55
 
75
- ## Agent Hosts
56
+ ## Maturity and safety
76
57
 
77
- SotuRail exports provider-agnostic context for Codex, Claude, Cursor, OpenCode-compatible hosts, Gemini-compatible hosts, Antigravity-style hosts, DeepAgents-style targets and generic consumers.
58
+ The v1.5 deterministic foundation and the v1.6 agent-native surface (portable Skills, capability discovery, candidate artifacts, evidence-backed contract readiness) are implemented and tested. AGT/ACS integration, general schema migrations, structural graph providers, Evidence Receipts, SQLite/FTS, vectors, and Conductor remain explicitly deferred.
78
59
 
79
- ```bash
80
- soturail agents matrix
81
- soturail agents export --host codex
82
- soturail report agent --agent codex
83
- ```
84
-
85
- Compatibility is described conservatively in [Agent Hosts](docs/rails/hosts/agent-hosts.md).
60
+ SotuRail is a guardrail—not a sandbox. It cannot replace OS permissions, credential controls, provider security, physical/runtime QA, or human approval. Evidence distinguishes verified, unverified, blocked, inferred, and stale states.
86
61
 
87
62
  ## Documentation
88
63
 
89
64
  - [Quickstart](docs/getting-started/quickstart.md)
90
- - [Documentation index](docs/README.md)
91
- - [v1 contract](docs/reference/contracts/v1-contract.md)
92
- - [Stable command surface](docs/reference/commands/stable-command-surface.md)
93
- - [Knowledge Rail](docs/rails/knowledge/knowledge-rail.md)
94
- - [Evidence Provenance Rail](docs/rails/evidence/evidence-provenance-rail.md)
95
- - [Agent QA Rail](docs/rails/evaluation/agent-qa-rail.md)
96
- - [Skill Rail 2.0](docs/rails/skills/skill-rail-2.md)
97
- - [Tasklet Rail](docs/rails/tasklets/tasklet-rail.md)
65
+ - [v1.5 commands](docs/reference/commands/v1.5-commands.md) · [v1.6 commands](docs/reference/commands/v1.6-commands.md)
66
+ - [Verified control plane](docs/architecture/verified-control-plane.md)
67
+ - [Threat model](docs/security/threat-model.md)
68
+ - [Migration to v1.5](docs/getting-started/migration-v1.5.md) · [Migration to v1.6](docs/getting-started/migration-v1.6.md)
69
+ - [Implementation tracker](docs/roadmap/verified-control-plane-implementation-tracker.md)
98
70
  - [Roadmap](ROADMAP.md)
99
71
 
100
- ## Roadmap
101
-
102
- v1.4.0 combines Knowledge, Evidence, Evaluation, Skills and Tasklets into one coherent local pipeline. The former v1.3.0 scope is absorbed into v1.4.0 so source-backed knowledge and provenance ship with their evaluation and reusable-work contracts.
103
-
104
- Next directions:
105
-
106
- - v1.5.0: Governance and Cost Rail
107
- - v1.6.0: Optional Conductor experiments behind explicit approval gates
108
-
109
- See [Future Rails](docs/roadmap/future-rails-index.md).
110
-
111
- ## Development
72
+ ## Development and release gates
112
73
 
113
74
  ```bash
114
- npm install
115
- npm run typecheck
75
+ npm ci
116
76
  npm run build
77
+ npm run typecheck
117
78
  npm test
118
79
  npm run docs:check
119
- npm audit --omit=dev
80
+ npm audit
81
+ node dist/cli.js mcp smoke
82
+ node dist/cli.js self architecture --check
83
+ cargo test --manifest-path native/soturail-native/Cargo.toml
120
84
  npm run release:check
121
85
  ```
122
86
 
123
- Tests are local and deterministic. No network is required for normal commands or test suites.
124
-
125
87
  ## License
126
88
 
127
89
  Apache-2.0. See [LICENSE](LICENSE).
package/dist/cli.js CHANGED
@@ -6,6 +6,9 @@ import { Command } from "commander";
6
6
  import { registerBenchCommand } from "./commands/bench.js";
7
7
  import { registerBrainCommand } from "./commands/brain.js";
8
8
  import { registerAgentsCommand } from "./commands/agents.js";
9
+ import { registerCapabilitiesCommand } from "./commands/capabilities.js";
10
+ import { registerCandidatesCommand } from "./commands/candidates.js";
11
+ import { registerContractCommand } from "./commands/contract.js";
9
12
  import { registerDedupeCommand } from "./commands/dedupe.js";
10
13
  import { registerDiagramCommand } from "./commands/diagram.js";
11
14
  import { registerDoctorCommand } from "./commands/doctor.js";
@@ -18,6 +21,7 @@ import { registerFeatureCommand } from "./commands/feature.js";
18
21
  import { registerHarnessCommand } from "./commands/harness.js";
19
22
  import { registerHandoffCommand } from "./commands/handoff.js";
20
23
  import { registerHooksCommand } from "./commands/hooks.js";
24
+ import { registerGovernanceCommand } from "./commands/governance.js";
21
25
  import { registerIngestCommand } from "./commands/ingest.js";
22
26
  import { registerIndexCommand } from "./commands/index.js";
23
27
  import { registerKnowledgeCommand } from "./commands/knowledge.js";
@@ -30,6 +34,7 @@ import { registerContextCommand } from "./commands/context.js";
30
34
  import { registerDashboardCommand } from "./commands/dashboard.js";
31
35
  import { registerReadCommand } from "./commands/read.js";
32
36
  import { registerPolicyCommand } from "./commands/policy.js";
37
+ import { registerRawCommand } from "./commands/raw.js";
33
38
  import { registerRunCommand } from "./commands/run.js";
34
39
  import { registerReportCommand } from "./commands/report.js";
35
40
  import { registerReverseCommand } from "./commands/reverse.js";
@@ -56,6 +61,9 @@ export function buildProgram() {
56
61
  registerInitCommand(program);
57
62
  registerAgentsCommand(program);
58
63
  registerBrainCommand(program);
64
+ registerCapabilitiesCommand(program);
65
+ registerCandidatesCommand(program);
66
+ registerContractCommand(program);
59
67
  registerIndexCommand(program);
60
68
  registerReadCommand(program);
61
69
  registerRunCommand(program);
@@ -73,6 +81,7 @@ export function buildProgram() {
73
81
  registerHarnessCommand(program);
74
82
  registerHandoffCommand(program);
75
83
  registerHooksCommand(program);
84
+ registerGovernanceCommand(program);
76
85
  registerIngestCommand(program);
77
86
  registerKnowledgeCommand(program);
78
87
  registerSpecCommand(program);
@@ -81,6 +90,7 @@ export function buildProgram() {
81
90
  registerNativeCommand(program);
82
91
  registerObsCommand(program);
83
92
  registerPolicyCommand(program);
93
+ registerRawCommand(program);
84
94
  registerReportCommand(program);
85
95
  registerRulesCommand(program);
86
96
  registerReverseCommand(program);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAClC,OAAO;SACJ,IAAI,CAAC,UAAU,CAAC;SAChB,WAAW,CAAC,oDAAoD,CAAC;SACjE,OAAO,CAAC,gBAAgB,CAAC;SACzB,kBAAkB,EAAE,CAAC;IAExB,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAEjC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAiB;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAA+B,EAAE,WAAmB;IAClF,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,OAAO,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACrD,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;AAC9G,CAAC;AAED,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnD,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;IAClD,YAAY,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC/D,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,OAAO,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
1
  import type { Command } from "commander";
2
2
  export declare function registerAgentsCommand(program: Command): void;
3
+ export declare function warnDeprecatedHost(options: {
4
+ agent?: unknown;
5
+ host?: unknown;
6
+ }): void;
@@ -1,3 +1,4 @@
1
+ import { hostDeprecationNotice } from "../core/host-adapters.js";
1
2
  import { explainAgents, lintAgentDocs, splitContextPlan } from "../core/agent-docs-hygiene.js";
2
3
  import { agentDoctor, agentHostDoctor, agentHostDoctorAll, exportAgents, installAgent, renderAgentHostDoctor, renderAgentHostDoctorSummary, uninstallAgent } from "../core/agent-exporter.js";
3
4
  import { formatAgentList } from "../core/agent-registry.js";
@@ -5,6 +6,7 @@ import { agentStatus, buildAgentHostMatrix, listAgentCapabilities, renderAgentCa
5
6
  import { SOTURAIL_VERSION } from "../core/version.js";
6
7
  export function registerAgentsCommand(program) {
7
8
  const agents = program.command("agents").description("Export and install safe agent integration profiles.");
9
+ agents.hook("preAction", (_command, action) => warnDeprecatedHost(action.opts()));
8
10
  agents.command("list").description("List supported agent integration profiles.").action(() => {
9
11
  process.stdout.write(formatAgentList());
10
12
  });
@@ -119,4 +121,11 @@ export function registerAgentsCommand(program) {
119
121
  process.stdout.write(await uninstallAgent(options.agent ?? "all", options.dryRun === undefined ? {} : { dryRun: options.dryRun }));
120
122
  });
121
123
  }
124
+ export function warnDeprecatedHost(options) {
125
+ for (const value of [options.agent, options.host]) {
126
+ const notice = typeof value === "string" ? hostDeprecationNotice(value) : null;
127
+ if (notice)
128
+ process.stderr.write(`${notice}\n`);
129
+ }
130
+ }
122
131
  //# sourceMappingURL=agents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerCandidatesCommand(program: Command): void;
@@ -0,0 +1,22 @@
1
+ import { promises as fs } from "node:fs";
2
+ import { listCandidates, recordCandidate } from "../core/candidate-store.js";
3
+ import { WorkspaceGuard } from "../core/workspace-guard.js";
4
+ export function registerCandidatesCommand(program) {
5
+ const candidates = program.command("candidates").description("Record and list Semantic Worker candidate artifacts (never verified by recording).");
6
+ candidates.command("record").description("Record one candidate draft from a JSON file.").requiredOption("--file <path>", "Project-relative JSON file with the candidate draft").option("--json", "Print JSON").action(async (options) => {
7
+ const file = await new WorkspaceGuard(process.cwd()).assertAllowedRead(options.file);
8
+ const stored = await recordCandidate(JSON.parse(await fs.readFile(file, "utf8")), process.cwd());
9
+ if (options.json)
10
+ process.stdout.write(`${JSON.stringify(stored, null, 2)}\n`);
11
+ else
12
+ process.stdout.write(`Recorded ${stored.candidate.kind} ${stored.candidate.id} [${stored.candidate.verificationState}] at ${stored.path}\n`);
13
+ });
14
+ candidates.command("list").description("List recorded candidates with workspace freshness.").option("--kind <kind>", "claim, impact, decision, question or interpretation").option("--json", "Print JSON").action(async (options) => {
15
+ const views = await listCandidates(process.cwd(), options.kind ? { kind: options.kind } : {});
16
+ if (options.json)
17
+ process.stdout.write(`${JSON.stringify({ schemaVersion: "soturail.candidate.list.v1", candidates: views }, null, 2)}\n`);
18
+ else
19
+ process.stdout.write(["SotuRail candidates", `count: ${views.length}`, ...views.map((view) => `- ${view.candidate.id} ${view.candidate.kind} [${view.candidate.verificationState}, ${view.freshness}] ${view.path}`), ""].join("\n"));
20
+ });
21
+ }
22
+ //# sourceMappingURL=candidates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidates.js","sourceRoot":"","sources":["../../src/commands/candidates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,oFAAoF,CAAC,CAAC;IAEnJ,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,8CAA8C,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE,qDAAqD,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAyC,EAAE,EAAE;QACxQ,MAAM,IAAI,GAAG,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;;YAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,iBAAiB,QAAQ,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IACpJ,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,oDAAoD,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,qDAAqD,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAA0C,EAAE,EAAE;QACrQ,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,4BAA4B,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;;YACtI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,UAAU,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,iBAAiB,KAAK,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7O,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerCapabilitiesCommand(program: Command): void;
@@ -0,0 +1,40 @@
1
+ import { CAPABILITY_REGISTRY, capabilityRegistryDigest, inspectToolCapabilities } from "../core/capability-registry.js";
2
+ import { capabilityCatalog, describeCapability } from "../core/capability-descriptor.js";
3
+ export function registerCapabilitiesCommand(program) {
4
+ const capabilities = program.command("capabilities").description("Inspect the canonical capability and tool registry.");
5
+ capabilities.command("list").option("--json", "Print JSON").option("--locale <locale>", "Presentation locale for titles", "en").action(async (options) => {
6
+ const catalog = capabilityCatalog(options.locale);
7
+ // v1 fields are kept unchanged; the v2 catalog is additive.
8
+ if (options.json)
9
+ process.stdout.write(`${JSON.stringify({ registryDigest: capabilityRegistryDigest(), capabilities: CAPABILITY_REGISTRY, catalog }, null, 2)}\n`);
10
+ else
11
+ process.stdout.write(["SotuRail capabilities", `registry_digest: ${capabilityRegistryDigest()}`, `descriptor_digest: ${catalog.descriptorDigest}`, ...catalog.capabilities.map((item) => `- ${item.id} [${item.maturity}, ${item.availability}] ${item.title} cli=${item.cli ?? "none"} mcp=${item.mcp ?? "no"}`), ""].join("\n"));
12
+ });
13
+ capabilities.command("describe").argument("<id>", "Capability ID").option("--json", "Print JSON").option("--locale <locale>", "Presentation locale", "en").action(async (id, options) => {
14
+ const descriptor = describeCapability(id, options.locale);
15
+ if (options.json) {
16
+ process.stdout.write(`${JSON.stringify(descriptor, null, 2)}\n`);
17
+ return;
18
+ }
19
+ process.stdout.write([
20
+ `${descriptor.id} — ${descriptor.presentation.title}`,
21
+ descriptor.presentation.summary,
22
+ `maturity: ${descriptor.maturity}`,
23
+ `availability: ${descriptor.availability}`,
24
+ `surfaces: skill=${descriptor.surfaces.skill} mcp=${descriptor.surfaces.mcp?.tool ?? "none"} cli=${descriptor.surfaces.cli?.command ?? "none"}`,
25
+ `side_effects: ${descriptor.sideEffects.scope} approval_required=${descriptor.approvalRequired}`,
26
+ `trust: provenance=${descriptor.trust.provenanceRequired} freshness=${descriptor.trust.freshnessRequired} evidence=${descriptor.trust.evidenceRequired} agent_result_state=${descriptor.trust.agentResultState}`,
27
+ `providers: ${descriptor.providers.class} [${descriptor.providers.candidates.map((item) => `${item.id}:${item.status}`).join(", ") || "none"}] fallback=${descriptor.providers.fallback}`,
28
+ ...descriptor.localization.limitations.map((item) => `limitation: ${item}`),
29
+ ""
30
+ ].join("\n"));
31
+ });
32
+ capabilities.command("tools").option("--json", "Print JSON").action(async (options) => {
33
+ const tools = await inspectToolCapabilities();
34
+ if (options.json)
35
+ process.stdout.write(`${JSON.stringify(tools, null, 2)}\n`);
36
+ else
37
+ process.stdout.write(["SotuRail capability tools", ...tools.map((item) => `- ${item.tool} version=${item.version} ready=${item.ready} path=${item.path} provider=${item.provider} verification=${item.verification} risk=${item.risk}`), ""].join("\n"));
38
+ });
39
+ }
40
+ //# sourceMappingURL=capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/commands/capabilities.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import path from "node:path";
2
2
  import { buildAllContextPacks, buildContextPack, contextDoctor, explainContextPacks } from "../core/context-pack.js";
3
- import { buildRolePack, contextBudget, offloadContext, parseRolePack, pruneContext, renderSelection, restoreOffload, routeContext, selectContext } from "../core/context-intelligence.js";
3
+ import { buildRolePack, contextBudget, offloadContext, parseContextExpert, parseRolePack, pruneContext, renderSelection, restoreOffload, routeContext, selectContext } from "../core/context-intelligence.js";
4
4
  const targets = ["claude", "codex", "gemini", "cursor", "antigravity", "generic", "all"];
5
5
  export function registerContextCommand(program) {
6
6
  const context = program.command("context").description("Build cache-friendly prompt/context packs.");
@@ -33,8 +33,11 @@ export function registerContextCommand(program) {
33
33
  .description("Select task-relevant local files and memory with reasons.")
34
34
  .requiredOption("--query <query>", "Task description")
35
35
  .option("--limit <count>", "Maximum selected items", "10")
36
+ .option("--expert <expert>", "Agent-declared context expert (code, docs, release, security, workflow, memory, research)")
37
+ .option("--role <role>", "Agent-declared role pack (planner, executor, reviewer, release-manager, researcher)")
36
38
  .action(async (options) => {
37
- process.stdout.write(renderSelection(await selectContext(options.query, Number.parseInt(options.limit, 10) || 10)));
39
+ const declared = { ...(options.expert ? { expert: parseContextExpert(options.expert) } : {}), ...(options.role ? { role: parseRolePack(options.role) } : {}) };
40
+ process.stdout.write(renderSelection(await selectContext(options.query, Number.parseInt(options.limit, 10) || 10, process.cwd(), declared)));
38
41
  });
39
42
  context
40
43
  .command("prune")
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerContractCommand(program: Command): void;
@@ -0,0 +1,111 @@
1
+ import path from "node:path";
2
+ import { createInterface } from "node:readline/promises";
3
+ import { ArtifactRegistry } from "../core/artifact-registry.js";
4
+ import { artifactStore } from "../core/artifact-store.js";
5
+ import { ChangeContractSchema, createChangeContract, evaluateReadiness } from "../core/change-contract.js";
6
+ import { buildReadinessSnapshot, readContractFile, recordContractAttestation, reviseChangeContract } from "../core/contract-lifecycle.js";
7
+ const RISKS = ["low", "medium", "high", "critical"];
8
+ export function registerContractCommand(program) {
9
+ const contract = program.command("contract").description("Create, revise, attest and verify change contracts.");
10
+ contract.command("create")
11
+ .argument("<id>", "Stable contract id")
12
+ .requiredOption("--title <title>", "Contract title")
13
+ .requiredOption("--intent <intent>", "Requested outcome")
14
+ .requiredOption("--criterion <criterion>", "Acceptance criterion")
15
+ .option("--risk <risk>", "low, medium, high or critical", "medium")
16
+ .option("--check <command>", "Required verification command")
17
+ .option("--criterion-check <command>", "Command whose current passing run proves the criterion (objective criteria)")
18
+ .option("--runtime-check <command...>", "Commands that provide runtime evidence")
19
+ .option("--scope <paths...>", "Project-relative path prefixes the change may touch")
20
+ .option("--source <paths...>", "Requirement/source files the contract is based on (bound by digest)")
21
+ .option("--human-approval", "Require human approval")
22
+ .action(async (id, options) => {
23
+ if (!/^[a-zA-Z0-9._-]+$/.test(id))
24
+ throw new Error("Contract id may contain only letters, digits, dot, underscore and dash.");
25
+ if (!RISKS.includes(options.risk))
26
+ throw new Error(`Risk must be one of: ${RISKS.join(", ")}.`);
27
+ const created = await createChangeContract({
28
+ id,
29
+ title: options.title,
30
+ intent: options.intent,
31
+ risk: options.risk,
32
+ decisions: [],
33
+ acceptanceCriteria: [options.criterion],
34
+ requiredChecks: options.check ? [options.check] : [],
35
+ evidencePolicy: { runtimeEvidenceRequired: options.risk === "critical", independentReviewRequired: options.risk === "high" || options.risk === "critical", humanApprovalRequired: options.humanApproval === true },
36
+ ...(options.criterionCheck ? { criteriaEvidence: { [options.criterion]: [options.criterionCheck] } } : {}),
37
+ ...(options.runtimeCheck?.length ? { runtimeChecks: options.runtimeCheck } : {}),
38
+ ...(options.scope?.length ? { scope: options.scope } : {}),
39
+ ...(options.source?.length ? { sources: options.source } : {})
40
+ });
41
+ const target = new ArtifactRegistry().resolve("contracts", `${id}.json`);
42
+ await artifactStore.writeJson(target, created, ChangeContractSchema);
43
+ process.stdout.write(`Change contract created: ${path.relative(process.cwd(), target)}\nbaseline: ${created.workspaceFingerprint}\n`);
44
+ });
45
+ contract.command("revise")
46
+ .description("Create a new contract revision with lineage; the previous revision is never modified.")
47
+ .argument("<file>", "Project-relative contract JSON to supersede")
48
+ .requiredOption("--reason <reason>", "Why the foundation changed")
49
+ .option("--intent <intent>", "New intent")
50
+ .option("--criterion <criterion...>", "Replacement acceptance criteria")
51
+ .option("--check <command...>", "Replacement required checks")
52
+ .option("--risk <risk>", "New risk")
53
+ .option("--scope <paths...>", "Replacement scope")
54
+ .option("--source <paths...>", "Replacement source files")
55
+ .action(async (file, options) => {
56
+ if (options.risk && !RISKS.includes(options.risk))
57
+ throw new Error(`Risk must be one of: ${RISKS.join(", ")}.`);
58
+ const { contract: previous } = await readContractFile(file);
59
+ const revised = await reviseChangeContract(previous, {
60
+ ...(options.intent ? { intent: options.intent } : {}),
61
+ ...(options.criterion ? { acceptanceCriteria: options.criterion } : {}),
62
+ ...(options.check ? { requiredChecks: options.check } : {}),
63
+ ...(options.risk ? { risk: options.risk } : {}),
64
+ ...(options.scope ? { scope: options.scope } : {}),
65
+ ...(options.source ? { sources: options.source } : {})
66
+ }, options.reason);
67
+ process.stdout.write(`Contract revision ${revised.contract.revision} written: ${revised.path}\nsupersedes: ${revised.contract.supersedes?.path}\nbaseline: ${revised.contract.workspaceFingerprint}\n`);
68
+ });
69
+ contract.command("attest")
70
+ .description("Record a human attestation receipt (interactive terminal only).")
71
+ .argument("<file>", "Project-relative contract JSON")
72
+ .requiredOption("--kind <kind>", "human-approval, independent-review or criterion")
73
+ .requiredOption("--by <name>", "Name of the human attesting")
74
+ .option("--criterion <criterion>", "Acceptance criterion being attested (with --kind criterion)")
75
+ .action(async (file, options) => {
76
+ if (!["human-approval", "independent-review", "criterion"].includes(options.kind))
77
+ throw new Error("Attestation kind must be human-approval, independent-review or criterion.");
78
+ const { contract: parsed } = await readContractFile(file);
79
+ const interactive = process.stdin.isTTY === true && process.stdout.isTTY === true;
80
+ let confirmed;
81
+ if (interactive) {
82
+ const prompt = createInterface({ input: process.stdin, output: process.stdout });
83
+ confirmed = (await prompt.question(`Attest ${options.kind} for contract "${parsed.id}" revision ${parsed.revision ?? 1} as ${options.by}. Type the contract id to confirm: `)).trim();
84
+ prompt.close();
85
+ }
86
+ const result = await recordContractAttestation(parsed, { kind: options.kind, by: options.by, ...(options.criterion ? { criterion: options.criterion } : {}) }, process.cwd(), { interactive, ...(confirmed !== undefined ? { confirmedContractId: confirmed } : {}) });
87
+ process.stdout.write(`Attestation recorded: ${result.path}\nbound to workspace: ${result.receipt.workspaceFingerprint}\n`);
88
+ });
89
+ contract.command("verify")
90
+ .argument("<file>", "Project-relative contract JSON")
91
+ .option("--criterion-passed <criterion>", "Assertion only: must be backed by recorded evidence or a human attestation")
92
+ .option("--check-passed <check>", "Assertion only: must be backed by a current recorded passing run")
93
+ .option("--runtime-evidence", "Assertion only: must be backed by declared runtime checks")
94
+ .option("--independent-review", "Assertion only: must be backed by an attestation receipt")
95
+ .option("--human-approved", "Assertion only: must be backed by an attestation receipt")
96
+ .action(async (file, options) => {
97
+ const { contract: parsed } = await readContractFile(file);
98
+ const snapshot = await buildReadinessSnapshot(parsed, process.cwd(), {
99
+ criteria: options.criterionPassed ? [options.criterionPassed] : [],
100
+ checks: options.checkPassed ? [options.checkPassed] : [],
101
+ runtimeEvidence: options.runtimeEvidence === true,
102
+ independentReview: options.independentReview === true,
103
+ humanApproval: options.humanApproved === true
104
+ });
105
+ const verdict = evaluateReadiness(parsed, snapshot);
106
+ process.stdout.write(`${JSON.stringify({ ...verdict, integrity: snapshot.integrity, checkEvidence: snapshot.checkEvidence, satisfiedBy: snapshot.satisfiedBy, assertions: snapshot.assertions }, null, 2)}\n`);
107
+ if (verdict.verdict !== "ready")
108
+ process.exitCode = 1;
109
+ });
110
+ }
111
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/commands/contract.ts"],"names":[],"mappings":"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"}