@chrok/braid 0.2.0 → 0.2.1

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,6 +2,25 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.2.1 — 2026-10-04
6
+
7
+ ### Maintenance
8
+
9
+ - Upgrade the Pi validation target to 1.0.1 and refresh the workspace lockfile
10
+ so Pi's minimatch resolves the patched brace-expansion 5.0.12. Add a separate
11
+ dependency-security check covering development dependencies and reporting
12
+ scanner failures explicitly
13
+ ([#38](https://github.com/Epsirom/braid/pull/38)) — @Epsirom.
14
+
15
+ No Braid API or runtime behavior changes. Pi 1.0.1 is the tested host version;
16
+ updating Braid does not upgrade a separately installed Pi host.
17
+
18
+ ### New Contributors
19
+
20
+ No first-time human contributors in this release.
21
+
22
+ [Full comparison](https://github.com/Epsirom/braid/compare/v0.2.0...v0.2.1).
23
+
5
24
  ## 0.2.0 — 2026-10-02
6
25
 
7
26
  ### Features and breaking changes
package/CONTRIBUTING.md CHANGED
@@ -34,6 +34,15 @@ checkout. That last check needs registry access for Pi dependencies but never
34
34
  calls a model. `npm test` is the fast core-only loop; `npm run test:pi` tests Pi.
35
35
  `npm run bench` measures the scheduler without a provider.
36
36
 
37
+ Run `npm run audit:dependencies` after `npm ci` to scan the complete dependency
38
+ tree, including development dependencies. The separate Dependency security
39
+ workflow runs this on pull requests, pushes to main, and weekly. The command
40
+ exits 1 for vulnerabilities and 2 for scanner failures or incomplete reports;
41
+ both fail the workflow, with details in its log and a separate result summary.
42
+ This registry-backed check is separate from `verify` so deterministic tests do
43
+ not depend on audit service availability. See [dependency security](SECURITY.md#dependency-security)
44
+ for the known Pi shrinkwrap issue and the required upgrade verification.
45
+
37
46
  ## Changes and reviews
38
47
 
39
48
  Submit changes to `main` through a pull request, including maintainer changes.
package/README.md CHANGED
@@ -102,7 +102,7 @@ before running a custom adapter against a repository.
102
102
 
103
103
  ## Install in Pi
104
104
 
105
- With Pi 0.87.1 and Node.js 22.19+:
105
+ With Pi 1.0.1 and Node.js 22.19+:
106
106
 
107
107
  ```sh
108
108
  pi install npm:@chrok/pi-braid
@@ -110,7 +110,7 @@ pi install npm:@chrok/pi-braid
110
110
 
111
111
  Run `/reload`, ask Pi to analyze a task with Braid, and open `/braid` to inspect
112
112
  the job. npm installs the exact matching core dependency; no checkout is needed
113
- for published versions. To try 0.2 before publication, follow the
113
+ for published versions. To try the current source checkout, follow the
114
114
  [local Pi installation guide](integrations/pi/README.md#install-this-local-checkout-in-pi).
115
115
 
116
116
  ![Braid Pi flow panel with an offline example](docs/assets/pi-panel.svg)
package/SECURITY.md CHANGED
@@ -13,6 +13,32 @@ advisory where appropriate. There is no response-time guarantee or bounty progra
13
13
  Only the latest released 0.x minor series receives fixes; older series should
14
14
  upgrade. Before the first release, report issues against the current main branch.
15
15
 
16
+ ## Dependency security
17
+
18
+ Audit the development tree as well as runtime dependencies with
19
+ `npm ci` followed by `npm run audit:dependencies`. Scanner errors are incomplete
20
+ results and fail the check; they must not be treated as zero vulnerabilities.
21
+
22
+ The Pi development dependencies are pinned together to 1.0.1. Its
23
+ [published npm tarball](https://registry.npmjs.org/@earendil-works/pi-coding-agent/-/pi-coding-agent-1.0.1.tgz)
24
+ removes `npm-shrinkwrap.json` and directly pins `brace-expansion` 5.0.12, fixing
25
+ [GHSA-q2hr-2g5m-vwhr](https://github.com/advisories/GHSA-q2hr-2g5m-vwhr) and related
26
+ advisories tracked in [issue #37](https://github.com/Epsirom/braid/issues/37).
27
+ The regenerated Braid lockfile resolves Pi's `minimatch 10.2.6` to
28
+ `brace-expansion 5.0.12` after a clean `npm ci`, verified on 2026-10-03.
29
+
30
+ An upstream release does not update an existing Braid lockfile or installation.
31
+ When upgrading Pi, inspect the published package (including any shrinkwrap),
32
+ update the Pi development dependencies together, regenerate the root lockfile,
33
+ and inspect `npm ls brace-expansion --all` after a clean `npm ci`. Confirm the
34
+ version resolved by Pi's installed minimatch, run `npm run verify`, and review
35
+ `npm run audit:dependencies` before declaring a dependency issue fixed.
36
+
37
+ These Braid lockfile entries are development dependencies. This does not
38
+ establish exposure in a separately installed Pi host; inspect that host's actual
39
+ dependency tree independently. A production-only audit of this repository cannot
40
+ answer that question.
41
+
16
42
  ## Trust boundaries
17
43
 
18
44
  - Braid isolates invocation context; it is not a process or filesystem sandbox.
@@ -3,7 +3,7 @@
3
3
  | Surface | Supported / tested contract |
4
4
  | --- | --- |
5
5
  | Core runtime | Node.js 22+, ESM imports, TypeScript declarations, no runtime dependencies |
6
- | Pi package | Node.js 22.19+, Pi 0.87.1 is the pinned validation target |
6
+ | Pi package | Node.js 22.19+, Pi 1.0.1 is the pinned validation target |
7
7
  | CI | Core minimum Node 22.0; both packages on Node 22.19 and 24 on Linux, macOS, Windows |
8
8
  | OpenAI-compatible runner | Chat Completions text and function-tool calls; decisions and merge/integrate nodes require tool calling |
9
9
  | Browsers / CommonJS | No supported browser build or CommonJS entry point in 0.2 |
@@ -14,7 +14,7 @@ that every provider advertising OpenAI compatibility supports its tool schema.
14
14
  Run a small opt-in live test with your chosen provider before relying on it.
15
15
 
16
16
  Pi's upstream packaging guide requires `*` peer dependencies for packages the
17
- host provides. Braid follows that convention and pins dev dependencies to 0.87.1.
17
+ host provides. Braid follows that convention and pins dev dependencies to 1.0.1.
18
18
  The wildcard is a loader/distribution convention, **not a claim that every Pi
19
19
  version works**. Test the whole Pi suite before updating the supported target.
20
20
  The offline host compatibility test loads the extension into a real Pi session
@@ -23,7 +23,7 @@ exactly one automatic continuation per node/job reminder delivered during
23
23
  `agent_settled`, including retrieval of a node output while its job still runs.
24
24
  This covers the Pi 0.86/0.87 transcript and settling changes without provider
25
25
  credentials or network model calls. Version 0.1.0 was originally validated with
26
- Pi 0.85.1; the current checkout's pinned validation target is 0.87.1.
26
+ Pi 0.85.1; the current checkout's pinned validation target is 1.0.1.
27
27
  The Pi npm package declares an exact dependency on the matching `@chrok/braid`
28
28
  release. npm installs the core automatically; Pi does not bundle another copy of
29
29
  its runtime and does not need a source checkout.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chrok/braid",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "license": "MIT",
5
5
  "description": "TypeScript runtime for LLM agent graphs with bounded loops, live updates, and isolated Git worktrees",
6
6
  "type": "module",
@@ -33,6 +33,7 @@
33
33
  "build": "node scripts/build.mjs",
34
34
  "check": "tsc --noEmit",
35
35
  "test": "tsx --test test/*.test.ts test/*.test.mjs",
36
+ "audit:dependencies": "node scripts/audit-dependencies.mjs",
36
37
  "demo": "tsx examples/basic.ts",
37
38
  "check:pi": "npm run build && npm run check --workspace @chrok/pi-braid",
38
39
  "test:pi": "npm run build && npm test --workspace @chrok/pi-braid",