vinta-ai-workflows 0.7.0-alpha7 → 0.7.0-alpha8

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.
Files changed (2) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,7 @@ the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
8
  ## [0.7.0] — YYYY-MM-DD
9
9
 
10
+ <!-- pre-release: 0.7.0-alpha8 on 2026-09-14 -->
10
11
  <!-- pre-release: 0.7.0-alpha7 on 2026-09-14 -->
11
12
  <!-- pre-release: 0.7.0-alpha6 on 2026-09-13 -->
12
13
  <!-- pre-release: 0.7.0-alpha5 on 2026-09-13 -->
@@ -17,6 +18,45 @@ the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
17
18
 
18
19
  ### Added
19
20
 
21
+ - **A failed phase retries itself, and then asks.** `--on-failure` defaults to
22
+ `retry`: one cold re-attempt (`--retries <n>`, 0–5), and then the node parks
23
+ on a question — retry, retry with another member of the crew, or stop. The
24
+ failures this system produces are overwhelmingly environmental and are gone by
25
+ the second attempt; the ones that survive it are the ones worth a person.
26
+ `ask` skips the automatic attempt. `stop` is the old behaviour and remains the
27
+ right choice for CI, because everything else eventually **waits**.
28
+
29
+ A failure that survives its retries says so: the reason carries
30
+ `(after N attempts)`, which no event otherwise records.
31
+
32
+ - **A failed phase can be retried by hand.** A **Retry phase** button, and
33
+ `POST /api/runs/:runId/nodes/:nodeId/retry`. It returns the node to the ready
34
+ set and unblocks the subtree its failure blocked — a phase that died of
35
+ something environmental holds up work that was never broken. It needs the run
36
+ to still be in flight, which with the new default it usually is; a run that
37
+ has genuinely ended is re-run, not retried, and says so rather than doing
38
+ nothing.
39
+
40
+ - **The monitor can go and look.** It was given a digest and nothing else, and
41
+ read exactly as thin as that sounds — it could say a phase had failed and
42
+ never say what the phase had written. It is briefed as a technical project
43
+ manager now, with the map: the plan document, each phase's brief, each lane's
44
+ worktree path, each branch and its base, and where the journal and transcripts
45
+ live. It has a shell and its working directory is the repository, so it can
46
+ read the diff before drawing a conclusion. The digest stays as the index —
47
+ bounded, cheap, enough to know which phase is worth a closer look.
48
+
49
+ - **The monitor conversation is kept.** It lived in component state, so a reload
50
+ threw away every question and every answer — a worse record than the run it
51
+ describes. It is written to the transcript store under a reserved node id and
52
+ read back on load, so it outlives the tab, the daemon and the run.
53
+
54
+ - **Panels expand.** Anything holding content that is only nominally
55
+ summarisable — an agent's transcript, a gate log, the monitor conversation,
56
+ the steering box — takes the full container width and about a screen of
57
+ height on demand. The height travels as a CSS variable, because the element
58
+ that has to grow is a scroller several components below the panel.
59
+
20
60
  - **A run has a spokesperson you can ask.** `serve` grows a **Monitor** panel on
21
61
  the run view: one agent that reads the journal and answers in prose — what is
22
62
  blocked, why a phase failed, what it would take to move on. It runs on the
@@ -254,6 +294,13 @@ the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
254
294
 
255
295
  ### Fixed
256
296
 
297
+ - **`serve --host 0.0.0.0` prints a URL another machine can open.** Binding
298
+ every interface made the server report the wildcard back, so the line printed
299
+ for the operator to open — and share — was `http://0.0.0.0:<port>`, which
300
+ resolves for nobody. The bind is unchanged; the printed host is now this
301
+ machine's LAN address. The daemon still warns, because the token in that URL
302
+ is the only thing between the run and anyone who can reach the port.
303
+
257
304
  - **An agent can run a shell command.** `auto` mapped to the vendor's
258
305
  `acceptEdits`, which accepts file *edits* and nothing else — a shell command
259
306
  still goes to a permission prompt, and in `-p` there is nobody to answer one.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vinta-ai-workflows",
3
- "version": "0.7.0-alpha7",
3
+ "version": "0.7.0-alpha8",
4
4
  "description": "Bootstrap AI tooling (AGENTS.md, skills, sub-agents) across Claude Code, Codex, Cursor, and VS Code + GitHub Copilot.",
5
5
  "type": "module",
6
6
  "bin": {