soturail 1.2.0 → 1.4.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/README.md +74 -703
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/bench.js +4 -4
- package/dist/commands/bench.js.map +1 -1
- package/dist/commands/eval.js +14 -0
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/evidence.d.ts +2 -0
- package/dist/commands/evidence.js +18 -0
- package/dist/commands/evidence.js.map +1 -0
- package/dist/commands/knowledge.d.ts +2 -0
- package/dist/commands/knowledge.js +26 -0
- package/dist/commands/knowledge.js.map +1 -0
- package/dist/commands/skills.js +26 -0
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/tasklet.d.ts +2 -0
- package/dist/commands/tasklet.js +20 -0
- package/dist/commands/tasklet.js.map +1 -0
- package/dist/core/agent-qa.d.ts +26 -0
- package/dist/core/agent-qa.js +178 -0
- package/dist/core/agent-qa.js.map +1 -0
- package/dist/core/code-health.js +19 -19
- package/dist/core/code-health.js.map +1 -1
- package/dist/core/config.d.ts +4 -0
- package/dist/core/config.js +8 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/context-intelligence.js +1 -1
- package/dist/core/context-intelligence.js.map +1 -1
- package/dist/core/evidence-provenance.d.ts +45 -0
- package/dist/core/evidence-provenance.js +122 -0
- package/dist/core/evidence-provenance.js.map +1 -0
- package/dist/core/harness-lifecycle.js +1 -1
- package/dist/core/harness-lifecycle.js.map +1 -1
- package/dist/core/harness-rail.js +2 -2
- package/dist/core/harness-rail.js.map +1 -1
- package/dist/core/knowledge-rail.d.ts +58 -0
- package/dist/core/knowledge-rail.js +224 -0
- package/dist/core/knowledge-rail.js.map +1 -0
- package/dist/core/release-preflight.js +18 -18
- package/dist/core/release-preflight.js.map +1 -1
- package/dist/core/reverse-specification.js +2 -2
- package/dist/core/reverse-specification.js.map +1 -1
- package/dist/core/schema-readiness.js +22 -16
- package/dist/core/schema-readiness.js.map +1 -1
- package/dist/core/skill-rail-v2.d.ts +24 -0
- package/dist/core/skill-rail-v2.js +106 -0
- package/dist/core/skill-rail-v2.js.map +1 -0
- package/dist/core/tasklet-rail.d.ts +22 -0
- package/dist/core/tasklet-rail.js +69 -0
- package/dist/core/tasklet-rail.js.map +1 -0
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/docs/README.md +53 -0
- package/docs/{observability-rail.md → architecture/observability-rail.md} +5 -5
- package/docs/{agent-harness-synthesis-2026.md → ecosystem/agent-harness-synthesis-2026.md} +3 -3
- package/docs/{conductor-mode.md → ecosystem/conductor-mode.md} +3 -3
- package/docs/{ecosystem-influences.md → ecosystem/ecosystem-influences.md} +13 -13
- package/docs/{external-projects-audit.md → ecosystem/external-projects-audit.md} +1 -1
- package/docs/{migration-v1.md → getting-started/migration-v1.md} +1 -1
- package/docs/{context-intelligence.md → rails/context/context-intelligence.md} +4 -4
- package/docs/{context-packs.md → rails/context/context-packs.md} +7 -7
- package/docs/{memory-rail.md → rails/context/memory-rail.md} +2 -2
- package/docs/{structured-payload-rail.md → rails/context/structured-payload-rail.md} +3 -3
- package/docs/{spec-driven-workflow.md → rails/design/spec-driven-workflow.md} +1 -1
- package/docs/rails/evaluation/agent-qa-rail.md +34 -0
- package/docs/{benchmarking.md → rails/evaluation/benchmarking.md} +1 -1
- package/docs/rails/evidence/evidence-provenance-rail.md +41 -0
- package/docs/{report-rail.md → rails/evidence/report-rail.md} +4 -4
- package/docs/{governance-cost-rail.md → rails/governance/governance-cost-rail.md} +1 -1
- package/docs/{rules.md → rails/governance/rules.md} +2 -2
- package/docs/{harness-lifecycle-rail.md → rails/harness/harness-lifecycle-rail.md} +2 -2
- package/docs/{harness-rail.md → rails/harness/harness-rail.md} +1 -1
- package/docs/{workflow-rail.md → rails/harness/workflow-rail.md} +4 -4
- package/docs/{agent-docs-hygiene.md → rails/hosts/agent-docs-hygiene.md} +1 -1
- package/docs/{agent-hosts.md → rails/hosts/agent-hosts.md} +4 -4
- package/docs/{agents.md → rails/hosts/agents.md} +10 -10
- package/docs/rails/knowledge/knowledge-rail.md +49 -0
- package/docs/rails/skills/skill-rail-2.md +42 -0
- package/docs/rails/tasklets/tasklet-rail.md +32 -0
- package/docs/{release-checklist.md → reference/commands/release-checklist.md} +1 -1
- package/docs/{stable-command-surface.md → reference/commands/stable-command-surface.md} +20 -13
- package/docs/reference/commands/v1.4-commands.md +51 -0
- package/docs/{deprecation-policy.md → reference/contracts/deprecation-policy.md} +1 -1
- package/docs/{v1-contract.md → reference/contracts/v1-contract.md} +3 -3
- package/docs/{licensing-strategy.md → reference/licensing-strategy.md} +1 -1
- package/docs/{schema-contracts.md → reference/schemas/schema-contracts.md} +16 -2
- package/docs/releases/RELEASE_NOTES_v0.10.1.md +3 -3
- package/docs/releases/RELEASE_NOTES_v1.0.1.md +1 -1
- package/docs/releases/RELEASE_NOTES_v1.4.0.md +47 -0
- package/docs/{future-rails-index.md → roadmap/future-rails-index.md} +83 -91
- package/docs/{repo-docs-audit-2026-06-05.md → roadmap/repo-docs-audit-2026-06-05.md} +10 -10
- package/docs/{roadmap-docs-audit.md → roadmap/roadmap-docs-audit.md} +14 -14
- package/docs/{roadmap-harness-diagram-payload-addendum.md → roadmap/roadmap-harness-diagram-payload-addendum.md} +10 -10
- package/docs/{security-boundaries.md → security/security-boundaries.md} +8 -5
- package/docs/{security-model.md → security/security-model.md} +1 -1
- package/docs/{tutorial-codex.md → tutorials/tutorial-codex.md} +1 -1
- package/examples/workflows/agent-pipeline-workflow.md +11 -0
- package/package.json +2 -1
- package/docs/agent-qa-rail.md +0 -92
- package/docs/evidence-provenance-rail.md +0 -70
- package/docs/knowledge-rail.md +0 -76
- package/docs/skill-rail-2.md +0 -110
- package/docs/tasklet-rail.md +0 -62
- /package/docs/{architecture-boundaries.md → architecture/architecture-boundaries.md} +0 -0
- /package/docs/{architecture.md → architecture/architecture.md} +0 -0
- /package/docs/{clean-code-guidelines.md → architecture/clean-code-guidelines.md} +0 -0
- /package/docs/{dashboard-rail.md → architecture/dashboard-rail.md} +0 -0
- /package/docs/{comparisons.md → ecosystem/comparisons.md} +0 -0
- /package/docs/{first-real-workflow.md → getting-started/first-real-workflow.md} +0 -0
- /package/docs/{migration-v0.5.md → getting-started/migration-v0.5.md} +0 -0
- /package/docs/{mvp.md → getting-started/mvp.md} +0 -0
- /package/docs/{quickstart.md → getting-started/quickstart.md} +0 -0
- /package/docs/{usage.md → getting-started/usage.md} +0 -0
- /package/docs/{windows.md → getting-started/windows.md} +0 -0
- /package/docs/{prompt-caching.md → rails/context/prompt-caching.md} +0 -0
- /package/docs/{reducers.md → rails/context/reducers.md} +0 -0
- /package/docs/{response-compression.md → rails/context/response-compression.md} +0 -0
- /package/docs/{design-rail.md → rails/design/design-rail.md} +0 -0
- /package/docs/{diagram-rail.md → rails/design/diagram-rail.md} +0 -0
- /package/docs/{eval-datasets.md → rails/evaluation/eval-datasets.md} +0 -0
- /package/docs/{evaluation-suite.md → rails/evaluation/evaluation-suite.md} +0 -0
- /package/docs/{golden-agent-tests.md → rails/evaluation/golden-agent-tests.md} +0 -0
- /package/docs/{llm-as-judge-policy.md → rails/evaluation/llm-as-judge-policy.md} +0 -0
- /package/docs/{metrics.md → rails/evaluation/metrics.md} +0 -0
- /package/docs/{agent-readable-reports.md → rails/evidence/agent-readable-reports.md} +0 -0
- /package/docs/{report-redaction.md → rails/evidence/report-redaction.md} +0 -0
- /package/docs/{agent-governance-rail.md → rails/governance/agent-governance-rail.md} +0 -0
- /package/docs/{baseline-snapshots.md → rails/governance/baseline-snapshots.md} +0 -0
- /package/docs/{native-performance-policy.md → rails/governance/native-performance-policy.md} +0 -0
- /package/docs/{native-runner.md → rails/governance/native-runner.md} +0 -0
- /package/docs/{policy-rail.md → rails/governance/policy-rail.md} +0 -0
- /package/docs/{rate-limit-and-fallback-policy.md → rails/governance/rate-limit-and-fallback-policy.md} +0 -0
- /package/docs/{resilience-rail.md → rails/governance/resilience-rail.md} +0 -0
- /package/docs/{filesystem-evidence-rail.md → rails/harness/filesystem-evidence-rail.md} +0 -0
- /package/docs/{deep-agents-patterns.md → rails/hosts/deep-agents-patterns.md} +0 -0
- /package/docs/{hooks.md → rails/hosts/hooks.md} +0 -0
- /package/docs/{host-compatibility-rail.md → rails/hosts/host-compatibility-rail.md} +0 -0
- /package/docs/{host-router-rail.md → rails/hosts/host-router-rail.md} +0 -0
- /package/docs/{mcp-host-manifest.md → rails/hosts/mcp-host-manifest.md} +0 -0
- /package/docs/{mcp-report-resources.md → rails/hosts/mcp-report-resources.md} +0 -0
- /package/docs/{mcp.md → rails/hosts/mcp.md} +0 -0
- /package/docs/{code-graph.md → rails/knowledge/code-graph.md} +0 -0
- /package/docs/{knowledge-graph-rail.md → rails/knowledge/knowledge-graph-rail.md} +0 -0
- /package/docs/{knowledge-to-rules.md → rails/knowledge/knowledge-to-rules.md} +0 -0
- /package/docs/{project-brain.md → rails/knowledge/project-brain.md} +0 -0
- /package/docs/{reverse-specification-rail.md → rails/knowledge/reverse-specification-rail.md} +0 -0
- /package/docs/{skill-rail.md → rails/skills/skill-rail.md} +0 -0
- /package/docs/{multi-agent-workflow-templates.md → rails/tasklets/multi-agent-workflow-templates.md} +0 -0
- /package/docs/{branding.md → reference/branding.md} +0 -0
- /package/docs/{release-workflow.md → reference/commands/release-workflow.md} +0 -0
- /package/docs/{status-command.md → reference/commands/status-command.md} +0 -0
- /package/docs/{agent-export-contract.md → reference/contracts/agent-export-contract.md} +0 -0
- /package/docs/{media-guide.md → reference/media-guide.md} +0 -0
- /package/docs/{host-matrix-schema.md → reference/schemas/host-matrix-schema.md} +0 -0
- /package/docs/{public-roadmap.md → roadmap/public-roadmap.md} +0 -0
- /package/docs/{roadmap-agent-runtime-addendum.md → roadmap/roadmap-agent-runtime-addendum.md} +0 -0
- /package/docs/{tutorial-antigravity.md → tutorials/tutorial-antigravity.md} +0 -0
- /package/docs/{tutorial-claude-code.md → tutorials/tutorial-claude-code.md} +0 -0
- /package/docs/{tutorial-context-formats.md → tutorials/tutorial-context-formats.md} +0 -0
- /package/docs/{tutorial-cursor.md → tutorials/tutorial-cursor.md} +0 -0
- /package/docs/{tutorial-deep-agents-role-packs.md → tutorials/tutorial-deep-agents-role-packs.md} +0 -0
- /package/docs/{tutorial-diagram-spec.md → tutorials/tutorial-diagram-spec.md} +0 -0
- /package/docs/{tutorial-gemini-cli.md → tutorials/tutorial-gemini-cli.md} +0 -0
- /package/docs/{tutorial-harness-workflow.md → tutorials/tutorial-harness-workflow.md} +0 -0
- /package/docs/{tutorial-opencode.md → tutorials/tutorial-opencode.md} +0 -0
|
@@ -22,20 +22,20 @@ v1.5.0 Governance And Cost Rail
|
|
|
22
22
|
| `ROADMAP.md` | Replaced the loose post-v0.10 direction with staged v1.0-v1.5 milestones and expanded the docs coverage matrix. |
|
|
23
23
|
| `README.md` | Updated near-term roadmap and future docs links. |
|
|
24
24
|
| `CHANGELOG.md` | Added unreleased documentation-change notes. |
|
|
25
|
-
| `docs/future-rails-index.md` | Added the new planned rails and post-v1 version summaries. |
|
|
26
|
-
| `docs/ecosystem-influences.md` | Added the external project audit summary and product-rule implications. |
|
|
27
|
-
| `docs/comparisons.md` | Added a 2026 repository audit comparison table and roadmap mapping. |
|
|
28
|
-
| `docs/external-projects-audit.md` | New detailed audit of referenced repositories and what SotuRail should absorb. |
|
|
29
|
-
| `docs/host-compatibility-rail.md` | New v1.1 rail plan for OpenCode, Antigravity, Deep Agents-style, Claude, Codex, Cursor and generic hosts. |
|
|
30
|
-
| `docs/design-rail.md` | New v1.2 design guidance plan based on local `DESIGN.md`, lint, diff and export ideas. |
|
|
31
|
-
| `docs/knowledge-graph-rail.md` | New v1.3 graph plan connecting Project Brain, reverse specs, workflows, diagrams and releases. |
|
|
32
|
-
| `docs/skill-rail-2.md` | New v1.4 domain skill plan with safety boundaries. |
|
|
33
|
-
| `docs/governance-cost-rail.md` | New v1.5 governance/cost guardrail plan. |
|
|
34
|
-
| `docs/stable-command-surface.md` | Added post-v1 candidate rail clarification. |
|
|
35
|
-
| `docs/migration-v1.md` | Added post-v1 sequence notes. |
|
|
36
|
-
| `docs/skill-rail.md` | Added pointer to Skill Rail 2.0. |
|
|
37
|
-
| `docs/code-graph.md` | Added pointer to Knowledge Graph Rail. |
|
|
38
|
-
| `docs/diagram-rail.md` | Added connection to Spec and Design Rail. |
|
|
25
|
+
| `docs/roadmap/future-rails-index.md` | Added the new planned rails and post-v1 version summaries. |
|
|
26
|
+
| `docs/ecosystem/ecosystem-influences.md` | Added the external project audit summary and product-rule implications. |
|
|
27
|
+
| `docs/ecosystem/comparisons.md` | Added a 2026 repository audit comparison table and roadmap mapping. |
|
|
28
|
+
| `docs/ecosystem/external-projects-audit.md` | New detailed audit of referenced repositories and what SotuRail should absorb. |
|
|
29
|
+
| `docs/rails/hosts/host-compatibility-rail.md` | New v1.1 rail plan for OpenCode, Antigravity, Deep Agents-style, Claude, Codex, Cursor and generic hosts. |
|
|
30
|
+
| `docs/rails/design/design-rail.md` | New v1.2 design guidance plan based on local `DESIGN.md`, lint, diff and export ideas. |
|
|
31
|
+
| `docs/rails/knowledge/knowledge-graph-rail.md` | New v1.3 graph plan connecting Project Brain, reverse specs, workflows, diagrams and releases. |
|
|
32
|
+
| `docs/rails/skills/skill-rail-2.md` | New v1.4 domain skill plan with safety boundaries. |
|
|
33
|
+
| `docs/rails/governance/governance-cost-rail.md` | New v1.5 governance/cost guardrail plan. |
|
|
34
|
+
| `docs/reference/commands/stable-command-surface.md` | Added post-v1 candidate rail clarification. |
|
|
35
|
+
| `docs/getting-started/migration-v1.md` | Added post-v1 sequence notes. |
|
|
36
|
+
| `docs/rails/skills/skill-rail.md` | Added pointer to Skill Rail 2.0. |
|
|
37
|
+
| `docs/rails/knowledge/code-graph.md` | Added pointer to Knowledge Graph Rail. |
|
|
38
|
+
| `docs/rails/design/diagram-rail.md` | Added connection to Spec and Design Rail. |
|
|
39
39
|
|
|
40
40
|
## Audit Result
|
|
41
41
|
|
|
@@ -140,7 +140,7 @@ soturail context pack --target codex --format markdown
|
|
|
140
140
|
soturail context pack --target mcp --format json
|
|
141
141
|
soturail format file.json --to tagged
|
|
142
142
|
soturail format file.json --to toon
|
|
143
|
-
soturail format compare docs/usage.md --formats markdown,tagged,json,toon
|
|
143
|
+
soturail format compare docs/getting-started/usage.md --formats markdown,tagged,json,toon
|
|
144
144
|
soturail validate json config.json --strict
|
|
145
145
|
```
|
|
146
146
|
|
|
@@ -289,12 +289,12 @@ Connect reports and visual output:
|
|
|
289
289
|
|
|
290
290
|
## Related Docs
|
|
291
291
|
|
|
292
|
-
- [Harness Rail](harness-rail.md)
|
|
293
|
-
- [Policy Rail](policy-rail.md)
|
|
294
|
-
- [Diagram Rail](diagram-rail.md)
|
|
295
|
-
- [Structured Payload Rail](structured-payload-rail.md)
|
|
296
|
-
- [Workflow Rail](workflow-rail.md)
|
|
297
|
-
- [Context Packs](context-packs.md)
|
|
298
|
-
- [Security Model](security-model.md)
|
|
299
|
-
- [Ecosystem Influences](ecosystem-influences.md)
|
|
300
|
-
- [Comparisons](comparisons.md)
|
|
292
|
+
- [Harness Rail](../rails/harness/harness-rail.md)
|
|
293
|
+
- [Policy Rail](../rails/governance/policy-rail.md)
|
|
294
|
+
- [Diagram Rail](../rails/design/diagram-rail.md)
|
|
295
|
+
- [Structured Payload Rail](../rails/context/structured-payload-rail.md)
|
|
296
|
+
- [Workflow Rail](../rails/harness/workflow-rail.md)
|
|
297
|
+
- [Context Packs](../rails/context/context-packs.md)
|
|
298
|
+
- [Security Model](../security/security-model.md)
|
|
299
|
+
- [Ecosystem Influences](../ecosystem/ecosystem-influences.md)
|
|
300
|
+
- [Comparisons](../ecosystem/comparisons.md)
|
|
@@ -9,6 +9,9 @@ SotuRail is a local-first Context OS and harness layer. Its default role is to p
|
|
|
9
9
|
- Harness audits validate files without executing verification commands.
|
|
10
10
|
- Handoffs include changed-file names and summaries, not private shell history.
|
|
11
11
|
- Reports and exports use secret redaction helpers.
|
|
12
|
+
- Knowledge compilation accepts only local project sources and makes no model or embedding calls.
|
|
13
|
+
- Evidence verification does not silently execute commands or invent proof.
|
|
14
|
+
- Tasklet runs are simulations and never execute shell commands.
|
|
12
15
|
- Publishing, release creation, destructive actions and external writes remain explicit user actions.
|
|
13
16
|
|
|
14
17
|
## Out Of Scope
|
|
@@ -23,12 +26,12 @@ SotuRail is not:
|
|
|
23
26
|
|
|
24
27
|
## Future Conductor Boundary
|
|
25
28
|
|
|
26
|
-
The proposed [SotuRail Conductor](conductor-mode.md) may plan, audit, propose and verify local work only behind explicit approval gates. It must not introduce an unreviewed edit loop, central shell agent, cloud agent or hidden external service.
|
|
29
|
+
The proposed [SotuRail Conductor](../ecosystem/conductor-mode.md) may plan, audit, propose and verify local work only behind explicit approval gates. It must not introduce an unreviewed edit loop, central shell agent, cloud agent or hidden external service.
|
|
27
30
|
|
|
28
31
|
## Related Docs
|
|
29
32
|
|
|
30
33
|
- [Security Model](security-model.md)
|
|
31
|
-
- [MCP](mcp.md)
|
|
32
|
-
- [Harness Lifecycle Rail](harness-lifecycle-rail.md)
|
|
33
|
-
- [Host Compatibility Rail](host-compatibility-rail.md)
|
|
34
|
-
- [Observability Rail](observability-rail.md)
|
|
34
|
+
- [MCP](../rails/hosts/mcp.md)
|
|
35
|
+
- [Harness Lifecycle Rail](../rails/harness/harness-lifecycle-rail.md)
|
|
36
|
+
- [Host Compatibility Rail](../rails/hosts/host-compatibility-rail.md)
|
|
37
|
+
- [Observability Rail](../architecture/observability-rail.md)
|
|
@@ -86,7 +86,7 @@ R13 warn when JSON payloads have duplicate keys or unsafe ambiguity
|
|
|
86
86
|
|
|
87
87
|
Policy decisions should eventually be attached to workflow evidence, release evidence and MCP exposure reports.
|
|
88
88
|
|
|
89
|
-
See [policy-rail.md](policy-rail.md).
|
|
89
|
+
See [policy-rail.md](../rails/governance/policy-rail.md).
|
|
90
90
|
|
|
91
91
|
## Planned MCP Exposure Report
|
|
92
92
|
|
|
@@ -19,4 +19,4 @@ Keep `AGENTS.md` short and point to:
|
|
|
19
19
|
- `.soturail/context/` for selected context;
|
|
20
20
|
- `.soturail/context/role-packs/` for task role context;
|
|
21
21
|
- `.soturail/reports/` and `.soturail/eval/` for evidence;
|
|
22
|
-
- `docs/policy-rail.md` for risky actions.
|
|
22
|
+
- `docs/rails/governance/policy-rail.md` for risky actions.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Agent Pipeline Workflow
|
|
2
|
+
|
|
3
|
+
This local-first workflow demonstrates a safe validate, fix, verify and report loop.
|
|
4
|
+
|
|
5
|
+
1. Collect source-backed evidence with `soturail evidence collect`.
|
|
6
|
+
2. Review the report before making changes.
|
|
7
|
+
3. Apply an explicitly approved change outside SotuRail.
|
|
8
|
+
4. Verify evidence with `soturail evidence verify`.
|
|
9
|
+
5. Export a concise report for humans or agents.
|
|
10
|
+
|
|
11
|
+
SotuRail prepares context and evidence. It does not autonomously edit the project or execute arbitrary shell commands.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "soturail",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Local-first context rails for AI coding agents: reversible terminal compression, progressive repo reading, SDD workflows, hooks, benchmarks, memory and cache-friendly payloads.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"prepack": "npm run build",
|
|
23
23
|
"test": "vitest run",
|
|
24
24
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
25
|
+
"docs:check": "node scripts/check-doc-links.mjs",
|
|
25
26
|
"build:native": "cargo build --manifest-path native/soturail-native/Cargo.toml --release",
|
|
26
27
|
"test:native": "cargo test --manifest-path native/soturail-native/Cargo.toml",
|
|
27
28
|
"build:all": "npm run build && npm run build:native",
|
package/docs/agent-qa-rail.md
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
# Agent QA Rail
|
|
2
|
-
|
|
3
|
-
Agent QA Rail is a proposed future rail for testing SotuRail-generated agent artifacts like software outputs, not magic prompts.
|
|
4
|
-
|
|
5
|
-
It is inspired by small QA-agent repos that combine automated tests, fixed datasets, scoring, observability and CI. SotuRail should keep the useful discipline while staying local-first, host-independent and deterministic by default.
|
|
6
|
-
|
|
7
|
-
## Goals
|
|
8
|
-
|
|
9
|
-
- Test host exports, context packs, skills, rules, workflows, evidence packs and reports.
|
|
10
|
-
- Catch regressions in agent-facing files before release.
|
|
11
|
-
- Keep default evals offline and cheap.
|
|
12
|
-
- Allow optional provider-backed judging only when explicitly requested.
|
|
13
|
-
- Generate JSON and Markdown reports that can be attached to release evidence.
|
|
14
|
-
|
|
15
|
-
## Proposed Commands
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
soturail eval dataset init
|
|
19
|
-
soturail eval dataset run
|
|
20
|
-
soturail eval golden
|
|
21
|
-
soturail eval regression
|
|
22
|
-
soturail eval report
|
|
23
|
-
soturail eval doctor
|
|
24
|
-
soturail eval judge --optional
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
These commands can begin as report-only or fixture-only surfaces before becoming full command implementations.
|
|
28
|
-
|
|
29
|
-
## Local Artifact Layout
|
|
30
|
-
|
|
31
|
-
```txt
|
|
32
|
-
.soturail/evals/
|
|
33
|
-
datasets/
|
|
34
|
-
host-compatibility.json
|
|
35
|
-
context-quality.json
|
|
36
|
-
skill-routing.json
|
|
37
|
-
golden/
|
|
38
|
-
claude-export.md
|
|
39
|
-
codex-export.md
|
|
40
|
-
cursor-rules.md
|
|
41
|
-
runs/
|
|
42
|
-
latest.json
|
|
43
|
-
reports/
|
|
44
|
-
latest.md
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Deterministic Checks First
|
|
48
|
-
|
|
49
|
-
Default checks should not call real LLMs or external services.
|
|
50
|
-
|
|
51
|
-
Examples:
|
|
52
|
-
|
|
53
|
-
- export is not empty;
|
|
54
|
-
- export contains safe next commands;
|
|
55
|
-
- export includes required policy warnings;
|
|
56
|
-
- export does not contain secrets;
|
|
57
|
-
- export does not contain unrelated project names such as SoturAI when the target is SotuRail;
|
|
58
|
-
- JSON artifacts parse successfully;
|
|
59
|
-
- duplicate JSON keys are detected where relevant;
|
|
60
|
-
- host matrix fields are present;
|
|
61
|
-
- MCP exports keep read-only mutation boundaries;
|
|
62
|
-
- reports include evidence paths and verification status;
|
|
63
|
-
- generated docs keep local-first and no-cloud-by-default claims honest.
|
|
64
|
-
|
|
65
|
-
## Optional LLM-As-Judge
|
|
66
|
-
|
|
67
|
-
Provider-backed judges can be useful for hallucination or answer-quality review, but they must not be the default release gate.
|
|
68
|
-
|
|
69
|
-
Policy:
|
|
70
|
-
|
|
71
|
-
```txt
|
|
72
|
-
Offline fixtures are release-blocking.
|
|
73
|
-
LLM-as-judge is optional, explicit and non-blocking unless a project opts in.
|
|
74
|
-
Provider outputs must be stored as separate integration evidence.
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## CI Split
|
|
78
|
-
|
|
79
|
-
Recommended tiers:
|
|
80
|
-
|
|
81
|
-
| Tier | Network | Release blocking | Purpose |
|
|
82
|
-
| --- | --- | --- | --- |
|
|
83
|
-
| unit/offline | no | yes | deterministic docs, schemas, exports and fixtures |
|
|
84
|
-
| integration | optional | no by default | provider/API behavior, external host smoke |
|
|
85
|
-
| nightly | optional | no by default | long-running or flaky judge/eval experiments |
|
|
86
|
-
|
|
87
|
-
## Non-Goals
|
|
88
|
-
|
|
89
|
-
- no required Groq, OpenAI, Anthropic, LangFuse or other provider;
|
|
90
|
-
- no real model calls in default tests;
|
|
91
|
-
- no scoring metric based only on marketing-friendly numbers;
|
|
92
|
-
- no claim that passing evals proves a real agent will always behave well.
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# Evidence And Provenance Rail
|
|
2
|
-
|
|
3
|
-
Evidence And Provenance Rail is a planned expansion that makes SotuRail reports more auditable.
|
|
4
|
-
|
|
5
|
-
The core idea:
|
|
6
|
-
|
|
7
|
-
```txt
|
|
8
|
-
Every important output should say what it used, what it changed, what was verified and what is still uncertain.
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Provenance Sidecars
|
|
12
|
-
|
|
13
|
-
Reports can have sidecar files:
|
|
14
|
-
|
|
15
|
-
```txt
|
|
16
|
-
.soturail/reports/<slug>.md
|
|
17
|
-
.soturail/reports/<slug>.provenance.md
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Per-run evidence can be grouped as:
|
|
21
|
-
|
|
22
|
-
```txt
|
|
23
|
-
.soturail/evidence/<run-id>/
|
|
24
|
-
report.md
|
|
25
|
-
provenance.md
|
|
26
|
-
tests.log
|
|
27
|
-
files-read.json
|
|
28
|
-
files-changed.json
|
|
29
|
-
verification.json
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Verification Status Values
|
|
33
|
-
|
|
34
|
-
Use explicit status labels:
|
|
35
|
-
|
|
36
|
-
| Status | Meaning |
|
|
37
|
-
| --- | --- |
|
|
38
|
-
| `verified` | backed by local file, command, test, schema or report evidence |
|
|
39
|
-
| `unverified` | plausible but not proven by available evidence |
|
|
40
|
-
| `blocked` | cannot be verified due to missing file, command failure or unavailable dependency |
|
|
41
|
-
| `inferred` | derived from available evidence but not directly stated |
|
|
42
|
-
|
|
43
|
-
## Proposed Commands
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
soturail evidence collect
|
|
47
|
-
soturail evidence verify
|
|
48
|
-
soturail evidence report
|
|
49
|
-
soturail sources compare
|
|
50
|
-
soturail review report
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Report Requirements
|
|
54
|
-
|
|
55
|
-
Agent-readable reports should include:
|
|
56
|
-
|
|
57
|
-
- source paths;
|
|
58
|
-
- command/eval/report ids;
|
|
59
|
-
- changed files;
|
|
60
|
-
- verification status;
|
|
61
|
-
- missing evidence;
|
|
62
|
-
- safe next commands;
|
|
63
|
-
- redaction status.
|
|
64
|
-
|
|
65
|
-
## Non-Goals
|
|
66
|
-
|
|
67
|
-
- no fake citations;
|
|
68
|
-
- no unsupported certainty;
|
|
69
|
-
- no cloud evidence store by default;
|
|
70
|
-
- no raw secret exposure in provenance files.
|
package/docs/knowledge-rail.md
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# Knowledge Rail
|
|
2
|
-
|
|
3
|
-
Knowledge Rail is a planned future surface for compiling project documentation into small, on-demand knowledge packs for coding agents.
|
|
4
|
-
|
|
5
|
-
It is inspired by document-to-skill workflows: extract structure, not a giant summary.
|
|
6
|
-
|
|
7
|
-
## Goal
|
|
8
|
-
|
|
9
|
-
Turn docs, specs, READMEs, ADRs, notes and technical references into local agent-usable knowledge:
|
|
10
|
-
|
|
11
|
-
```txt
|
|
12
|
-
source docs -> topic index -> SKILL.md -> topics -> glossary -> patterns -> cheatsheet -> provenance
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Proposed Commands
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
soturail knowledge ingest ./docs ./README.md ./architecture.md
|
|
19
|
-
soturail knowledge estimate ./docs
|
|
20
|
-
soturail knowledge compile --mode on-demand
|
|
21
|
-
soturail knowledge update project-brain ./new-docs
|
|
22
|
-
soturail knowledge verify
|
|
23
|
-
soturail skill build ./docs --name project-architecture
|
|
24
|
-
soturail skill fold-in project-architecture ./ADR-004.md
|
|
25
|
-
soturail skill export --target claude
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Local Layout
|
|
29
|
-
|
|
30
|
-
```txt
|
|
31
|
-
.soturail/knowledge/<name>/
|
|
32
|
-
SKILL.md
|
|
33
|
-
topics/
|
|
34
|
-
architecture.md
|
|
35
|
-
testing.md
|
|
36
|
-
release.md
|
|
37
|
-
glossary.md
|
|
38
|
-
patterns.md
|
|
39
|
-
cheatsheet.md
|
|
40
|
-
source-map.json
|
|
41
|
-
metadata.json
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## On-Demand Context
|
|
45
|
-
|
|
46
|
-
Instead of loading all docs into every prompt, an export can say:
|
|
47
|
-
|
|
48
|
-
```txt
|
|
49
|
-
Read .soturail/knowledge/project/SKILL.md first.
|
|
50
|
-
For release tasks, read topics/release.md.
|
|
51
|
-
For testing tasks, read topics/testing.md.
|
|
52
|
-
Do not load unrelated topics unless needed.
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Metadata
|
|
56
|
-
|
|
57
|
-
A knowledge pack should record:
|
|
58
|
-
|
|
59
|
-
- source paths;
|
|
60
|
-
- extraction date;
|
|
61
|
-
- token estimate;
|
|
62
|
-
- topic list;
|
|
63
|
-
- source map;
|
|
64
|
-
- verification status;
|
|
65
|
-
- update/fold-in history.
|
|
66
|
-
|
|
67
|
-
## Copyright And Sharing Boundary
|
|
68
|
-
|
|
69
|
-
Knowledge packs generated from private or copyrighted material should stay local unless the user has rights to redistribute them. SotuRail should prefer synthesized structure and references over copying large source text.
|
|
70
|
-
|
|
71
|
-
## Non-Goals
|
|
72
|
-
|
|
73
|
-
- no vector database required;
|
|
74
|
-
- no cloud embeddings required;
|
|
75
|
-
- no publishing third-party book content by default;
|
|
76
|
-
- no replacing Project Brain or Knowledge Graph Rail. Knowledge Rail feeds them with organized source material.
|
package/docs/skill-rail-2.md
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
# Skill Rail 2.0 And Domain Skill Packs
|
|
2
|
-
|
|
3
|
-
Skill Rail 2.0 is the planned v1.4.x direction for safer, smaller, domain-aware skills that can be exported to different agent hosts.
|
|
4
|
-
|
|
5
|
-
Hermes Agent's skill self-improvement model is useful inspiration, but SotuRail skills remain reviewed local operating procedures rather than self-modifying agent behavior. Any future improvement proposal must preserve evidence, safety checks and human approval.
|
|
6
|
-
|
|
7
|
-
## Goal
|
|
8
|
-
|
|
9
|
-
Move from generic skills to reviewed domain skill packs with metadata, fixtures, reports, role-aware exports and explicit safety boundaries.
|
|
10
|
-
|
|
11
|
-
## Planned Commands
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
soturail skills template typescript-cli
|
|
15
|
-
soturail skills template java-review
|
|
16
|
-
soturail skills template php-review
|
|
17
|
-
soturail skills template docs-review
|
|
18
|
-
soturail skills template release-manager
|
|
19
|
-
soturail skills template accessibility-review
|
|
20
|
-
soturail skills template security-review
|
|
21
|
-
soturail skills lint
|
|
22
|
-
soturail skills eval
|
|
23
|
-
soturail skills report
|
|
24
|
-
soturail skills export --agent opencode
|
|
25
|
-
soturail skills export --agent codex
|
|
26
|
-
soturail skills export --agent claude
|
|
27
|
-
soturail skills export --agent generic
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Domain Skill Structure
|
|
31
|
-
|
|
32
|
-
```txt
|
|
33
|
-
.soturail/skills/<skill-id>/
|
|
34
|
-
skill.yml
|
|
35
|
-
SKILL.md
|
|
36
|
-
examples/
|
|
37
|
-
fixtures/
|
|
38
|
-
report-template.md
|
|
39
|
-
safety.md
|
|
40
|
-
validators/
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## Required Metadata
|
|
44
|
-
|
|
45
|
-
- skill id;
|
|
46
|
-
- name;
|
|
47
|
-
- domain;
|
|
48
|
-
- supported hosts;
|
|
49
|
-
- risk level;
|
|
50
|
-
- required evidence;
|
|
51
|
-
- allowed commands;
|
|
52
|
-
- blocked commands;
|
|
53
|
-
- human approval requirements;
|
|
54
|
-
- verification checklist;
|
|
55
|
-
- output schema or report format.
|
|
56
|
-
|
|
57
|
-
## Domain Skill Report Format
|
|
58
|
-
|
|
59
|
-
A skill report should separate:
|
|
60
|
-
|
|
61
|
-
- finding;
|
|
62
|
-
- severity;
|
|
63
|
-
- confidence;
|
|
64
|
-
- evidence path;
|
|
65
|
-
- affected files;
|
|
66
|
-
- safe next command;
|
|
67
|
-
- human review requirement;
|
|
68
|
-
- false-positive note where relevant.
|
|
69
|
-
|
|
70
|
-
## Security Boundary
|
|
71
|
-
|
|
72
|
-
Security-related skills must stay defensive and authorization-aware.
|
|
73
|
-
|
|
74
|
-
They must not provide:
|
|
75
|
-
|
|
76
|
-
- exploit or bypass instructions;
|
|
77
|
-
- credential theft;
|
|
78
|
-
- malware or evasion logic;
|
|
79
|
-
- unauthorized access steps;
|
|
80
|
-
- instructions to hide activity;
|
|
81
|
-
- destructive actions without explicit human approval.
|
|
82
|
-
|
|
83
|
-
They may provide:
|
|
84
|
-
|
|
85
|
-
- scope checklist;
|
|
86
|
-
- safe evidence collection guidance;
|
|
87
|
-
- non-operational vulnerability summaries;
|
|
88
|
-
- remediation steps;
|
|
89
|
-
- redaction and reporting guidance;
|
|
90
|
-
- policy gates before risky tools.
|
|
91
|
-
|
|
92
|
-
## Relationship To Existing Rails
|
|
93
|
-
|
|
94
|
-
| Existing rail | Skill Rail 2.0 connection |
|
|
95
|
-
| --- | --- |
|
|
96
|
-
| Policy Rail | risk and approval checks |
|
|
97
|
-
| Report Rail | skill findings and evidence summaries |
|
|
98
|
-
| Host Compatibility Rail | host-aware skill exports |
|
|
99
|
-
| Workflow Rail | phase-specific skills |
|
|
100
|
-
| Evaluation Suite | fixture-based skill quality checks |
|
|
101
|
-
| Project Brain | repeated findings can become rules or stale evidence |
|
|
102
|
-
|
|
103
|
-
## Knowledge-To-Skill And Tasklet Expansion
|
|
104
|
-
|
|
105
|
-
Future Skill Rail 2.0 work now includes:
|
|
106
|
-
|
|
107
|
-
- [`knowledge-rail.md`](knowledge-rail.md) for compiling docs/specs/notes into on-demand skill knowledge packs;
|
|
108
|
-
- [`tasklet-rail.md`](tasklet-rail.md) for small reusable local task templates.
|
|
109
|
-
|
|
110
|
-
The key principle is progressive disclosure: export a small `SKILL.md`/tasklet entry point first and load topic files only when needed.
|
package/docs/tasklet-rail.md
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# Tasklet Rail
|
|
2
|
-
|
|
3
|
-
Tasklet Rail is a proposed small-task template layer. The Tasklet.ai public site did not expose enough technical detail during review, so SotuRail only absorbs the generic idea of reusable tiny tasks.
|
|
4
|
-
|
|
5
|
-
## Definition
|
|
6
|
-
|
|
7
|
-
A tasklet is a small local operating procedure for one common agent task.
|
|
8
|
-
|
|
9
|
-
Examples:
|
|
10
|
-
|
|
11
|
-
```txt
|
|
12
|
-
review-code
|
|
13
|
-
update-docs
|
|
14
|
-
generate-tests
|
|
15
|
-
prepare-release
|
|
16
|
-
fix-typescript-error
|
|
17
|
-
generate-handoff
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Proposed Commands
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
soturail tasklet create "review-pr"
|
|
24
|
-
soturail tasklet run "generate-handoff"
|
|
25
|
-
soturail tasklet list
|
|
26
|
-
soturail tasklet export --target claude
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Tasklet Shape
|
|
30
|
-
|
|
31
|
-
```yaml
|
|
32
|
-
id: review-pr
|
|
33
|
-
purpose: Review changed files and produce evidence-backed feedback.
|
|
34
|
-
inputs:
|
|
35
|
-
- git diff
|
|
36
|
-
- tests report
|
|
37
|
-
allowedRead:
|
|
38
|
-
- src/**
|
|
39
|
-
- tests/**
|
|
40
|
-
allowedWrite:
|
|
41
|
-
- .soturail/reports/**
|
|
42
|
-
verification:
|
|
43
|
-
- npm test
|
|
44
|
-
handoff:
|
|
45
|
-
- report.md
|
|
46
|
-
- provenance.md
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Relationship To Skills
|
|
50
|
-
|
|
51
|
-
```txt
|
|
52
|
-
Skill = reusable domain operating procedure.
|
|
53
|
-
Tasklet = small runnable task template that may use skills, rules and context packs.
|
|
54
|
-
Workflow = multi-step lifecycle with evidence and verification.
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Non-Goals
|
|
58
|
-
|
|
59
|
-
- no cloud task runner by default;
|
|
60
|
-
- no external queue required;
|
|
61
|
-
- no hidden execution;
|
|
62
|
-
- no destructive action without policy approval.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/docs/{native-performance-policy.md → rails/governance/native-performance-policy.md}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|