substrate-ai 0.20.104 → 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.
@@ -96,10 +96,12 @@ Each dispatched story runs in `.substrate-worktrees/story-<key>` on its own bran
96
96
 
97
97
  ### Recommended `.gitignore` entries
98
98
 
99
- Substrate writes ephemeral per-process and per-run state under `.substrate/`. Only `.substrate/config.yaml` is intended to be tracked everything else (Dolt repo, kv-metrics, run manifests, heartbeats, halt notifications, current-run-id, .pid files) regenerates each run. Ignore everything under `.substrate/` and re-include only the config:
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.
100
102
 
101
103
  ```gitignore
102
- # Substrate ephemeral state — track only the operator config
104
+ # Substrate state — track only the operator config
103
105
  .substrate/*
104
106
  !.substrate/config.yaml
105
107
  ```
@@ -111,15 +111,23 @@ Each dispatched story runs in `.substrate-worktrees/story-<key>` on its own bran
111
111
 
112
112
  ### Recommended `.gitignore` entries
113
113
 
114
- Substrate writes ephemeral per-process and per-run state under `.substrate/`. Only `.substrate/config.yaml` is intended to be tracked — everything else (the Dolt repo, kv-metrics, run manifests, heartbeats, halt notifications, current-run-id, .pid files) is regenerated each run and should be ignored. The simplest pattern is to ignore everything under `.substrate/` and re-include only the config:
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.
115
122
 
116
123
  ```gitignore
117
- # Substrate ephemeral state — track only the operator config
124
+ # Substrate state — track only the operator config; everything else is
125
+ # per-process, per-run, or local-machine accumulation
118
126
  .substrate/*
119
127
  !.substrate/config.yaml
120
128
  ```
121
129
 
122
- This is future-proof against new ephemeral files substrate may introduce. If you'd rather enumerate the specific patterns, the equivalent explicit form is:
130
+ This is future-proof against new files substrate may introduce. If you want to enumerate explicitly instead:
123
131
 
124
132
  ```gitignore
125
133
  .substrate/state/
@@ -133,6 +141,8 @@ This is future-proof against new ephemeral files substrate may introduce. If you
133
141
  .substrate/routing-policy.yaml
134
142
  ```
135
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
+
136
146
  ### State Backend
137
147
 
138
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.
@@ -96,10 +96,12 @@ Each dispatched story runs in `.substrate-worktrees/story-<key>` on its own bran
96
96
 
97
97
  ### Recommended `.gitignore` entries
98
98
 
99
- Substrate writes ephemeral per-process and per-run state under `.substrate/`. Only `.substrate/config.yaml` is intended to be tracked everything else (Dolt repo, kv-metrics, run manifests, heartbeats, halt notifications, current-run-id, .pid files) regenerates each run. Ignore everything under `.substrate/` and re-include only the config:
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.
100
102
 
101
103
  ```gitignore
102
- # Substrate ephemeral state — track only the operator config
104
+ # Substrate state — track only the operator config
103
105
  .substrate/*
104
106
  !.substrate/config.yaml
105
107
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "substrate-ai",
3
- "version": "0.20.104",
3
+ "version": "0.20.105",
4
4
  "description": "Substrate — multi-agent orchestration daemon for AI coding agents",
5
5
  "type": "module",
6
6
  "license": "MIT",