substrate-ai 0.20.103 → 0.20.105
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/dist/cli/index.js
CHANGED
|
@@ -2089,6 +2089,10 @@ async function runInitAction(options) {
|
|
|
2089
2089
|
".substrate/current-run-id",
|
|
2090
2090
|
".substrate/scenarios/",
|
|
2091
2091
|
".substrate/state/",
|
|
2092
|
+
".substrate/runs/",
|
|
2093
|
+
".substrate/notifications/",
|
|
2094
|
+
".substrate/kv-metrics.json",
|
|
2095
|
+
".substrate/latest-heartbeat-per-story-state.json",
|
|
2092
2096
|
".substrate/substrate.db",
|
|
2093
2097
|
".substrate/substrate.db-journal",
|
|
2094
2098
|
".codex/prompts/",
|
|
@@ -93,4 +93,16 @@ Each dispatched story runs in `.substrate-worktrees/story-<key>` on its own bran
|
|
|
93
93
|
- `.substrate/runs/<run-id>.json` — per-run manifest (one file per run; not an aggregate)
|
|
94
94
|
- `.substrate/current-run-id` — plain text file with the latest run ID
|
|
95
95
|
- `.substrate/notifications/<run-id>-<timestamp>.json` — operator halt notifications (deleted by `substrate report` after read)
|
|
96
|
+
|
|
97
|
+
### Recommended `.gitignore` entries
|
|
98
|
+
|
|
99
|
+
Substrate writes per-project state under `.substrate/` in a few flavors: per-process scratch (`.pid`, `current-run-id`, `latest-heartbeat-per-story-state.json` — regenerated each run); per-run artifacts (`runs/<run-id>.json`, `notifications/`); local telemetry (`kv-metrics.json` — per-run phase token breakdown, accumulates into a local corpus used by `substrate metrics` and optional auto-tuner); the Dolt repository (`state/`); and the operator config (`config.yaml`, the only file intended for cross-machine sharing).
|
|
100
|
+
|
|
101
|
+
Defensible default: ignore everything under `.substrate/` except the operator config. Local telemetry stays per-developer; operators see their own corpus locally regardless of git.
|
|
102
|
+
|
|
103
|
+
```gitignore
|
|
104
|
+
# Substrate state — track only the operator config
|
|
105
|
+
.substrate/*
|
|
106
|
+
!.substrate/config.yaml
|
|
107
|
+
```
|
|
96
108
|
<!-- substrate:end -->
|
|
@@ -109,6 +109,40 @@ Each dispatched story runs in `.substrate-worktrees/story-<key>` on its own bran
|
|
|
109
109
|
- `.substrate/current-run-id` — plain text file with the latest run ID; consulted by canonical run-discovery
|
|
110
110
|
- `.substrate/notifications/<run-id>-<timestamp>.json` — operator halt notifications written by the Recovery Engine; deleted by `substrate report` after read
|
|
111
111
|
|
|
112
|
+
### Recommended `.gitignore` entries
|
|
113
|
+
|
|
114
|
+
Substrate writes per-project state under `.substrate/` in a few flavors:
|
|
115
|
+
- **Per-process scratch** (`.pid`, `current-run-id`, `latest-heartbeat-per-story-state.json`) — regenerated each run.
|
|
116
|
+
- **Per-run artifacts** (`runs/<run-id>.json`, `notifications/<run-id>-*.json`) — accumulate across runs; substrate report consumes and cleans notifications.
|
|
117
|
+
- **Local telemetry** (`kv-metrics.json` — per-run phase token breakdown used by `substrate metrics --output-format json` and, when enabled, the routing auto-tuner) — accumulates across runs into a local corpus.
|
|
118
|
+
- **The Dolt repository** (`state/`) — versioned pipeline state, large + binary.
|
|
119
|
+
- **Operator config** (`config.yaml`) — the only file intended for cross-machine sharing.
|
|
120
|
+
|
|
121
|
+
The defensible default for most projects is to ignore everything under `.substrate/` except the operator config. Local telemetry stays on each developer's machine — operators see their own corpus locally via `substrate metrics`; cross-machine sharing of routing telemetry is a future feature, not currently supported.
|
|
122
|
+
|
|
123
|
+
```gitignore
|
|
124
|
+
# Substrate state — track only the operator config; everything else is
|
|
125
|
+
# per-process, per-run, or local-machine accumulation
|
|
126
|
+
.substrate/*
|
|
127
|
+
!.substrate/config.yaml
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
This is future-proof against new files substrate may introduce. If you want to enumerate explicitly instead:
|
|
131
|
+
|
|
132
|
+
```gitignore
|
|
133
|
+
.substrate/state/
|
|
134
|
+
.substrate/runs/
|
|
135
|
+
.substrate/notifications/
|
|
136
|
+
.substrate/kv-metrics.json
|
|
137
|
+
.substrate/current-run-id
|
|
138
|
+
.substrate/latest-heartbeat-per-story-state.json
|
|
139
|
+
.substrate/*.db
|
|
140
|
+
.substrate/*.pid
|
|
141
|
+
.substrate/routing-policy.yaml
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Tradeoff to consider:** if your team wants to share a routing auto-tune corpus across machines (e.g., to seed `config.auto_tune` decisions with combined data), you could remove `kv-metrics.json` from the ignore set — at the cost of one git-mutation per substrate run. Most teams don't need this; the file is operator-visible locally regardless of git.
|
|
145
|
+
|
|
112
146
|
### State Backend
|
|
113
147
|
|
|
114
148
|
Substrate uses Dolt for versioned pipeline state by default. Run `substrate init` to set it up automatically if Dolt is on PATH. Features that require Dolt: `substrate history`, OTEL observability persistence, and context engineering repo-map storage.
|
|
@@ -93,4 +93,16 @@ Each dispatched story runs in `.substrate-worktrees/story-<key>` on its own bran
|
|
|
93
93
|
- `.substrate/runs/<run-id>.json` — per-run manifest (one file per run; not an aggregate)
|
|
94
94
|
- `.substrate/current-run-id` — plain text file with the latest run ID
|
|
95
95
|
- `.substrate/notifications/<run-id>-<timestamp>.json` — operator halt notifications (deleted by `substrate report` after read)
|
|
96
|
+
|
|
97
|
+
### Recommended `.gitignore` entries
|
|
98
|
+
|
|
99
|
+
Substrate writes per-project state under `.substrate/` in a few flavors: per-process scratch (`.pid`, `current-run-id`, `latest-heartbeat-per-story-state.json` — regenerated each run); per-run artifacts (`runs/<run-id>.json`, `notifications/`); local telemetry (`kv-metrics.json` — per-run phase token breakdown, accumulates into a local corpus used by `substrate metrics` and optional auto-tuner); the Dolt repository (`state/`); and the operator config (`config.yaml`, the only file intended for cross-machine sharing).
|
|
100
|
+
|
|
101
|
+
Defensible default: ignore everything under `.substrate/` except the operator config. Local telemetry stays per-developer; operators see their own corpus locally regardless of git.
|
|
102
|
+
|
|
103
|
+
```gitignore
|
|
104
|
+
# Substrate state — track only the operator config
|
|
105
|
+
.substrate/*
|
|
106
|
+
!.substrate/config.yaml
|
|
107
|
+
```
|
|
96
108
|
<!-- substrate:end -->
|