soturail 1.4.0 → 1.5.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.
- package/LICENSE +1 -1
- package/README.md +34 -82
- package/dist/cli.js +8 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/capabilities.d.ts +2 -0
- package/dist/commands/capabilities.js +18 -0
- package/dist/commands/capabilities.js.map +1 -0
- package/dist/commands/contract.d.ts +2 -0
- package/dist/commands/contract.js +61 -0
- package/dist/commands/contract.js.map +1 -0
- package/dist/commands/governance.d.ts +2 -0
- package/dist/commands/governance.js +31 -0
- package/dist/commands/governance.js.map +1 -0
- package/dist/commands/mcp.js +2 -2
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/raw.d.ts +2 -0
- package/dist/commands/raw.js +27 -0
- package/dist/commands/raw.js.map +1 -0
- package/dist/commands/read.js +2 -2
- package/dist/commands/read.js.map +1 -1
- package/dist/commands/run.js +12 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/core/artifact-envelope.d.ts +63 -0
- package/dist/core/artifact-envelope.js +46 -0
- package/dist/core/artifact-envelope.js.map +1 -0
- package/dist/core/artifact-registry.d.ts +10 -0
- package/dist/core/artifact-registry.js +35 -0
- package/dist/core/artifact-registry.js.map +1 -0
- package/dist/core/artifact-store.d.ts +14 -0
- package/dist/core/artifact-store.js +161 -0
- package/dist/core/artifact-store.js.map +1 -0
- package/dist/core/capability-registry.d.ts +50 -0
- package/dist/core/capability-registry.js +72 -0
- package/dist/core/capability-registry.js.map +1 -0
- package/dist/core/change-contract.d.ts +56 -0
- package/dist/core/change-contract.js +61 -0
- package/dist/core/change-contract.js.map +1 -0
- package/dist/core/code-health.js +53 -0
- package/dist/core/code-health.js.map +1 -1
- package/dist/core/config.d.ts +32 -78
- package/dist/core/config.js +29 -11
- package/dist/core/config.js.map +1 -1
- package/dist/core/context-artifact.d.ts +37 -0
- package/dist/core/context-artifact.js +56 -0
- package/dist/core/context-artifact.js.map +1 -0
- package/dist/core/context-pack.d.ts +4 -0
- package/dist/core/context-pack.js +20 -7
- package/dist/core/context-pack.js.map +1 -1
- package/dist/core/evidence-provenance.d.ts +4 -1
- package/dist/core/evidence-provenance.js +40 -12
- package/dist/core/evidence-provenance.js.map +1 -1
- package/dist/core/execution-envelope.d.ts +60 -0
- package/dist/core/execution-envelope.js +52 -0
- package/dist/core/execution-envelope.js.map +1 -0
- package/dist/core/governance.d.ts +50 -0
- package/dist/core/governance.js +69 -0
- package/dist/core/governance.js.map +1 -0
- package/dist/core/knowledge-rail.d.ts +1 -0
- package/dist/core/knowledge-rail.js +43 -23
- package/dist/core/knowledge-rail.js.map +1 -1
- package/dist/core/mcp-server.d.ts +13 -2
- package/dist/core/mcp-server.js +58 -35
- package/dist/core/mcp-server.js.map +1 -1
- package/dist/core/mcp-tools.d.ts +9 -0
- package/dist/core/mcp-tools.js +58 -36
- package/dist/core/mcp-tools.js.map +1 -1
- package/dist/core/raw-lifecycle.d.ts +21 -0
- package/dist/core/raw-lifecycle.js +94 -0
- package/dist/core/raw-lifecycle.js.map +1 -0
- package/dist/core/raw-store.d.ts +6 -0
- package/dist/core/raw-store.js +4 -1
- package/dist/core/raw-store.js.map +1 -1
- package/dist/core/release-preflight.js +1 -1
- package/dist/core/release-preflight.js.map +1 -1
- package/dist/core/run-manifest.d.ts +80 -0
- package/dist/core/run-manifest.js +43 -0
- package/dist/core/run-manifest.js.map +1 -0
- package/dist/core/run-workspace.js +7 -3
- package/dist/core/run-workspace.js.map +1 -1
- package/dist/core/skill-schema.d.ts +23 -33
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/dist/core/workspace-fingerprint.d.ts +20 -0
- package/dist/core/workspace-fingerprint.js +89 -0
- package/dist/core/workspace-fingerprint.js.map +1 -0
- package/dist/core/workspace-guard.d.ts +29 -0
- package/dist/core/workspace-guard.js +141 -0
- package/dist/core/workspace-guard.js.map +1 -0
- package/docs/README.md +14 -0
- package/docs/architecture/architecture.md +46 -35
- package/docs/architecture/artifact-model-and-lineage.md +30 -0
- package/docs/architecture/context-architecture.md +29 -0
- package/docs/architecture/contracts-and-verification.md +32 -0
- package/docs/architecture/governance-model.md +27 -0
- package/docs/architecture/provider-architecture.md +29 -0
- package/docs/architecture/verified-control-plane.md +53 -0
- package/docs/audits/v1.5.0-preimplementation-audit.md +64 -0
- package/docs/getting-started/migration-v1.5.md +40 -0
- package/docs/rails/evaluation/benchmarking.md +28 -329
- package/docs/rails/governance/governance-cost-rail.md +4 -4
- package/docs/rails/hosts/mcp.md +8 -8
- package/docs/reference/commands/v1.5-commands.md +46 -0
- package/docs/releases/README.md +2 -0
- package/docs/releases/RELEASE_NOTES_v1.0.1.md +1 -1
- package/docs/releases/RELEASE_NOTES_v1.5.0.md +72 -0
- package/docs/roadmap/verified-control-plane-implementation-tracker.md +81 -0
- package/docs/security/security-model.md +21 -89
- package/docs/security/threat-model.md +33 -0
- package/package.json +8 -4
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
|
[](https://github.com/Soturine/soturail/actions/workflows/ci.yml)
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
|
|
7
|
-
SotuRail is a local-first
|
|
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,64 @@ soturail --version
|
|
|
14
16
|
npx soturail --help
|
|
15
17
|
```
|
|
16
18
|
|
|
17
|
-
SotuRail requires Node.js
|
|
19
|
+
SotuRail v1.5 requires Node.js 22 or newer. TypeScript is the portable default; Rust acceleration remains optional.
|
|
18
20
|
|
|
19
|
-
##
|
|
21
|
+
## Five-minute workflow
|
|
20
22
|
|
|
21
23
|
```bash
|
|
22
|
-
soturail
|
|
23
|
-
soturail
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
## Stable Rails
|
|
33
|
-
|
|
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 |
|
|
42
|
-
|
|
43
|
-
## Main Commands
|
|
44
|
-
|
|
45
|
-
```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
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
See the [documentation index](docs/README.md) and [usage guide](docs/getting-started/usage.md) for the full surface.
|
|
63
|
-
|
|
64
|
-
## Safety Model
|
|
31
|
+
Generated state stays local under `.soturail/`. Use `soturail run -- <command...>` for recoverable logs and `soturail expand <raw_id>` for redacted recovery.
|
|
65
32
|
|
|
66
|
-
|
|
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.
|
|
33
|
+
## Core architecture
|
|
72
34
|
|
|
73
|
-
|
|
35
|
+
| Layer | Responsibility |
|
|
36
|
+
|---|---|
|
|
37
|
+
| Integrity | WorkspaceGuard, Artifact Registry/Store/Envelope, fingerprints, atomic recovery |
|
|
38
|
+
| Context | progressive reads, source-backed knowledge, hard-budget context artifacts |
|
|
39
|
+
| Contracts | Change Contract, evidence policy, readiness and fidelity inputs |
|
|
40
|
+
| Governance | capability registry/epochs, NativeMinimal provider, Authority + Readiness Dual Gate |
|
|
41
|
+
| Execution evidence | exact-digest Execution Envelope, Run Manifest, freshness and provenance |
|
|
42
|
+
| Adapters | typed MCP and replaceable governance/structural/docs/runtime provider boundaries |
|
|
74
43
|
|
|
75
|
-
|
|
44
|
+
The official MCP SDK serves a typed, small, capability-mapped surface. It exposes neither arbitrary shell execution nor caller-controlled raw-log authorization.
|
|
76
45
|
|
|
77
|
-
|
|
46
|
+
## Maturity and safety
|
|
78
47
|
|
|
79
|
-
|
|
80
|
-
soturail agents matrix
|
|
81
|
-
soturail agents export --host codex
|
|
82
|
-
soturail report agent --agent codex
|
|
83
|
-
```
|
|
48
|
+
The v1.5 deterministic foundation is implemented and tested. AGT/ACS integration, general schema migrations, structural graph providers, Evidence Receipts, SQLite/FTS, vectors, and Conductor remain explicitly deferred.
|
|
84
49
|
|
|
85
|
-
|
|
50
|
+
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
51
|
|
|
87
52
|
## Documentation
|
|
88
53
|
|
|
89
54
|
- [Quickstart](docs/getting-started/quickstart.md)
|
|
90
|
-
- [
|
|
91
|
-
- [
|
|
92
|
-
- [
|
|
93
|
-
- [
|
|
94
|
-
- [
|
|
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)
|
|
55
|
+
- [v1.5 commands](docs/reference/commands/v1.5-commands.md)
|
|
56
|
+
- [Verified control plane](docs/architecture/verified-control-plane.md)
|
|
57
|
+
- [Threat model](docs/security/threat-model.md)
|
|
58
|
+
- [Migration to v1.5](docs/getting-started/migration-v1.5.md)
|
|
59
|
+
- [Implementation tracker](docs/roadmap/verified-control-plane-implementation-tracker.md)
|
|
98
60
|
- [Roadmap](ROADMAP.md)
|
|
99
61
|
|
|
100
|
-
##
|
|
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
|
|
62
|
+
## Development and release gates
|
|
112
63
|
|
|
113
64
|
```bash
|
|
114
|
-
npm
|
|
115
|
-
npm run typecheck
|
|
65
|
+
npm ci
|
|
116
66
|
npm run build
|
|
67
|
+
npm run typecheck
|
|
117
68
|
npm test
|
|
118
69
|
npm run docs:check
|
|
119
|
-
npm audit
|
|
70
|
+
npm audit
|
|
71
|
+
node dist/cli.js mcp smoke
|
|
72
|
+
node dist/cli.js self architecture --check
|
|
73
|
+
cargo test --manifest-path native/soturail-native/Cargo.toml
|
|
120
74
|
npm run release:check
|
|
121
75
|
```
|
|
122
76
|
|
|
123
|
-
Tests are local and deterministic. No network is required for normal commands or test suites.
|
|
124
|
-
|
|
125
77
|
## License
|
|
126
78
|
|
|
127
79
|
Apache-2.0. See [LICENSE](LICENSE).
|
package/dist/cli.js
CHANGED
|
@@ -6,6 +6,8 @@ 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 { registerContractCommand } from "./commands/contract.js";
|
|
9
11
|
import { registerDedupeCommand } from "./commands/dedupe.js";
|
|
10
12
|
import { registerDiagramCommand } from "./commands/diagram.js";
|
|
11
13
|
import { registerDoctorCommand } from "./commands/doctor.js";
|
|
@@ -18,6 +20,7 @@ import { registerFeatureCommand } from "./commands/feature.js";
|
|
|
18
20
|
import { registerHarnessCommand } from "./commands/harness.js";
|
|
19
21
|
import { registerHandoffCommand } from "./commands/handoff.js";
|
|
20
22
|
import { registerHooksCommand } from "./commands/hooks.js";
|
|
23
|
+
import { registerGovernanceCommand } from "./commands/governance.js";
|
|
21
24
|
import { registerIngestCommand } from "./commands/ingest.js";
|
|
22
25
|
import { registerIndexCommand } from "./commands/index.js";
|
|
23
26
|
import { registerKnowledgeCommand } from "./commands/knowledge.js";
|
|
@@ -30,6 +33,7 @@ import { registerContextCommand } from "./commands/context.js";
|
|
|
30
33
|
import { registerDashboardCommand } from "./commands/dashboard.js";
|
|
31
34
|
import { registerReadCommand } from "./commands/read.js";
|
|
32
35
|
import { registerPolicyCommand } from "./commands/policy.js";
|
|
36
|
+
import { registerRawCommand } from "./commands/raw.js";
|
|
33
37
|
import { registerRunCommand } from "./commands/run.js";
|
|
34
38
|
import { registerReportCommand } from "./commands/report.js";
|
|
35
39
|
import { registerReverseCommand } from "./commands/reverse.js";
|
|
@@ -56,6 +60,8 @@ export function buildProgram() {
|
|
|
56
60
|
registerInitCommand(program);
|
|
57
61
|
registerAgentsCommand(program);
|
|
58
62
|
registerBrainCommand(program);
|
|
63
|
+
registerCapabilitiesCommand(program);
|
|
64
|
+
registerContractCommand(program);
|
|
59
65
|
registerIndexCommand(program);
|
|
60
66
|
registerReadCommand(program);
|
|
61
67
|
registerRunCommand(program);
|
|
@@ -73,6 +79,7 @@ export function buildProgram() {
|
|
|
73
79
|
registerHarnessCommand(program);
|
|
74
80
|
registerHandoffCommand(program);
|
|
75
81
|
registerHooksCommand(program);
|
|
82
|
+
registerGovernanceCommand(program);
|
|
76
83
|
registerIngestCommand(program);
|
|
77
84
|
registerKnowledgeCommand(program);
|
|
78
85
|
registerSpecCommand(program);
|
|
@@ -81,6 +88,7 @@ export function buildProgram() {
|
|
|
81
88
|
registerNativeCommand(program);
|
|
82
89
|
registerObsCommand(program);
|
|
83
90
|
registerPolicyCommand(program);
|
|
91
|
+
registerRawCommand(program);
|
|
84
92
|
registerReportCommand(program);
|
|
85
93
|
registerRulesCommand(program);
|
|
86
94
|
registerReverseCommand(program);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CAPABILITY_REGISTRY, capabilityRegistryDigest, inspectToolCapabilities } from "../core/capability-registry.js";
|
|
2
|
+
export function registerCapabilitiesCommand(program) {
|
|
3
|
+
const capabilities = program.command("capabilities").description("Inspect the canonical capability and tool registry.");
|
|
4
|
+
capabilities.command("list").option("--json", "Print JSON").action(async (options) => {
|
|
5
|
+
if (options.json)
|
|
6
|
+
process.stdout.write(`${JSON.stringify({ registryDigest: capabilityRegistryDigest(), capabilities: CAPABILITY_REGISTRY }, null, 2)}\n`);
|
|
7
|
+
else
|
|
8
|
+
process.stdout.write(["SotuRail capabilities", `registry_digest: ${capabilityRegistryDigest()}`, ...CAPABILITY_REGISTRY.map((item) => `- ${item.id} [${item.maturity}] cli=${item.cli?.command ?? "none"} mcp=${item.mcp.exposed ? item.mcp.tool : "no"}`), ""].join("\n"));
|
|
9
|
+
});
|
|
10
|
+
capabilities.command("tools").option("--json", "Print JSON").action(async (options) => {
|
|
11
|
+
const tools = await inspectToolCapabilities();
|
|
12
|
+
if (options.json)
|
|
13
|
+
process.stdout.write(`${JSON.stringify(tools, null, 2)}\n`);
|
|
14
|
+
else
|
|
15
|
+
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"));
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/commands/capabilities.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAExH,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,qDAAqD,CAAC,CAAC;IACxH,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QACvG,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,wBAAwB,EAAE,EAAE,YAAY,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;;YACrJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,uBAAuB,EAAE,oBAAoB,wBAAwB,EAAE,EAAE,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,SAAS,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI,MAAM,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnR,CAAC,CAAC,CAAC;IACH,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QACxG,MAAM,KAAK,GAAG,MAAM,uBAAuB,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,IAAI;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;;YACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,2BAA2B,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,QAAQ,iBAAiB,IAAI,CAAC,YAAY,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChQ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { promises as fs } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
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 { createWorkspaceFingerprint } from "../core/workspace-fingerprint.js";
|
|
7
|
+
import { WorkspaceGuard } from "../core/workspace-guard.js";
|
|
8
|
+
export function registerContractCommand(program) {
|
|
9
|
+
const contract = program.command("contract").description("Create and verify deterministic 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("--human-approval", "Require human approval")
|
|
18
|
+
.action(async (id, options) => {
|
|
19
|
+
if (!/^[a-zA-Z0-9._-]+$/.test(id))
|
|
20
|
+
throw new Error("Contract id may contain only letters, digits, dot, underscore and dash.");
|
|
21
|
+
const created = await createChangeContract({
|
|
22
|
+
id,
|
|
23
|
+
title: options.title,
|
|
24
|
+
intent: options.intent,
|
|
25
|
+
risk: options.risk,
|
|
26
|
+
decisions: [],
|
|
27
|
+
acceptanceCriteria: [options.criterion],
|
|
28
|
+
requiredChecks: options.check ? [options.check] : [],
|
|
29
|
+
evidencePolicy: { runtimeEvidenceRequired: options.risk === "critical", independentReviewRequired: options.risk === "high" || options.risk === "critical", humanApprovalRequired: options.humanApproval === true }
|
|
30
|
+
});
|
|
31
|
+
const target = new ArtifactRegistry().resolve("contracts", `${id}.json`);
|
|
32
|
+
await artifactStore.writeJson(target, created, ChangeContractSchema);
|
|
33
|
+
process.stdout.write(`Change contract created: ${path.relative(process.cwd(), target)}\n`);
|
|
34
|
+
});
|
|
35
|
+
contract.command("verify")
|
|
36
|
+
.argument("<file>", "Project-relative contract JSON")
|
|
37
|
+
.option("--criterion-passed <criterion>", "Satisfied acceptance criterion")
|
|
38
|
+
.option("--check-passed <check>", "Observed passing check")
|
|
39
|
+
.option("--runtime-evidence", "Runtime evidence is attached")
|
|
40
|
+
.option("--independent-review", "Independent review is attached")
|
|
41
|
+
.option("--human-approved", "Human approval is attached")
|
|
42
|
+
.action(async (file, options) => {
|
|
43
|
+
const absolute = await new WorkspaceGuard().assertAllowedRead(file);
|
|
44
|
+
const parsed = ChangeContractSchema.parse(JSON.parse(await fs.readFile(absolute, "utf8")));
|
|
45
|
+
const workspace = await createWorkspaceFingerprint();
|
|
46
|
+
const verdict = evaluateReadiness(parsed, {
|
|
47
|
+
workspaceFingerprint: workspace.fingerprint,
|
|
48
|
+
acceptanceCriteriaPassed: options.criterionPassed ? [options.criterionPassed] : [],
|
|
49
|
+
checksPassed: options.checkPassed ? [options.checkPassed] : [],
|
|
50
|
+
evidenceFreshness: "current",
|
|
51
|
+
runtimeEvidence: options.runtimeEvidence === true,
|
|
52
|
+
independentReview: options.independentReview === true,
|
|
53
|
+
humanApproval: options.humanApproved === true,
|
|
54
|
+
blockers: []
|
|
55
|
+
});
|
|
56
|
+
process.stdout.write(`${JSON.stringify(verdict, null, 2)}\n`);
|
|
57
|
+
if (verdict.verdict !== "ready")
|
|
58
|
+
process.exitCode = 1;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# 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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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { AgtAcsGovernanceProvider, NativeMinimalGovernanceProvider } from "../core/governance.js";
|
|
3
|
+
import { createWorkspaceFingerprint } from "../core/workspace-fingerprint.js";
|
|
4
|
+
export function registerGovernanceCommand(program) {
|
|
5
|
+
const governance = program.command("governance").description("Evaluate deterministic authority provider boundaries.");
|
|
6
|
+
governance.command("doctor").action(async () => {
|
|
7
|
+
const native = new NativeMinimalGovernanceProvider();
|
|
8
|
+
const agt = new AgtAcsGovernanceProvider();
|
|
9
|
+
process.stdout.write(`${JSON.stringify({ native: await native.health(), agtAcs: await agt.health(), validation: await native.validate() }, null, 2)}\n`);
|
|
10
|
+
});
|
|
11
|
+
governance.command("evaluate")
|
|
12
|
+
.requiredOption("--capability <id>", "Canonical capability id")
|
|
13
|
+
.requiredOption("--actor <id>", "Actor id")
|
|
14
|
+
.option("--payload <json>", "Evaluated payload JSON", "{}")
|
|
15
|
+
.option("--approved", "Record explicit approval")
|
|
16
|
+
.action(async (options) => {
|
|
17
|
+
const payload = JSON.parse(options.payload);
|
|
18
|
+
const workspace = await createWorkspaceFingerprint();
|
|
19
|
+
const result = await new NativeMinimalGovernanceProvider().evaluate("cli.evaluate", {
|
|
20
|
+
actor: { id: options.actor, type: "agent" },
|
|
21
|
+
capability: options.capability,
|
|
22
|
+
workspaceFingerprint: workspace.fingerprint,
|
|
23
|
+
approval: options.approved ? "approved" : "missing",
|
|
24
|
+
payloadDigest: createHash("sha256").update(JSON.stringify(payload)).digest("hex")
|
|
25
|
+
});
|
|
26
|
+
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
27
|
+
if (result.verdict !== "allow")
|
|
28
|
+
process.exitCode = 1;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=governance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/commands/governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAE9E,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,uDAAuD,CAAC,CAAC;IACtH,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC7C,MAAM,MAAM,GAAG,IAAI,+BAA+B,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3J,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC;SAC3B,cAAc,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;SAC9D,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC;SAC1C,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,EAAE,IAAI,CAAC;SAC1D,MAAM,CAAC,YAAY,EAAE,0BAA0B,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,OAAmF,EAAE,EAAE;QACpG,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAY,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,0BAA0B,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,+BAA+B,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE;YAClF,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;YAC3C,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,oBAAoB,EAAE,SAAS,CAAC,WAAW;YAC3C,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACnD,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAClF,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/commands/mcp.js
CHANGED
|
@@ -48,7 +48,7 @@ export function registerMcpCommand(program) {
|
|
|
48
48
|
process.stdout.write(`MCP config written: ${relativeToRoot(process.cwd(), filePath)}\n`);
|
|
49
49
|
process.stdout.write("Review this snippet before adding it to a host application.\n");
|
|
50
50
|
});
|
|
51
|
-
mcp.command("smoke").description("Run
|
|
51
|
+
mcp.command("smoke").description("Run modern SDK and legacy-negotiation smoke checks.").action(async () => {
|
|
52
52
|
const result = await mcpSmoke(process.cwd(), SOTURAIL_VERSION);
|
|
53
53
|
process.stdout.write(result.output);
|
|
54
54
|
if (!result.ok)
|
|
@@ -56,7 +56,7 @@ export function registerMcpCommand(program) {
|
|
|
56
56
|
});
|
|
57
57
|
mcp
|
|
58
58
|
.command("serve")
|
|
59
|
-
.description("Serve
|
|
59
|
+
.description("Serve official MCP 2026-07-28 with legacy negotiation over stdio.")
|
|
60
60
|
.option("--transport <transport>", "stdio", "stdio")
|
|
61
61
|
.action(async (options) => {
|
|
62
62
|
if (options.transport !== "stdio")
|
package/dist/commands/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { inspectRaw, purgeRaw, rawDoctor, rawSensitivity, rawStatus } from "../core/raw-lifecycle.js";
|
|
2
|
+
export function registerRawCommand(program) {
|
|
3
|
+
const raw = program.command("raw").description("Inspect and manage local raw-log sensitivity and retention.");
|
|
4
|
+
raw.command("status").option("--json", "Print JSON").action(async () => {
|
|
5
|
+
process.stdout.write(`${JSON.stringify(await rawStatus(), null, 2)}\n`);
|
|
6
|
+
});
|
|
7
|
+
raw.command("doctor").action(async () => {
|
|
8
|
+
const result = await rawDoctor();
|
|
9
|
+
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
10
|
+
if (!result.ok)
|
|
11
|
+
process.exitCode = 1;
|
|
12
|
+
});
|
|
13
|
+
raw.command("inspect").argument("<id>", "Raw log id").option("--redacted", "Print content with mandatory redaction").action(async (id, options) => {
|
|
14
|
+
if (!options.redacted)
|
|
15
|
+
throw new Error("Raw inspect requires --redacted. Unredacted disclosure is not available through this command.");
|
|
16
|
+
const result = await inspectRaw(id);
|
|
17
|
+
process.stdout.write(`${JSON.stringify({ metadata: result.metadata, redactions: result.redactions }, null, 2)}\n--- redacted content ---\n${result.redacted}`);
|
|
18
|
+
});
|
|
19
|
+
raw.command("sensitivity").argument("<id>", "Raw log id").action(async (id) => {
|
|
20
|
+
process.stdout.write(`${JSON.stringify(await rawSensitivity(id), null, 2)}\n`);
|
|
21
|
+
});
|
|
22
|
+
raw.command("purge").requiredOption("--ttl <duration>", "Retention TTL such as 30d").option("--dry-run", "Preview only (default)").option("--execute", "Delete matched raw payloads and rewrite the index").option("--yes", "Confirm deletion with --execute").action(async (options) => {
|
|
23
|
+
const result = await purgeRaw(options);
|
|
24
|
+
process.stdout.write(`${JSON.stringify({ dryRun: options.execute !== true, ...result }, null, 2)}\n`);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=raw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw.js","sourceRoot":"","sources":["../../src/commands/raw.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAEtG,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,6DAA6D,CAAC,CAAC;IAC9G,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACrE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACtC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,wCAAwC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,OAA+B,EAAE,EAAE;QAChL,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;QACxI,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,+BAA+B,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjK,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QACpF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,cAAc,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,kBAAkB,EAAE,2BAA2B,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAA0D,EAAE,EAAE;QACzU,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/commands/read.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { promises as fs } from "node:fs";
|
|
2
|
-
import
|
|
2
|
+
import { WorkspaceGuard } from "../core/workspace-guard.js";
|
|
3
3
|
function prefixLine(lineNumber, content) {
|
|
4
4
|
return `[Line ${lineNumber}]: ${content}`;
|
|
5
5
|
}
|
|
@@ -68,7 +68,7 @@ export function formatProgressiveRead(filePath, content, options = {}) {
|
|
|
68
68
|
return `${output.join("\n")}\n`;
|
|
69
69
|
}
|
|
70
70
|
export async function readCommand(file, options, root = process.cwd()) {
|
|
71
|
-
const absolute =
|
|
71
|
+
const absolute = await new WorkspaceGuard(root).assertAllowedRead(file);
|
|
72
72
|
const content = await fs.readFile(absolute, "utf8");
|
|
73
73
|
return formatProgressiveRead(file, content, options);
|
|
74
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/commands/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/commands/read.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/run.js
CHANGED
|
@@ -10,6 +10,8 @@ import { estimateTokens } from "../core/token-estimator.js";
|
|
|
10
10
|
import { detectNativeEngine, runWithNative } from "../core/native-engine.js";
|
|
11
11
|
import { compressOutputWithEngine } from "../compressors/index.js";
|
|
12
12
|
import { cleanRunWorkspaces, createRunWorkspace, showRunWorkspace } from "../core/run-workspace.js";
|
|
13
|
+
import { createWorkspaceFingerprint } from "../core/workspace-fingerprint.js";
|
|
14
|
+
import { redactText } from "../core/report-redaction.js";
|
|
13
15
|
function commandFromParts(parts) {
|
|
14
16
|
if (parts.length === 1) {
|
|
15
17
|
return parts[0]?.trim() ?? "";
|
|
@@ -84,6 +86,9 @@ export async function executeRunCommand(commandParts, options = {}, root = proce
|
|
|
84
86
|
engine: "ts"
|
|
85
87
|
}
|
|
86
88
|
: await compressOutputWithEngine(command, reducibleText, log.rawId, nativeInfo.available ? requestedEngine : "ts", root);
|
|
89
|
+
const fingerprint = await createWorkspaceFingerprint(root);
|
|
90
|
+
const probableSecrets = redactText(result.rawText).redactions.length > 0;
|
|
91
|
+
const expiresAt = new Date(new Date(log.createdAt).getTime() + 30 * 24 * 60 * 60 * 1000).toISOString();
|
|
87
92
|
const record = {
|
|
88
93
|
raw_id: log.rawId,
|
|
89
94
|
path: log.relativePath,
|
|
@@ -92,7 +97,13 @@ export async function executeRunCommand(commandParts, options = {}, root = proce
|
|
|
92
97
|
created_at: log.createdAt,
|
|
93
98
|
compressor: compression.compressor,
|
|
94
99
|
raw_tokens_estimated: estimateTokens(result.rawText),
|
|
95
|
-
compressed_tokens_estimated: compression.compressed_tokens_estimated
|
|
100
|
+
compressed_tokens_estimated: compression.compressed_tokens_estimated,
|
|
101
|
+
sensitivity: probableSecrets ? "sensitive" : "normal",
|
|
102
|
+
redaction_version: "soturail-redaction.v1",
|
|
103
|
+
contains_probable_secrets: probableSecrets,
|
|
104
|
+
workspace_fingerprint: fingerprint.fingerprint,
|
|
105
|
+
retention_policy: "local-30d-review-before-purge",
|
|
106
|
+
expires_at: expiresAt
|
|
96
107
|
};
|
|
97
108
|
const metadataTokens = estimateTokens([
|
|
98
109
|
"SotuRail run complete.",
|
package/dist/commands/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|