@vitrinka/cli 5.3.0 → 5.5.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.
Files changed (2) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/package.json +7 -7
package/CHANGELOG.md CHANGED
@@ -3,6 +3,87 @@
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.0
7
+
8
+ **Breaking: a hand-back files STEPS on the task, not a pile of child
9
+ tasks.** `hand_back` / `vitrinka task handback` lands each `next` item as a
10
+ step on the task's own checklist; a child task appears only when the item
11
+ says `task: true` with a type, so an agent has to argue for a task and
12
+ never for a step. New flags: `--step "name[::kind][::who-or-date][::when]"`
13
+ and `--gate "name[::who][::when]"`; `--next` now means a child TASK. An
14
+ `omitted` item starting with `Decide:` becomes a human gate that blocks
15
+ Done. A step whose trigger is observable carries `when` in the todo grammar
16
+ (`pr 12 merged`) and the server ticks it with evidence. A pickup leads with
17
+ the task's open steps, then its children. ⚠️ An older `@vitrinka/cli`
18
+ sending a raw `next` item as `{title, type}` with no `task` key now gets a
19
+ 422 telling it to set `task: true` — update before handing back.
20
+
21
+ **The session-end auto-archive is gone.** `vitrinka qa session archive
22
+ on|off|status` and the `SessionEnd` hook that uploaded a whole redacted
23
+ transcript whenever a session naming a task ended no longer exist — every
24
+ such session left a record nobody asked for, and the record buried the
25
+ hand-back. Archiving a transcript is an explicit hand-off act:
26
+ `vitrinka qa session archive <transcript.jsonl> --task <id>` when the work
27
+ passes to a colleague, with the task labelled `eve-distill` so they open
28
+ the digest. `vitrinka setup` strips the retired hook.
29
+
30
+ **One SessionStart hook instead of three.** `vitrinka hook-context start`
31
+ prints the run stamp with the pickup, the todo cue and the schedule cue in
32
+ one process and one envelope; the cues fire only on a real start (Claude
33
+ Code's `source` is `startup` or `clear`), so a resume or a compaction pays
34
+ the stamp alone and needs no matcher. Timeouts are short (8 s start, 10 s
35
+ task-end, 5 s stop, 5 s touch) and the Stop gate reads only the last 4 MiB
36
+ of a transcript. `vitrinka setup` replaces the old `task`, `todo` and
37
+ `schedule` rows in place; the old verbs still answer for machines that have
38
+ not re-run setup.
39
+
40
+ **NEXT is a work queue, not a menu.** The pickup skill works the task's open
41
+ steps and then every child down the list until only rows a human must do
42
+ remain — a decision the tree waits on is asked mid-flight, never filed and
43
+ left; only the context window ends a sitting. Its mirror in the handoff
44
+ skill: `next` holds only what the human must do, and work the agent can do
45
+ is built before the hand-back.
46
+
47
+ **Smaller:** the listen skill's ladder is served by the server
48
+ (`docs {topic: "…"}`) instead of shipping as a file in the plugin, and the
49
+ Claude plugin renders into its own kit subtree so an installed plugin cache
50
+ holds nothing installable.
51
+
52
+ ## 5.4.0
53
+
54
+ **Breaking: the old `<verb>_<kind>` tool names are gone.** `list_tasks`,
55
+ `get_task`, `create_board`, `get_brief`, `list_work`, `get_session` and every
56
+ other name the six generic verbs absorbed in 5.3.0 no longer answer; the call
57
+ is `list · get · create · update · delete · search {kind: "<kind>", …}` —
58
+ the kind is the old name's tail, singular for list and search (`list_tasks`
59
+ → `list {kind: "task"}`, `get_brief` → `get {kind: "brief"}`, `list_work` →
60
+ `list {kind: "work"}`). An old name answers a one-line rename hint, nothing
61
+ else. Per-kind contracts: `docs {topic: "kind:<kind>"}`. `update_cards`,
62
+ `get_card_image`, `get_templates` and `search` keep their names.
63
+
64
+ **The catalogue lost weight.** Argument prose moved out of `tools/list` into
65
+ docs topics, so a registration pays for the tools it can call, not for their
66
+ manuals. A new `rare` module holds the doors a session almost never needs
67
+ (`transfer_project`, `merge_project`, `mark_deploy`, `promote_meeting`,
68
+ `rename_set`, `review_judge*`, `review_stats`, `review_job`,
69
+ `meeting_notes`, `save_template`, `dry_run_rule`, `edit_journey_node`,
70
+ `set_preferences`, `favorite`, `unfavorite`, `my_favorites`,
71
+ `retract_questions`, `board_working`, `request_review`) — never listed by
72
+ default; opt in on the registration's `/mcp` URL with
73
+ `?modules=core,pm,qa,me,rare`. `usage` joins `select`, `jq` and `budget` as
74
+ a universal argument. `vitrinka doctor` prints the tool count the server
75
+ advertises to this registration.
76
+
77
+ **A bare task id is refused where it is ambiguous.** On an organisation-wide
78
+ grant that spans more than one workspace, an id-only tool on the root
79
+ `/mcp` door no longer guesses: a bare `{id: 42}` answers `spell it
80
+ <workspace>/<id>`. A `project` argument that pins the workspace, the
81
+ `/w/<slug>/mcp` door and the `<workspace>/<id>` spelling all work as before.
82
+
83
+ The contract date moves to 2026-09-15 — served by `/api/v1/version`, stamped
84
+ in every skill and in the kit export. Every skill now spells the generic
85
+ verbs, and the ones that lean on a `rare` tool say so.
86
+
6
87
  ## 5.3.0
7
88
 
8
89
  **Skills went on a token diet; the MCP refuses to dump.** Every MCP tool
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitrinka/cli",
3
- "version": "5.3.0",
3
+ "version": "5.5.0",
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.3.0",
19
- "@vitrinka/cli-darwin-x64": "5.3.0",
20
- "@vitrinka/cli-linux-arm64": "5.3.0",
21
- "@vitrinka/cli-linux-x64": "5.3.0",
22
- "@vitrinka/cli-win32-arm64": "5.3.0",
23
- "@vitrinka/cli-win32-x64": "5.3.0"
18
+ "@vitrinka/cli-darwin-arm64": "5.5.0",
19
+ "@vitrinka/cli-darwin-x64": "5.5.0",
20
+ "@vitrinka/cli-linux-arm64": "5.5.0",
21
+ "@vitrinka/cli-linux-x64": "5.5.0",
22
+ "@vitrinka/cli-win32-arm64": "5.5.0",
23
+ "@vitrinka/cli-win32-x64": "5.5.0"
24
24
  },
25
25
  "keywords": [
26
26
  "vitrinka",