@chrok/braid 0.1.2 → 0.2.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/CHANGELOG.md CHANGED
@@ -2,26 +2,153 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.2.0 — 2026-10-02
6
+
7
+ ### Features and breaking changes
8
+
9
+ - Separate editable node definitions from unique execution instances, preserving
10
+ captured prompts, policies, predecessor identities, and historical results
11
+ ([#35](https://github.com/Epsirom/braid/pull/35)) — @Epsirom.
12
+ - Support bounded structured loops with explicit decision feedback, finite round
13
+ limits, fresh worktrees per visit, and no overlapping/nested rounds
14
+ ([#35](https://github.com/Epsirom/braid/pull/35)) — @Epsirom.
15
+ - Add `startBraid`, revision-checked live updates, `pauseAfter`, and atomic
16
+ update/resume. Pi adds `braid_update`, `braid_resume`, exact execution retrieval,
17
+ iteration-aware reminders, and live topology updates
18
+ ([#35](https://github.com/Epsirom/braid/pull/35)) — @Epsirom.
19
+ - Derive successor worktrees from predecessor checkpoints, including read-only
20
+ executions. Split isolated `merge` from source-checkout `integrate`; remove
21
+ automatic final integration. Workspace keys and merge dispositions use
22
+ `executionId`; sources remain reusable until final cleanup
23
+ ([#35](https://github.com/Epsirom/braid/pull/35)) — @Epsirom.
24
+ - Make invocation failures optional by default. Captured `requireSuccess: true`
25
+ failures abort siblings and fail the job after writes/checkpoint/cleanup drain.
26
+ Add a finite `maxExecutions` budget shared across loops and live updates
27
+ ([#35](https://github.com/Epsirom/braid/pull/35)) — @Epsirom.
28
+ - Add submission-local `promptTemplates` and explicit template-reference prompts
29
+ to core and Pi's `braid` tool. Core expands `{{name}}` placeholders using literal
30
+ string variables, validates every rendered prompt before execution, and keeps
31
+ existing plain-string/default merge prompts and runner contracts. Shared
32
+ instructions no longer need repeating in each node's tool-call arguments
33
+ ([#33](https://github.com/Epsirom/braid/pull/33)) — @Epsirom.
34
+ - Add opt-in `notifyOnCompletion` on execute, decision, and merge nodes. Pi sends
35
+ parent reminders on node success/failure, including timeout/cancellation of
36
+ running nodes, with delivery acknowledgement and dropped-message retries.
37
+ Skipped nodes stay silent; whole-job reminders remain enabled. Add
38
+ `braid_status({jobId, nodeId})` for full intermediate outputs/errors, with
39
+ overflow results saved to a private temporary file. Live graph
40
+ controls are now available through the execution-control API above
41
+ ([#34](https://github.com/Epsirom/braid/pull/34),
42
+ [#35](https://github.com/Epsirom/braid/pull/35)) — @Epsirom.
43
+
44
+ See the [0.1 → 0.2 migration guide](docs/compatibility.md#migrating-from-01-to-02)
45
+ before upgrading: use `integrate` for source-checkout writes, add explicit final
46
+ integration, use execution IDs for historical results and merge dispositions,
47
+ and set `requireSuccess: true` where failures must stop the whole run.
48
+
49
+ ### Maintenance
50
+
51
+ - Refresh repository/package descriptions and discovery keywords for mutable
52
+ agent graphs, bounded loops, and explicit workspace integration. Add npm links
53
+ and version badges, distinguish 0.2 source from published 0.1.3, and align the
54
+ roadmap and release checklist with the new execution contract
55
+ ([#36](https://github.com/Epsirom/braid/pull/36)) — @Epsirom.
56
+ - Update `@types/node` from 22.20.2 to 22.20.4
57
+ ([#17](https://github.com/Epsirom/braid/pull/17)) — @dependabot[bot].
58
+
59
+ ### New Contributors
60
+
61
+ No first-time human contributors in this release.
62
+
63
+ [Full comparison](https://github.com/Epsirom/braid/compare/v0.1.3...v0.2.0).
64
+
65
+ ## 0.1.3 — 2026-09-29
66
+
67
+ ### Features and fixes
68
+
69
+ - Add per-node `workspace: "read-only" | "worktree"` for execute/decision nodes.
70
+ Read-only nodes inspect the live source directory with Git inspection, without
71
+ writable tools, snapshots, worktrees, or merge sources. Existing defaults are
72
+ preserved. Pi's braid tool guides analysis/review/routing/synthesis to read-only
73
+ nodes and implementation to worktrees; explicit read-only workspace metadata
74
+ is included in results and events
75
+ ([#28](https://github.com/Epsirom/braid/pull/28)) — @Epsirom.
76
+ - Skip the automatic merge agent when all remaining workspaces match their
77
+ snapshots, preserving analysis-only terminal outputs and original node errors.
78
+ Mixed runs pass only changed sources to the automatic merge. Unchanged sources
79
+ retain recovery refs pointing to their snapshots without empty checkpoint
80
+ commits; explicit merge nodes still run even for unchanged sources
81
+ ([#27](https://github.com/Epsirom/braid/pull/27)) — @Epsirom.
82
+ - Prevent Pi TUI crashes in narrow terminals by truncating the flowchart fallback
83
+ message to the terminal width
84
+ ([#24](https://github.com/Epsirom/braid/pull/24)) — @powerfooI
85
+ (**First-time contributor**).
86
+
87
+ ### Maintenance
88
+
89
+ - Scan fork pull requests with CodeQL advanced setup so external contributions
90
+ can satisfy the required security checks
91
+ ([#25](https://github.com/Epsirom/braid/pull/25)) — @Epsirom.
92
+ - Make timeout coverage independent of workspace timing
93
+ ([#26](https://github.com/Epsirom/braid/pull/26)) — @Epsirom.
94
+
95
+ ### New Contributors
96
+
97
+ - Thanks to @powerfooI for their first contribution in
98
+ [#24](https://github.com/Epsirom/braid/pull/24)!
99
+
100
+ [Full comparison](https://github.com/Epsirom/braid/compare/v0.1.2...v0.1.3).
101
+
5
102
  ## 0.1.2 — 2026-09-27
6
103
 
104
+ ### Features and fixes
105
+
7
106
  - Make Pi depend on the exact `@chrok/braid` version instead of bundling core.
8
- Export shared model-adapter helpers from the existing root entry point.
107
+ Export shared model-adapter helpers from the existing root entry point
108
+ ([#19](https://github.com/Epsirom/braid/pull/19)) — @Epsirom.
109
+
110
+ ### Build and release maintenance
111
+
9
112
  - Use one npm workspace lockfile and a development-only local core link; test
10
- Pi-only installation against the unpublished core tarball outside the checkout.
11
- - Wait for core registry metadata and tarball availability before publishing Pi.
113
+ Pi-only installation against the unpublished core tarball outside the checkout
114
+ ([#19](https://github.com/Epsirom/braid/pull/19)) — @Epsirom.
115
+ - Wait for core registry metadata and tarball availability before publishing Pi
116
+ ([#19](https://github.com/Epsirom/braid/pull/19)) — @Epsirom.
117
+
118
+ ### New Contributors
119
+
120
+ No first-time human contributors in this release.
121
+
122
+ [Full comparison](https://github.com/Epsirom/braid/compare/v0.1.1...v0.1.2).
12
123
 
13
124
  ## 0.1.1 — 2026-09-27
14
125
 
15
- - Validate the Pi integration against Pi 0.87.1; update GitHub Actions and tsx.
16
- - Group routine dependency updates and reserve Node/TypeScript major upgrades
17
- for deliberate compatibility changes across both packages.
126
+ ### Features and fixes
127
+
18
128
  - Clarify Pi tool and context guidance for parallel implementation and merge
19
129
  nodes; describe read-only filesystem access by the node's assigned workspace
20
- instead of assuming its directory is outside Git.
130
+ instead of assuming its directory is outside Git
131
+ ([#15](https://github.com/Epsirom/braid/pull/15)) — @Epsirom.
21
132
  - Trim OpenAI-compatible base URL trailing slashes in linear time, avoiding
22
- excessive regular-expression backtracking on long internal slash sequences.
133
+ excessive regular-expression backtracking on long internal slash sequences
134
+ ([#14](https://github.com/Epsirom/braid/pull/14)) — @Epsirom.
135
+
136
+ ### Maintenance
137
+
138
+ - Validate the Pi integration against Pi 0.87.1; update GitHub Actions and tsx
139
+ ([#16](https://github.com/Epsirom/braid/pull/16)) — @Epsirom.
140
+ - Group routine dependency updates and reserve Node/TypeScript major upgrades
141
+ for deliberate compatibility changes across both packages
142
+ ([#16](https://github.com/Epsirom/braid/pull/16)) — @Epsirom.
23
143
  - Protect the main branch and version tags; document repository governance,
24
- CodeQL checks, Actions restrictions, and immutable releases.
144
+ CodeQL checks, Actions restrictions, and immutable releases
145
+ ([#14](https://github.com/Epsirom/braid/pull/14)) — @Epsirom.
146
+
147
+ ### New Contributors
148
+
149
+ No first-time human contributors in this release.
150
+
151
+ [Full comparison](https://github.com/Epsirom/braid/compare/v0.1.0...v0.1.1).
25
152
 
26
153
  ## 0.1.0 — 2026-09-27
27
154
 
@@ -29,18 +156,42 @@ Initial public release. Publication is tracked in
29
156
  [GitHub releases](https://github.com/Epsirom/braid/releases).
30
157
 
31
158
  - Framework-independent DAG runtime with conditional decisions, bounded
32
- concurrency, explicit joins, failure propagation, and isolated node context.
159
+ concurrency, explicit joins, failure propagation, and isolated node context
160
+ ([initial commit](https://github.com/Epsirom/braid/commit/bdf4812f6844a415adcdaf53d83ac6f2ace63f2e))
161
+ — @Epsirom (**First-time contributor**).
33
162
  - Caller cancellation, node/graph deadlines, immutable events, partial results,
34
- model overrides, and provider-reported token accounting.
35
- - OpenAI-compatible Chat Completions runner with validated decision tool calls.
163
+ model overrides, and provider-reported token accounting
164
+ ([initial commit](https://github.com/Epsirom/braid/commit/bdf4812f6844a415adcdaf53d83ac6f2ace63f2e)) — @Epsirom.
165
+ - OpenAI-compatible Chat Completions runner with validated decision tool calls
166
+ ([initial commit](https://github.com/Epsirom/braid/commit/bdf4812f6844a415adcdaf53d83ac6f2ace63f2e)) — @Epsirom.
36
167
  - Pi background jobs, completion reminders, cancellation, guarded worker tools,
37
- and a live flow panel. The Pi package includes the matching core runtime.
168
+ and a live flow panel
169
+ ([573a2a4](https://github.com/Epsirom/braid/commit/573a2a4c4b240ad29ce7ed7c2ef1d063187a49c8),
170
+ [#4](https://github.com/Epsirom/braid/pull/4)). The Pi package includes the
171
+ matching core runtime ([#5](https://github.com/Epsirom/braid/pull/5)) — @Epsirom.
38
172
  - Core-managed Git worktrees, checkpoint/backup refs, agent-driven merge nodes,
39
- failure context on unconditional edges, and optional Pi tool budgets.
173
+ failure context on unconditional edges
174
+ ([#4](https://github.com/Epsirom/braid/pull/4)), and optional Pi tool budgets
175
+ with finite-budget reminders ([#3](https://github.com/Epsirom/braid/pull/3)) — @Epsirom.
176
+
177
+ ### Packaging and maintenance
178
+
40
179
  - Clean package builds, isolated tarball checks, CI for Node and supported
41
- operating systems, and an npm trusted-publishing workflow.
180
+ operating systems, and an npm trusted-publishing workflow
181
+ ([#5](https://github.com/Epsirom/braid/pull/5)) — @Epsirom.
42
182
  - Install guides, runnable offline examples, compatibility and resource-limit
43
- documentation, scheduler benchmarks, and contribution/security policies.
183
+ documentation, scheduler benchmarks, and contribution/security policies
184
+ ([#5](https://github.com/Epsirom/braid/pull/5)) — @Epsirom.
185
+
186
+ ### New Contributors
187
+
188
+ - Thanks to @Epsirom for starting the project with the
189
+ [initial commit](https://github.com/Epsirom/braid/commit/bdf4812f6844a415adcdaf53d83ac6f2ace63f2e)
190
+ and contributing [#3](https://github.com/Epsirom/braid/pull/3),
191
+ [#4](https://github.com/Epsirom/braid/pull/4), and
192
+ [#5](https://github.com/Epsirom/braid/pull/5).
193
+
194
+ [Release history](https://github.com/Epsirom/braid/commits/v0.1.0).
44
195
 
45
196
  Limitations: no persistent jobs, retries, token/spend budgets, streaming core
46
197
  responses, graph mutation, nested runs, or sandboxing. See the roadmap and