soturail 0.6.1 → 0.7.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 +41 -14
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/diagram.d.ts +2 -0
- package/dist/commands/diagram.js +24 -0
- package/dist/commands/diagram.js.map +1 -0
- package/dist/commands/harness.js +1 -1
- package/dist/commands/harness.js.map +1 -1
- package/dist/commands/release.js +9 -2
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/workflow.js +29 -5
- package/dist/commands/workflow.js.map +1 -1
- package/dist/core/config.d.ts +5 -0
- package/dist/core/config.js +9 -2
- 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/diagram-rail.d.ts +31 -0
- package/dist/core/diagram-rail.js +235 -0
- package/dist/core/diagram-rail.js.map +1 -0
- package/dist/core/evidence-pack.js +50 -0
- package/dist/core/evidence-pack.js.map +1 -1
- package/dist/core/harness-rail.js +35 -1
- package/dist/core/harness-rail.js.map +1 -1
- package/dist/core/release-preflight.js +1 -1
- package/dist/core/release-preflight.js.map +1 -1
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/dist/core/workflow-store.d.ts +68 -0
- package/dist/core/workflow-store.js +360 -6
- package/dist/core/workflow-store.js.map +1 -1
- package/docs/diagram-rail.md +55 -130
- package/docs/harness-rail.md +60 -109
- package/docs/release-checklist.md +14 -0
- package/docs/release-workflow.md +34 -1
- package/docs/releases/README.md +27 -0
- package/docs/releases/RELEASE_NOTES_v0.2.1.md +19 -0
- package/docs/releases/RELEASE_NOTES_v0.2.2.md +48 -0
- package/docs/releases/RELEASE_NOTES_v0.2.3.md +36 -0
- package/docs/releases/RELEASE_NOTES_v0.3.0.md +42 -0
- package/docs/releases/RELEASE_NOTES_v0.3.1.md +37 -0
- package/docs/releases/RELEASE_NOTES_v0.3.2.md +33 -0
- package/docs/releases/RELEASE_NOTES_v0.3.3.md +31 -0
- package/docs/releases/RELEASE_NOTES_v0.4.0.md +35 -0
- package/docs/releases/RELEASE_NOTES_v0.4.1.md +37 -0
- package/docs/releases/RELEASE_NOTES_v0.5.0.md +21 -0
- package/docs/releases/RELEASE_NOTES_v0.5.1.md +19 -0
- package/docs/releases/RELEASE_NOTES_v0.5.2.md +27 -0
- package/docs/releases/RELEASE_NOTES_v0.6.0.md +33 -0
- package/docs/releases/RELEASE_NOTES_v0.6.1.md +37 -0
- package/docs/releases/RELEASE_NOTES_v0.7.0.md +33 -0
- package/docs/spec-driven-workflow.md +27 -38
- package/docs/workflow-rail.md +81 -164
- package/package.json +1 -1
package/docs/diagram-rail.md
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
# Diagram Rail
|
|
2
2
|
|
|
3
|
-
Diagram Rail
|
|
3
|
+
Diagram Rail uses Mermaid diagrams and `.spec.md` files as compact, versioned visual context for agents.
|
|
4
4
|
|
|
5
|
-
It is inspired by Mermaid Diagram Driven Development patterns: diagram first, human approval, implementation second, tests and evidence after that. SotuRail
|
|
5
|
+
It is inspired by Mermaid Diagram Driven Development patterns: diagram first, human approval, implementation second, tests and evidence after that. SotuRail absorbs the pattern without becoming a Mermaid-only tool.
|
|
6
6
|
|
|
7
7
|
## Product Boundary
|
|
8
8
|
|
|
9
|
-
Diagram Rail should help SotuRail express workflows, architecture, policies and context routes visually.
|
|
10
|
-
|
|
11
|
-
It should not replace normal Markdown docs, tests, code review or human approval.
|
|
12
|
-
|
|
13
9
|
```txt
|
|
14
10
|
Text explains.
|
|
15
11
|
Tests verify.
|
|
@@ -17,29 +13,11 @@ Diagrams constrain and clarify.
|
|
|
17
13
|
SotuRail connects all three as local evidence.
|
|
18
14
|
```
|
|
19
15
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
```txt
|
|
23
|
-
diagram first -> visual approval -> implementation -> tests -> evidence
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
A diagram should be treated as a visual contract for an agent workflow, not as decoration.
|
|
27
|
-
|
|
28
|
-
Useful diagram targets:
|
|
29
|
-
|
|
30
|
-
- workflow state machine;
|
|
31
|
-
- release pipeline;
|
|
32
|
-
- MCP resource/tool flow;
|
|
33
|
-
- agent context handoff;
|
|
34
|
-
- policy approval flow;
|
|
35
|
-
- memory/context selection flow;
|
|
36
|
-
- feature `.spec.md` business rules;
|
|
37
|
-
- architecture module map;
|
|
38
|
-
- failure recovery path.
|
|
16
|
+
Diagram Rail should not replace normal Markdown docs, tests, code review or human approval.
|
|
39
17
|
|
|
40
|
-
##
|
|
18
|
+
## Commands
|
|
41
19
|
|
|
42
|
-
|
|
20
|
+
v0.7.0 implements:
|
|
43
21
|
|
|
44
22
|
```bash
|
|
45
23
|
soturail diagram init
|
|
@@ -50,144 +28,89 @@ soturail diagram from-workflow <id>
|
|
|
50
28
|
soturail workflow diagram <id>
|
|
51
29
|
```
|
|
52
30
|
|
|
53
|
-
These commands
|
|
31
|
+
These commands generate or validate local files only. They do not auto-edit production code.
|
|
54
32
|
|
|
55
|
-
##
|
|
56
|
-
|
|
57
|
-
Possible future structure:
|
|
33
|
+
## Storage
|
|
58
34
|
|
|
59
35
|
```txt
|
|
60
36
|
.soturail/diagrams/
|
|
37
|
+
index.json
|
|
38
|
+
validation.json
|
|
61
39
|
docs/diagrams/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
docs/diagrams/workflow-rail.mmd
|
|
65
|
-
docs/diagrams/policy-flow.mmd
|
|
40
|
+
<feature>.md
|
|
41
|
+
<feature>.spec.md
|
|
66
42
|
```
|
|
67
43
|
|
|
68
|
-
|
|
44
|
+
`diagram init` creates both the local rail folder and the docs folder.
|
|
69
45
|
|
|
70
|
-
|
|
71
|
-
src/feature-name/feature-name.spec.md
|
|
72
|
-
src/feature-name/feature-name.mmd
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## `.spec.md` As Visual Contract
|
|
46
|
+
`diagram new <feature>` creates a Mermaid diagram plus matching visual contract.
|
|
76
47
|
|
|
77
|
-
|
|
48
|
+
`diagram from-workflow <id>` creates a workflow state diagram from local Workflow Rail metadata.
|
|
78
49
|
|
|
79
|
-
|
|
80
|
-
- requirements;
|
|
81
|
-
- constraints;
|
|
82
|
-
- Mermaid diagram;
|
|
83
|
-
- decision matrix;
|
|
84
|
-
- acceptance criteria;
|
|
85
|
-
- test plan;
|
|
86
|
-
- version/change notes.
|
|
50
|
+
`diagram validate` validates all `docs/diagrams/*.md` diagrams except `.spec.md` contracts and writes `.soturail/diagrams/validation.json`.
|
|
87
51
|
|
|
88
|
-
|
|
52
|
+
## `.spec.md` Visual Contracts
|
|
89
53
|
|
|
90
|
-
|
|
54
|
+
Generated `.spec.md` files include:
|
|
91
55
|
|
|
92
|
-
|
|
56
|
+
```md
|
|
57
|
+
# Visual Contract: Feature X
|
|
93
58
|
|
|
94
|
-
|
|
95
|
-
Idea -> PRD -> Diagram -> Tasks -> TDD -> Work -> Review -> Release -> Evidence
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
Future workflow evidence can include:
|
|
99
|
-
|
|
100
|
-
- diagram path;
|
|
101
|
-
- diagram version;
|
|
102
|
-
- validation result;
|
|
103
|
-
- related spec path;
|
|
104
|
-
- tasks generated from diagram;
|
|
105
|
-
- tests linked to diagram edges or states.
|
|
59
|
+
## Required nodes
|
|
106
60
|
|
|
107
|
-
##
|
|
61
|
+
## Required transitions
|
|
108
62
|
|
|
109
|
-
|
|
63
|
+
## Evidence links
|
|
110
64
|
|
|
111
|
-
|
|
112
|
-
- missing start/end states;
|
|
113
|
-
- unreachable states;
|
|
114
|
-
- unlabeled risky transitions;
|
|
115
|
-
- workflow phase missing verification;
|
|
116
|
-
- release path without tests/audit/pack evidence;
|
|
117
|
-
- context route without recovery pointer;
|
|
118
|
-
- policy path without approve/reject state.
|
|
65
|
+
## Validation checklist
|
|
119
66
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
1. Check that Mermaid fenced blocks exist where expected.
|
|
123
|
-
2. Check that state diagrams include start or initial states when the diagram models a workflow.
|
|
124
|
-
3. Check that release diagrams include build/test/package verification before publish.
|
|
125
|
-
4. Check that policy diagrams include approve and reject paths.
|
|
126
|
-
5. Check that context-router diagrams include recovery/offload pointers for omitted context.
|
|
127
|
-
6. Report warnings only; never rewrite diagrams without explicit user action.
|
|
128
|
-
|
|
129
|
-
Run it through the evaluation suite:
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
soturail eval run
|
|
133
|
-
soturail eval report
|
|
67
|
+
## Known gaps
|
|
134
68
|
```
|
|
135
69
|
|
|
136
|
-
The
|
|
70
|
+
The contract is intentionally human-readable. Agents should implement against the approved spec, not against vague chat memory.
|
|
137
71
|
|
|
138
|
-
##
|
|
72
|
+
## Audit Rules
|
|
139
73
|
|
|
140
|
-
|
|
74
|
+
`diagram audit <file>` checks:
|
|
141
75
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
ReadyForReview --> Closed
|
|
149
|
-
Verifying --> Blocked
|
|
150
|
-
```
|
|
76
|
+
- file exists;
|
|
77
|
+
- Mermaid block exists;
|
|
78
|
+
- code fences are balanced;
|
|
79
|
+
- matching `.spec.md` exists;
|
|
80
|
+
- known workflow states are referenced when applicable;
|
|
81
|
+
- the lightweight Mermaid validator accepts the diagram or reports findings.
|
|
151
82
|
|
|
152
|
-
|
|
83
|
+
The validator is deterministic and intentionally light. It catches practical issues like missing Mermaid content, unsupported diagram declarations, state diagrams without initial transitions and workflow diagrams missing verification transitions.
|
|
153
84
|
|
|
154
|
-
|
|
155
|
-
flowchart TD
|
|
156
|
-
RiskyAction --> Queue
|
|
157
|
-
Queue --> Approve
|
|
158
|
-
Queue --> Reject
|
|
159
|
-
Approve --> Evidence
|
|
160
|
-
Reject --> SaferAlternative
|
|
161
|
-
```
|
|
85
|
+
## Workflow Rail Integration
|
|
162
86
|
|
|
163
|
-
|
|
87
|
+
Diagram Rail connects to Workflow Rail 2.0:
|
|
164
88
|
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
Build --> Test
|
|
168
|
-
Test --> PackVerify
|
|
169
|
-
PackVerify --> NpmPublish
|
|
170
|
-
NpmPublish --> GitHubRelease
|
|
89
|
+
```txt
|
|
90
|
+
setup -> plan -> work -> review -> verify -> evidence
|
|
171
91
|
```
|
|
172
92
|
|
|
173
|
-
|
|
93
|
+
Workflow evidence can include:
|
|
174
94
|
|
|
175
|
-
|
|
95
|
+
- diagram path;
|
|
96
|
+
- matching `.spec.md` path;
|
|
97
|
+
- validation result;
|
|
98
|
+
- generated workflow state diagram;
|
|
99
|
+
- release or policy diagram when present.
|
|
100
|
+
|
|
101
|
+
## Example Diagram
|
|
176
102
|
|
|
177
|
-
```markdown
|
|
178
103
|
```mermaid
|
|
179
104
|
stateDiagram-v2
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
105
|
+
[*] --> draft
|
|
106
|
+
draft --> planned
|
|
107
|
+
planned --> active
|
|
108
|
+
active --> verifying
|
|
109
|
+
verifying --> ready_for_review
|
|
110
|
+
ready_for_review --> closed
|
|
111
|
+
verifying --> blocked
|
|
187
112
|
```
|
|
188
113
|
|
|
189
|
-
The point is not that diagrams are magic. The point is that diagrams make state, sequence and constraints explicit in fewer tokens than long prose.
|
|
190
|
-
|
|
191
114
|
## Acceptance Criteria
|
|
192
115
|
|
|
193
116
|
Diagram Rail is successful only if:
|
|
@@ -198,3 +121,5 @@ Diagram Rail is successful only if:
|
|
|
198
121
|
- diagrams do not replace tests;
|
|
199
122
|
- implementation remains tied to evidence;
|
|
200
123
|
- no agent host is required to support Mermaid natively for the files to be useful.
|
|
124
|
+
|
|
125
|
+
Future versions can add `diagram sync`, `diagram from-repo` and richer local rendering after the workflow and evidence model is stable.
|
package/docs/harness-rail.md
CHANGED
|
@@ -1,71 +1,17 @@
|
|
|
1
1
|
# Harness Rail
|
|
2
2
|
|
|
3
|
-
Harness Rail
|
|
4
|
-
|
|
5
|
-
It is inspired by Claude Code harness patterns such as `setup -> plan -> work -> review -> release`, runtime guardrails, review perspectives and evidence packs. SotuRail should absorb those patterns without becoming a Claude-only plugin or a full autonomous agent runtime.
|
|
3
|
+
Harness Rail makes agent-assisted development more disciplined, auditable and repeatable. It absorbs setup/plan/work/review/release patterns without becoming a Claude-only plugin or autonomous runtime.
|
|
6
4
|
|
|
7
5
|
## Product Boundary
|
|
8
6
|
|
|
9
|
-
Harness Rail should keep SotuRail as the local Context OS layer:
|
|
10
|
-
|
|
11
7
|
```txt
|
|
12
8
|
SotuRail prepares context, policy, evidence and reports.
|
|
13
9
|
The agent still plans, edits, reasons and executes through its own host.
|
|
14
10
|
```
|
|
15
11
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- workflow discipline;
|
|
19
|
-
- policy decisions;
|
|
20
|
-
- review evidence;
|
|
21
|
-
- release evidence;
|
|
22
|
-
- failure learning;
|
|
23
|
-
- local reports;
|
|
24
|
-
- safe handoffs between agents or roles.
|
|
25
|
-
|
|
26
|
-
## Planned Workflow Shape
|
|
27
|
-
|
|
28
|
-
The long-term workflow should support a clearer delivery loop:
|
|
29
|
-
|
|
30
|
-
```txt
|
|
31
|
-
setup -> plan -> work -> review -> release
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Possible future commands:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
soturail workflow setup
|
|
38
|
-
soturail workflow plan
|
|
39
|
-
soturail workflow work
|
|
40
|
-
soturail workflow review
|
|
41
|
-
soturail workflow release
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
These commands may be implemented as direct commands, workflow templates, or aliases over existing `workflow` subcommands. They should not hide what is happening. Each phase should write evidence into `.soturail/workflows/<id>/`.
|
|
45
|
-
|
|
46
|
-
## Review Perspectives
|
|
47
|
-
|
|
48
|
-
Harness Rail should support review perspectives as structured sections rather than vague feedback.
|
|
49
|
-
|
|
50
|
-
Possible future commands:
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
soturail workflow review --perspective security
|
|
54
|
-
soturail workflow review --perspective quality
|
|
55
|
-
soturail workflow review --perspective performance
|
|
56
|
-
soturail workflow review --perspective accessibility
|
|
57
|
-
soturail workflow review --all
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
Suggested default perspectives:
|
|
12
|
+
Harness Rail focuses on workflow discipline, policy decisions, review evidence, release evidence, failure learning and local handoffs.
|
|
61
13
|
|
|
62
|
-
|
|
63
|
-
- **quality**: naming, duplication, maintainability, architecture drift;
|
|
64
|
-
- **performance**: slow paths, memory, repeated work, large payloads;
|
|
65
|
-
- **accessibility**: UI semantics, keyboard flow, contrast, screen-reader concerns where applicable;
|
|
66
|
-
- **release**: build, tests, audit, package verification, release notes.
|
|
67
|
-
|
|
68
|
-
## v0.5.0 Seed Commands
|
|
14
|
+
## Commands
|
|
69
15
|
|
|
70
16
|
```bash
|
|
71
17
|
soturail harness note "agent said done before tests passed"
|
|
@@ -77,66 +23,74 @@ soturail harness contract check
|
|
|
77
23
|
soturail workflow evidence <id>
|
|
78
24
|
```
|
|
79
25
|
|
|
80
|
-
`harness contract check` validates the local contract
|
|
26
|
+
`harness contract check` validates the local contract. It does not run build, typecheck or test commands by default.
|
|
81
27
|
|
|
82
|
-
##
|
|
28
|
+
## v0.7.0 Workflow Connection
|
|
83
29
|
|
|
84
|
-
|
|
30
|
+
Harness Rail now connects to Workflow Rail 2.0:
|
|
85
31
|
|
|
86
|
-
|
|
32
|
+
- `harness doctor` reports the active workflow when one exists.
|
|
33
|
+
- It reports whether the default harness contract is present.
|
|
34
|
+
- It reports the failure count and latest workflow verification status.
|
|
35
|
+
- It suggests a prevention action from the latest failure.
|
|
36
|
+
- `workflow verify` reads harness contract status.
|
|
37
|
+
- `workflow evidence <id>` includes harness failures and contract references.
|
|
87
38
|
|
|
88
|
-
|
|
89
|
-
soturail workflow evidence <id>
|
|
90
|
-
```
|
|
39
|
+
## Harness Failure Ledger
|
|
91
40
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
- workflow id and state;
|
|
95
|
-
- plan path;
|
|
96
|
-
- tasks path;
|
|
97
|
-
- verification path;
|
|
98
|
-
- build result;
|
|
99
|
-
- test result;
|
|
100
|
-
- audit result;
|
|
101
|
-
- npm pack/package verification result;
|
|
102
|
-
- changed files;
|
|
103
|
-
- raw command ids;
|
|
104
|
-
- offload ids;
|
|
105
|
-
- selected context pack;
|
|
106
|
-
- selected role pack;
|
|
107
|
-
- policy approvals/rejections;
|
|
108
|
-
- release notes path;
|
|
109
|
-
- benchmark report path when relevant.
|
|
41
|
+
Repeated agent mistakes should become useful local knowledge instead of disappearing into chat history.
|
|
110
42
|
|
|
111
|
-
|
|
43
|
+
A failure record tracks:
|
|
112
44
|
|
|
113
|
-
|
|
45
|
+
- workflow id when available;
|
|
46
|
+
- what failed;
|
|
47
|
+
- suspected root cause when supplied;
|
|
48
|
+
- evidence path or raw id when supplied;
|
|
49
|
+
- prevention candidate.
|
|
114
50
|
|
|
115
|
-
|
|
51
|
+
Prevention candidates include:
|
|
116
52
|
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
53
|
+
```txt
|
|
54
|
+
rule
|
|
55
|
+
doc
|
|
56
|
+
memory
|
|
57
|
+
workflow check
|
|
58
|
+
diagram/spec update
|
|
123
59
|
```
|
|
124
60
|
|
|
125
|
-
|
|
61
|
+
Use `diagram/spec update` when a repeated failure points to a missing visual contract, unclear state transition or stale `.spec.md` file.
|
|
126
62
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
63
|
+
## Review Perspectives
|
|
64
|
+
|
|
65
|
+
Workflow review reports are deterministic sections rather than vague feedback. v0.7.0 uses:
|
|
66
|
+
|
|
67
|
+
- **security**: secrets, unsafe permissions, dangerous commands, raw-log risk;
|
|
68
|
+
- **docs**: README, focused docs and release notes;
|
|
69
|
+
- **tests**: build/typecheck/test evidence and missing checks;
|
|
70
|
+
- **release**: version, changelog, release notes and publish gates;
|
|
71
|
+
- **context**: selected context, offload recovery and role packs;
|
|
72
|
+
- **agent-readiness**: short root docs, policy notes, MCP exposure and handoff readiness.
|
|
73
|
+
|
|
74
|
+
## Release Evidence
|
|
75
|
+
|
|
76
|
+
Release evidence should include:
|
|
77
|
+
|
|
78
|
+
- package version;
|
|
79
|
+
- CLI version;
|
|
80
|
+
- changelog entry;
|
|
81
|
+
- release notes path under `docs/releases/`;
|
|
82
|
+
- npm tarball check guidance;
|
|
83
|
+
- GitHub tag recommendation;
|
|
84
|
+
- npm publish checklist;
|
|
85
|
+
- CI status note;
|
|
86
|
+
- evaluation report path;
|
|
87
|
+
- workflow verification result.
|
|
88
|
+
|
|
89
|
+
Harness Rail does not publish automatically. Publishing stays an explicit release action.
|
|
136
90
|
|
|
137
91
|
## Guardrail Relationship
|
|
138
92
|
|
|
139
|
-
Harness Rail
|
|
93
|
+
Harness Rail connects to Policy Rail. Risky actions should be explainable and reviewable before they happen.
|
|
140
94
|
|
|
141
95
|
Examples:
|
|
142
96
|
|
|
@@ -153,14 +107,11 @@ R08 require evidence before release
|
|
|
153
107
|
|
|
154
108
|
## Acceptance Criteria
|
|
155
109
|
|
|
156
|
-
Harness Rail is successful only if it makes SotuRail more predictable without making it heavy
|
|
157
|
-
|
|
158
|
-
Minimum acceptance criteria before promotion:
|
|
110
|
+
Harness Rail is successful only if it makes SotuRail more predictable without making it heavy:
|
|
159
111
|
|
|
160
|
-
- docs explain the workflow clearly;
|
|
161
112
|
- commands remain local-first;
|
|
162
|
-
- dry-run or
|
|
113
|
+
- risky actions remain dry-run or approval-first;
|
|
163
114
|
- evidence is stored locally and recoverable;
|
|
164
|
-
- tests cover
|
|
165
|
-
-
|
|
115
|
+
- tests cover clean workflow fixtures;
|
|
116
|
+
- reports distinguish token savings from quality preservation;
|
|
166
117
|
- no arbitrary shell execution is exposed through MCP by default.
|
|
@@ -15,6 +15,8 @@ Before publishing:
|
|
|
15
15
|
- [ ] `npm pack --dry-run`
|
|
16
16
|
- [ ] `npm run release:check`
|
|
17
17
|
- [ ] `node dist/cli.js release verify-package`
|
|
18
|
+
- [ ] Release notes exist at `docs/releases/RELEASE_NOTES_vX.Y.Z.md`.
|
|
19
|
+
- [ ] Workflow evidence includes release notes, eval report and verification status when this release uses Workflow Rail.
|
|
18
20
|
- [ ] `node dist/cli.js --version` matches `package.json`.
|
|
19
21
|
- [ ] Confirm docs mention limitations honestly.
|
|
20
22
|
- [ ] Confirm no telemetry exists.
|
|
@@ -78,6 +80,18 @@ npx --yes soturail@X.Y.Z --version
|
|
|
78
80
|
|
|
79
81
|
Create or update the GitHub release only after those npm checks pass.
|
|
80
82
|
|
|
83
|
+
## Release Notes Location
|
|
84
|
+
|
|
85
|
+
Repository release notes live in `docs/releases/`. GitHub Releases copy that content at publish time.
|
|
86
|
+
|
|
87
|
+
Do not leave new root-level `RELEASE_NOTES_vX.Y.Z.md` files in the repository.
|
|
88
|
+
|
|
89
|
+
For v0.7.0 and later, release preflight looks for:
|
|
90
|
+
|
|
91
|
+
```txt
|
|
92
|
+
docs/releases/RELEASE_NOTES_vX.Y.Z.md
|
|
93
|
+
```
|
|
94
|
+
|
|
81
95
|
## Windows Paste Safety
|
|
82
96
|
|
|
83
97
|
Do not paste Markdown prose or code-fence labels directly into `cmd.exe` as commands. For example, do not paste ```` ```bat ````. Copy only the command lines themselves.
|
package/docs/release-workflow.md
CHANGED
|
@@ -17,10 +17,37 @@ The check also verifies:
|
|
|
17
17
|
- npm pack dry-run emits the matching tarball name;
|
|
18
18
|
- the packed tarball installs into a clean temp project and its installed CLI prints the package version;
|
|
19
19
|
- expected package files are present and forbidden generated files are absent;
|
|
20
|
-
- `CHANGELOG.md` and `RELEASE_NOTES_vX.Y.Z.md` exist for the local version;
|
|
20
|
+
- `CHANGELOG.md` and `docs/releases/RELEASE_NOTES_vX.Y.Z.md` exist for the local version;
|
|
21
21
|
- README install instructions and `LICENSE` exist.
|
|
22
22
|
- required GitHub CI and community files exist under `.github/`.
|
|
23
23
|
|
|
24
|
+
Release notes now live under `docs/releases/`. Root-level `RELEASE_NOTES_vX.Y.Z.md` files should not be created for new releases.
|
|
25
|
+
|
|
26
|
+
## Release Evidence
|
|
27
|
+
|
|
28
|
+
v0.7.0 workflow evidence includes release evidence when package metadata is present:
|
|
29
|
+
|
|
30
|
+
- package version;
|
|
31
|
+
- CLI version;
|
|
32
|
+
- `CHANGELOG.md` entry;
|
|
33
|
+
- release notes path under `docs/releases/`;
|
|
34
|
+
- npm tarball check guidance;
|
|
35
|
+
- GitHub tag recommendation;
|
|
36
|
+
- npm publish checklist;
|
|
37
|
+
- CI status note;
|
|
38
|
+
- evaluation report path;
|
|
39
|
+
- workflow verification result.
|
|
40
|
+
|
|
41
|
+
Generate or inspect local release evidence with:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
soturail workflow verify
|
|
45
|
+
soturail workflow evidence <id>
|
|
46
|
+
soturail release check
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
These commands do not publish to npm or create GitHub releases.
|
|
50
|
+
|
|
24
51
|
You can run only the package verification gate with:
|
|
25
52
|
|
|
26
53
|
```bash
|
|
@@ -90,3 +117,9 @@ Safety rules:
|
|
|
90
117
|
- Never publish if the requested package version already exists on npm.
|
|
91
118
|
- Never create a GitHub release before npm publish succeeds.
|
|
92
119
|
- Never hide errors.
|
|
120
|
+
|
|
121
|
+
## Historical npm Backfill Policy
|
|
122
|
+
|
|
123
|
+
If a GitHub tag/release exists for an older version that was not published to npm, backfill only when the historical checkout builds, tests and publishes safely with a non-latest tag such as `backfill`.
|
|
124
|
+
|
|
125
|
+
Do not force-publish historical packages if their historical tests fail or npm requires unavailable 2FA. Record the blocker and continue the current release.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Release Notes
|
|
2
|
+
|
|
3
|
+
This folder is the repository source of truth for SotuRail release notes.
|
|
4
|
+
|
|
5
|
+
GitHub Releases copy the relevant file contents at release time. Keep edited release notes here so package checks, release scripts and docs all use the same path:
|
|
6
|
+
|
|
7
|
+
```txt
|
|
8
|
+
docs/releases/RELEASE_NOTES_vX.Y.Z.md
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Index
|
|
12
|
+
|
|
13
|
+
- [v0.2.1](RELEASE_NOTES_v0.2.1.md)
|
|
14
|
+
- [v0.2.2](RELEASE_NOTES_v0.2.2.md)
|
|
15
|
+
- [v0.2.3](RELEASE_NOTES_v0.2.3.md)
|
|
16
|
+
- [v0.3.0](RELEASE_NOTES_v0.3.0.md)
|
|
17
|
+
- [v0.3.1](RELEASE_NOTES_v0.3.1.md)
|
|
18
|
+
- [v0.3.2](RELEASE_NOTES_v0.3.2.md)
|
|
19
|
+
- [v0.3.3](RELEASE_NOTES_v0.3.3.md)
|
|
20
|
+
- [v0.4.0](RELEASE_NOTES_v0.4.0.md)
|
|
21
|
+
- [v0.4.1](RELEASE_NOTES_v0.4.1.md)
|
|
22
|
+
- [v0.5.0](RELEASE_NOTES_v0.5.0.md)
|
|
23
|
+
- [v0.5.1](RELEASE_NOTES_v0.5.1.md)
|
|
24
|
+
- [v0.5.2](RELEASE_NOTES_v0.5.2.md)
|
|
25
|
+
- [v0.6.0](RELEASE_NOTES_v0.6.0.md)
|
|
26
|
+
- [v0.6.1](RELEASE_NOTES_v0.6.1.md)
|
|
27
|
+
- [v0.7.0](RELEASE_NOTES_v0.7.0.md)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
SotuRail v0.2.1 is the first public npm release.
|
|
2
|
+
|
|
3
|
+
## Install
|
|
4
|
+
|
|
5
|
+
- npx soturail --help
|
|
6
|
+
- npm install -g soturail
|
|
7
|
+
- soturail --help
|
|
8
|
+
|
|
9
|
+
## Highlights
|
|
10
|
+
|
|
11
|
+
- Published on npm.
|
|
12
|
+
- Local-first Context OS for AI coding agents.
|
|
13
|
+
- Reversible terminal compression and raw log recovery.
|
|
14
|
+
- Progressive repo reading.
|
|
15
|
+
- Spec-Driven Development workflow.
|
|
16
|
+
- Agent response compression.
|
|
17
|
+
- Knowledge-to-Rules ingestion.
|
|
18
|
+
- Prompt-cache-friendly payload organization.
|
|
19
|
+
- Local benchmarks and metrics.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# SotuRail v0.2.2 - Self-Dogfooding & Reliability
|
|
2
|
+
|
|
3
|
+
SotuRail v0.2.2 adds the first self-dogfooding workflow: the project can now validate itself using SotuRail commands before release.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
- `npx soturail@0.2.2 --help`
|
|
8
|
+
- `npm install -g soturail`
|
|
9
|
+
- `soturail --help`
|
|
10
|
+
|
|
11
|
+
## Highlights
|
|
12
|
+
|
|
13
|
+
- `soturail self doctor`
|
|
14
|
+
- `soturail self index`
|
|
15
|
+
- `soturail self build`
|
|
16
|
+
- `soturail self test`
|
|
17
|
+
- `soturail self bench`
|
|
18
|
+
- `soturail self report`
|
|
19
|
+
- `soturail self all`
|
|
20
|
+
- Cache-friendly self-dogfood report.
|
|
21
|
+
- Honest tiny-output stats accounting.
|
|
22
|
+
- Expanded benchmark categories.
|
|
23
|
+
- Windows documentation.
|
|
24
|
+
|
|
25
|
+
## Validation
|
|
26
|
+
|
|
27
|
+
- `npm run build`: passed (`tsc -p tsconfig.json`)
|
|
28
|
+
- `npm test`: passed (1 passed)
|
|
29
|
+
- `npm audit --omit=dev`: passed (`found 0 vulnerabilities`)
|
|
30
|
+
- `node dist/cli.js self all`: passed (report: .soturail\reports\self-dogfood.md)
|
|
31
|
+
- `npm pack --dry-run`: passed (soturail-0.2.2.tgz)
|
|
32
|
+
|
|
33
|
+
## Audit Notes
|
|
34
|
+
|
|
35
|
+
Runtime audit is clean with `npm audit --omit=dev`. Remaining audit findings, if any, are development dependency findings and should be upgraded safely without `--force`.
|
|
36
|
+
|
|
37
|
+
- Runtime audit findings: 0
|
|
38
|
+
- Full audit findings: 5
|
|
39
|
+
- Development-only findings: @vitest/mocker, esbuild, vite, vite-node, vitest
|
|
40
|
+
|
|
41
|
+
## Notes
|
|
42
|
+
|
|
43
|
+
SotuRail does not claim provider cache hits unless real provider metadata is imported.
|
|
44
|
+
|
|
45
|
+
## Links
|
|
46
|
+
|
|
47
|
+
- npm: https://www.npmjs.com/package/soturail
|
|
48
|
+
- GitHub: https://github.com/Soturine/soturail
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# SotuRail v0.2.3 - Release Reliability & CLI Version Sync
|
|
2
|
+
|
|
3
|
+
SotuRail v0.2.3 fixes CLI version metadata and adds release preflight checks to prevent stale npm/CLI releases.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
npx soturail@0.2.3 --help
|
|
8
|
+
npm install -g soturail
|
|
9
|
+
soturail --help
|
|
10
|
+
|
|
11
|
+
## Fixes
|
|
12
|
+
|
|
13
|
+
- Fixed CLI `--version` output so it matches the npm package version.
|
|
14
|
+
- Removed stale hardcoded version metadata from CLI command logic.
|
|
15
|
+
- Added release preflight checks before npm publish.
|
|
16
|
+
|
|
17
|
+
## Release Reliability
|
|
18
|
+
|
|
19
|
+
- Added version sync validation.
|
|
20
|
+
- Added package-lock validation.
|
|
21
|
+
- Added npm pack metadata validation.
|
|
22
|
+
- Added changelog/release-notes validation.
|
|
23
|
+
- Added runtime audit validation.
|
|
24
|
+
|
|
25
|
+
## Validation
|
|
26
|
+
|
|
27
|
+
- `npm run build`
|
|
28
|
+
- `npm test`
|
|
29
|
+
- `npm audit --omit=dev`
|
|
30
|
+
- `npm pack --dry-run`
|
|
31
|
+
- `node dist/cli.js --version`
|
|
32
|
+
|
|
33
|
+
## Links
|
|
34
|
+
|
|
35
|
+
- npm: https://www.npmjs.com/package/soturail
|
|
36
|
+
- GitHub: https://github.com/Soturine/soturail
|