vinta-ai-workflows 0.7.0-alpha12 → 0.7.0-alpha13

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 +76 -2
  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-alpha13 on 2026-09-16 -->
10
11
  <!-- pre-release: 0.7.0-alpha12 on 2026-09-15 -->
11
12
  <!-- pre-release: 0.7.0-alpha11 on 2026-09-15 -->
12
13
  <!-- pre-release: 0.7.0-alpha10 on 2026-09-15 -->
@@ -282,6 +283,28 @@ the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
282
283
  **generated** from a zod source rather than hand-written — see
283
284
  [`schemas/README.md`](schemas/README.md).
284
285
 
286
+ - **The monitor keeps thinking when you look away, and thinks out loud.**
287
+ Asking used to be one long HTTP request that produced the whole answer inside
288
+ it, which made the turn's lifetime the browser's connection: switching view,
289
+ reloading or letting a laptop sleep killed the monitor mid-thought and left a
290
+ question with no answer and no record that one had been attempted. The daemon
291
+ owns the turn now — `POST` answers `202`, and the monitor journals each
292
+ thought and each sentence as it produces them, so the conversation is
293
+ readable while it is being written and by any tab that opens it. The panel
294
+ renders through the same rows a phase's transcript uses, which is what the
295
+ API always claimed and the UI never did.
296
+
297
+ - **A phase's transcript says which agent wrote each line, and holds the gates.**
298
+ Every spawn on a node appends to one file whatever its role, so a phase that
299
+ took two fix rounds held five agents' output in one undifferentiated stream —
300
+ the role was in scope at the append and simply not written down. Each line now
301
+ carries the role and the session slot that produced it, the view bands the
302
+ list where one agent stops and the next starts, and gate runs are entries in
303
+ it rather than only in a log beside it. The operator's own steering stays the
304
+ operator's (§7), even though the adapter echoes it back on the agent's event
305
+ stream. Transcripts written before this render exactly as they did, with no
306
+ bands.
307
+
285
308
  ### Changed
286
309
 
287
310
  - **Phase branches base on their dependencies, not on the previous phase.** A phase
@@ -339,6 +362,59 @@ the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
339
362
 
340
363
  ### Fixed
341
364
 
365
+ - **The monitor's conversation could never be written on Windows.** It is kept
366
+ under a reserved node id that becomes a directory, and that id was
367
+ `monitor:conversation` — a colon, chosen because no phase id may contain one,
368
+ and the drive separator on Windows. `mkdir` failed with `ENOENT`, so every
369
+ question threw on its first append and the endpoint reported the monitor
370
+ unavailable. A colon is legal in a macOS or Linux filename, which is why no
371
+ machine the feature was built on ever saw it. The id is now
372
+ `_monitor-conversation`: still unrepresentable as a phase id, and legal
373
+ everywhere. Conversations recorded under the old id are not migrated.
374
+
375
+ - **An implementer was told both to commit and never to commit.** The prompt
376
+ carried "never commit while a gate is red" beside "the turn is not complete
377
+ until `git status --porcelain` is empty of your work" — a contradiction
378
+ whenever the gate could not be turned green inside the turn, which is most of
379
+ why fix rounds exist. Agents obeyed the `never`, and the reviewer one node
380
+ later raised the BLOCKER it is told to raise for uncommitted work, spending a
381
+ fix round re-implementing code that was already on disk. A red gate now
382
+ changes the report and never the decision to commit: commit, and report
383
+ FAILURE saying what is still red.
384
+
385
+ The reviewer's side was a false BLOCKER independently of that. Any unclean
386
+ tree was a finding, and a lane's tree is never clean — the pool copies
387
+ configuration in, links dependency trees, and the gates leave build output
388
+ behind, none of which the implementer is allowed to stage. It is scoped to
389
+ the failure it was written for now: work that is in the tree and missing from
390
+ the diff.
391
+ - **A live transcript stops following at entry sixty.** The effect that kept the
392
+ box on the newest row was keyed on how many rows were *shown*, which is
393
+ `min(entries, window)` — so it stopped changing the moment a transcript
394
+ outgrew one window, and the following died silently and permanently, including
395
+ after the operator scrolled back to the bottom to ask for it. Which is roughly
396
+ minute two of any real phase. It follows on the entry count now, growing the
397
+ window keeps the reader on the row they were reading instead of teleporting
398
+ them, and a **Jump to latest** button says so out loud rather than leaving a
399
+ 60px band at the bottom of a scroller as the only way back in.
400
+
401
+ - **The transcript spends its space on the noisiest rows.** An agent's answer,
402
+ its private reasoning and four hundred characters of tool-call JSON all
403
+ rendered as the same two lines at the same weight. Thinking is now small and
404
+ quiet, and a streamed thought is one row rather than the dozen events it
405
+ arrived as; tool calls and their results fold to the argument that says what
406
+ they did — a command, a path — and open individually or a whole kind at a time
407
+ from the panel header. Prose is untouched and never folds.
408
+
409
+ - **A panel's expand control did nothing on the node view.** It expanded by
410
+ taking `col-span-full`, which on the run view bought a strip a third wider and
411
+ on the node view matched nothing at all — those panels sit in a flex column,
412
+ not a grid, so the only thing the button changed was the height of the
413
+ scroller inside it. It now opens the panel over the whole page through a
414
+ portal, so no scrolling ancestor can clip it, with Escape to leave and the
415
+ page behind it held still. A transcript that was following stays on its newest
416
+ row across the change.
417
+
342
418
  - **`doctor` checks that the shared servers answer.** It verified that binaries
343
419
  existed and disk fitted, and never looked at a `server_url` — so a project
344
420
  whose Postgres lives in another checkout's compose stack passed the preflight
@@ -1178,7 +1254,6 @@ the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1178
1254
  **Consumers**: re-sync to pick up the opt-in questions. E2E-disabled projects
1179
1255
  are unaffected (the e2e regions strip out as before).
1180
1256
 
1181
-
1182
1257
  <!-- pre-release: 0.2.0-alpha6 on 2026-07-13 -->
1183
1258
 
1184
1259
  ### Changed
@@ -1215,7 +1290,6 @@ the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1215
1290
 
1216
1291
  ### Added
1217
1292
 
1218
-
1219
1293
  - **`handoff` foundation skill — session-continuation handoff docs between
1220
1294
  agents.** Write mode captures the current task (goal, verified-vs-unverified
1221
1295
  state, decisions + rejected alternatives, landmines, single concrete next
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vinta-ai-workflows",
3
- "version": "0.7.0-alpha12",
3
+ "version": "0.7.0-alpha13",
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": {