fairlead 0.2.0 → 0.3.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
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0 (2026-09-26)
4
+
5
+ ### New
6
+
7
+ - Edges the imports don't show: `[[graph.edges]]` makes each file matching `from` depend on the files its `to` globs match, and the planner follows the edge like an import. It fits a test that reaches its code over HTTP instead of importing it. A `{name}` is read from the side where it's a whole path segment, so `{area}{,-*}.test.ts` still picks up `orders-refunds.test.ts`, and `config check` refuses a rule that would silently match the wrong files. See [Import graph](https://mahkassem.github.io/fairlead/docs/graph.html#edges-the-imports-dont-show).
8
+ - A walk barrier: `graph.barrier` names files the planner reaches but doesn't go past, such as a server module that every area imports and that imports every area. A changed barrier file is left to `tests.unreached` unless `plan.run_all` covers it. `graph why` and `test --explain` say where a barrier stopped the walk, and `graph stats` counts rule edges and barrier files. See [Barriers](https://mahkassem.github.io/fairlead/docs/graph.html#barriers).
9
+ - Replay reads `bun test` output: `extractor = "bun"` attributes each `(fail)` line to the file header above it, including bun's interleaved parallel output and several bun runs in one job, and never takes a failure from bun's closing summary. The dataset keeps those lines. See [Replay](https://mahkassem.github.io/fairlead/docs/replay.html).
10
+
11
+ ### Known gaps
12
+
13
+ - A bun test file that fails to load prints no `(fail)` line, so replay can't attribute it yet ([#68](https://github.com/mahkassem/fairlead/issues/68)).
14
+ - A captured path segment that looks like glob syntax, such as `[slug]`, is re-read as a glob when filled into another pattern ([#69](https://github.com/mahkassem/fairlead/issues/69)).
15
+
3
16
  ## 0.2.0 (2026-09-26)
4
17
 
5
18
  ### New
package/README.md CHANGED
@@ -107,9 +107,10 @@ commands. The [quick start](#quick-start) shows them, and the
107
107
 
108
108
  ## Status
109
109
 
110
- Pre-alpha. The latest release, v0.2.0, ships the test plan, the CI commands
111
- and action, replay, and the config commands. Its recall on real CI failures,
112
- with every miss and its cause, is in the [changelog](CHANGELOG.md) and on the
110
+ Pre-alpha. The latest release, v0.3.0, adds edges the imports don't show, a
111
+ walk barrier, and replay of bun test output to v0.2.0's test plan, CI commands
112
+ and action, replay, and config commands. Recall on real CI failures, with every
113
+ miss and its cause, is in the [changelog](CHANGELOG.md) and on the
113
114
  [benchmarks page](https://mahkassem.github.io/fairlead/docs/benchmarks.html).
114
115
  Claude Code comes first, then Codex. The [roadmap](https://mahkassem.github.io/fairlead/docs/roadmap.html)
115
116
  has milestones K0 to K6, each an [issue](https://github.com/mahkassem/fairlead/issues)
@@ -19,7 +19,7 @@
19
19
  "hasInstallScript": true,
20
20
  "license": "MIT OR Apache-2.0",
21
21
  "name": "fairlead",
22
- "version": "0.2.0"
22
+ "version": "0.3.0"
23
23
  },
24
24
  "node_modules/detect-libc": {
25
25
  "engines": {
@@ -48,5 +48,5 @@
48
48
  }
49
49
  },
50
50
  "requires": true,
51
- "version": "0.2.0"
51
+ "version": "0.3.0"
52
52
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "artifactDownloadUrls": [
3
- "https://github.com/mahkassem/fairlead/releases/download/v0.2.0"
3
+ "https://github.com/mahkassem/fairlead/releases/download/v0.3.0"
4
4
  ],
5
5
  "bin": {
6
6
  "fairlead": "run-fairlead.js"
@@ -90,7 +90,7 @@
90
90
  "zipExt": ".tar.xz"
91
91
  }
92
92
  },
93
- "version": "0.2.0",
93
+ "version": "0.3.0",
94
94
  "volta": {
95
95
  "node": "18.14.1",
96
96
  "npm": "9.5.0"