@vitrinka/cli 5.4.0 → 5.5.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.
Files changed (2) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/package.json +7 -7
package/CHANGELOG.md CHANGED
@@ -3,6 +3,69 @@
3
3
  `vitrinka update` prints the sections newer than your previous version
4
4
  after updating — keep entries short and user-facing.
5
5
 
6
+ ## 5.5.1
7
+
8
+ **The 5.5.0 hook ceilings actually arrive.** `vitrinka setup` compared a
9
+ hook's command but never its timeout, so a row whose command never changed
10
+ kept the ceiling it was first written with — the Stop gate stayed at 20 s on
11
+ every upgraded machine while setup reported done and `doctor` agreed. The
12
+ timeout is now part of the hook's identity: setup rewrites a stale ceiling
13
+ in place and counts it as drift. Re-run `vitrinka setup` once on 5.5.1.
14
+
15
+ **`setup` repairs the Codex hooks it is told to repair.** `doctor`'s
16
+ `hooks·codex` row has always named `vitrinka setup` as its fix, but setup
17
+ only ever touched Claude's `settings.json`, so a machine kept the retired
18
+ `hook-context task` row in `~/.codex/hooks.json` indefinitely. The step now
19
+ covers every harness present, and the presence probe for the Claude CLI is
20
+ memoized like its Codex twin — setup asked for it up to three times, each a
21
+ 3-second subprocess.
22
+
23
+ ## 5.5.0
24
+
25
+ **Breaking: a hand-back files STEPS on the task, not a pile of child
26
+ tasks.** `hand_back` / `vitrinka task handback` lands each `next` item as a
27
+ step on the task's own checklist; a child task appears only when the item
28
+ says `task: true` with a type, so an agent has to argue for a task and
29
+ never for a step. New flags: `--step "name[::kind][::who-or-date][::when]"`
30
+ and `--gate "name[::who][::when]"`; `--next` now means a child TASK. An
31
+ `omitted` item starting with `Decide:` becomes a human gate that blocks
32
+ Done. A step whose trigger is observable carries `when` in the todo grammar
33
+ (`pr 12 merged`) and the server ticks it with evidence. A pickup leads with
34
+ the task's open steps, then its children. ⚠️ An older `@vitrinka/cli`
35
+ sending a raw `next` item as `{title, type}` with no `task` key now gets a
36
+ 422 telling it to set `task: true` — update before handing back.
37
+
38
+ **The session-end auto-archive is gone.** `vitrinka qa session archive
39
+ on|off|status` and the `SessionEnd` hook that uploaded a whole redacted
40
+ transcript whenever a session naming a task ended no longer exist — every
41
+ such session left a record nobody asked for, and the record buried the
42
+ hand-back. Archiving a transcript is an explicit hand-off act:
43
+ `vitrinka qa session archive <transcript.jsonl> --task <id>` when the work
44
+ passes to a colleague, with the task labelled `eve-distill` so they open
45
+ the digest. `vitrinka setup` strips the retired hook.
46
+
47
+ **One SessionStart hook instead of three.** `vitrinka hook-context start`
48
+ prints the run stamp with the pickup, the todo cue and the schedule cue in
49
+ one process and one envelope; the cues fire only on a real start (Claude
50
+ Code's `source` is `startup` or `clear`), so a resume or a compaction pays
51
+ the stamp alone and needs no matcher. Timeouts are short (8 s start, 10 s
52
+ task-end, 5 s stop, 5 s touch) and the Stop gate reads only the last 4 MiB
53
+ of a transcript. `vitrinka setup` replaces the old `task`, `todo` and
54
+ `schedule` rows in place; the old verbs still answer for machines that have
55
+ not re-run setup.
56
+
57
+ **NEXT is a work queue, not a menu.** The pickup skill works the task's open
58
+ steps and then every child down the list until only rows a human must do
59
+ remain — a decision the tree waits on is asked mid-flight, never filed and
60
+ left; only the context window ends a sitting. Its mirror in the handoff
61
+ skill: `next` holds only what the human must do, and work the agent can do
62
+ is built before the hand-back.
63
+
64
+ **Smaller:** the listen skill's ladder is served by the server
65
+ (`docs {topic: "…"}`) instead of shipping as a file in the plugin, and the
66
+ Claude plugin renders into its own kit subtree so an installed plugin cache
67
+ holds nothing installable.
68
+
6
69
  ## 5.4.0
7
70
 
8
71
  **Breaking: the old `<verb>_<kind>` tool names are gone.** `list_tasks`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitrinka/cli",
3
- "version": "5.4.0",
3
+ "version": "5.5.1",
4
4
  "description": "vitrinka CLI — capture and publish artifact sets, drive the annotation-board work queue. Thin npm launcher for the single-binary Go CLI.",
5
5
  "bin": {
6
6
  "vitrinka": "bin/vitrinka.js"
@@ -15,12 +15,12 @@
15
15
  "node": ">=18"
16
16
  },
17
17
  "optionalDependencies": {
18
- "@vitrinka/cli-darwin-arm64": "5.4.0",
19
- "@vitrinka/cli-darwin-x64": "5.4.0",
20
- "@vitrinka/cli-linux-arm64": "5.4.0",
21
- "@vitrinka/cli-linux-x64": "5.4.0",
22
- "@vitrinka/cli-win32-arm64": "5.4.0",
23
- "@vitrinka/cli-win32-x64": "5.4.0"
18
+ "@vitrinka/cli-darwin-arm64": "5.5.1",
19
+ "@vitrinka/cli-darwin-x64": "5.5.1",
20
+ "@vitrinka/cli-linux-arm64": "5.5.1",
21
+ "@vitrinka/cli-linux-x64": "5.5.1",
22
+ "@vitrinka/cli-win32-arm64": "5.5.1",
23
+ "@vitrinka/cli-win32-x64": "5.5.1"
24
24
  },
25
25
  "keywords": [
26
26
  "vitrinka",