wowbagger 0.1.0-alpha.2 → 0.1.0-alpha.3

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
@@ -7,6 +7,18 @@ consolidation. The first tagged release inherits this file.
7
7
 
8
8
  ## Unreleased
9
9
 
10
+ ## 0.1.0-alpha.3 - 2026-08-12
11
+
12
+ ### Fixed
13
+
14
+ - Published install and upgrade guidance now names this release's immutable Git
15
+ tag and uses the prerelease `next` npm channel instead of the older `latest`
16
+ artifact. Item 62.
17
+ - The installed plugin skill now requires the exact core distribution version
18
+ that shipped with it, in addition to core contract version 2. This detects an
19
+ older core that shares the contract number but lacks behavior required by the
20
+ newer skill. Item 64; item 63 records the rejected capability-schema change.
21
+
10
22
  ## 0.1.0-alpha.2 - 2026-08-12
11
23
 
12
24
  ### Fixed
package/README.md CHANGED
@@ -34,7 +34,7 @@ Install the core CLI, then verify it:
34
34
  ```sh
35
35
  npm install -g wowbagger@next # public npm prerelease
36
36
  # or, from this release's Git tag:
37
- # npm install -g github:lstutzman/wowbagger#v0.1.0-alpha.1
37
+ # npm install -g github:lstutzman/wowbagger#v0.1.0-alpha.3
38
38
  wowbagger capabilities --json
39
39
  ```
40
40
 
@@ -45,11 +45,12 @@ In Claude Code, add the plugin:
45
45
  /plugin install wowbagger@wowbagger
46
46
  ```
47
47
 
48
- The plugin drives the installed core rather than bundling one, so a version
49
- mismatch is detectable instead of silent: it reads `contract_version` from
50
- `capabilities` and refuses when the core is absent or reports anything it does
51
- not support. It will not fall back to editing ledger files by hand, because that
52
- would bypass validation and atomic publication.
48
+ The plugin drives the installed core rather than bundling one, so a mismatch is
49
+ detectable instead of silent. Its skill reads `wowbagger --version` and
50
+ `capabilities`; it requires the same distribution version as the plugin and
51
+ core contract version 2. It refuses an absent or incompatible core. It will not
52
+ fall back to editing ledger files by hand, because that would bypass validation
53
+ and atomic publication.
53
54
 
54
55
  For an isolated consumer pilot, create or select the disposable worktree before
55
56
  the agent starts. Then launch a new session with that worktree as its project
@@ -69,22 +70,23 @@ two supported install routes:
69
70
  - **npm registry** — `npm install -g wowbagger@next` installs the current
70
71
  prerelease.
71
72
  - **git tag** —
72
- `npm install -g github:lstutzman/wowbagger#v0.1.0-alpha.1` installs this
73
+ `npm install -g github:lstutzman/wowbagger#v0.1.0-alpha.3` installs this
73
74
  release. Installing at a ref installs the core and every adapter that ref
74
75
  carries.
75
76
 
76
77
  Either route installs the core and the `wowbagger` command. The Claude Code
77
78
  plugin is a separate artifact (see [Start here](#start-here)); the core and the
78
- plugin are installed and versioned independently, and a mismatch is refused by
79
- `contract_version` rather than guessed.
79
+ plugin are installed independently. Install their matching distribution
80
+ versions.
80
81
 
81
82
  ### Compatibility
82
83
 
83
- The behavioural version is `contract_version`, reported by
84
+ The contract version is top-level `contract_version`, reported by
84
85
  `wowbagger capabilities --json`. Contracts change it; refactors do not. The
85
- distribution version is the npm/git version, which names bytes, not behaviour.
86
- Match on `contract_version` never on the package version — when you decide
87
- whether a core supports your request.
86
+ npm/Git distribution version names release bytes. General API consumers
87
+ negotiate the contract version. The shipped plugin skill additionally requires
88
+ the exact core distribution version that shipped with it, because its
89
+ instructions can depend on additive behavior from that release.
88
90
 
89
91
  - **Node.js:** 20 and later. The adapter conformance vectors run against Node
90
92
  20 and the current runtime before each release.
@@ -131,8 +133,8 @@ wowbagger core, this is how you move forward safely.
131
133
  Upgrade the pieces you installed:
132
134
 
133
135
  ```sh
134
- npm install -g wowbagger@latest # public npm registry
135
- npm install -g github:lstutzman/wowbagger # or: a direct git-tag install
136
+ npm install -g wowbagger@next # public npm registry
137
+ npm install -g github:lstutzman/wowbagger#v0.1.0-alpha.3 # immutable Git release
136
138
  git pull && npm ci # or: a direct checkout
137
139
  ```
138
140
 
@@ -143,15 +145,15 @@ In Claude Code, update the plugin the same way it was installed:
143
145
  /plugin update wowbagger@wowbagger
144
146
  ```
145
147
 
146
- Then verify, exactly as on first install:
147
-
148
148
  ```sh
149
+ wowbagger --version
149
150
  wowbagger capabilities --json
150
151
  ```
151
152
 
152
- The top-level `contract_version` is the core compatibility gate. The plugin
153
- and adapter refuse a core that reports a version they do not support; if you
154
- automate against the core directly, do the same rather than guessing.
153
+ The plugin requires its exact core distribution version and top-level core
154
+ `contract_version: 2`. Direct API consumers must check the contract version
155
+ they support; installed plugin users must also keep the plugin and core
156
+ distribution versions equal.
155
157
 
156
158
  The shipped adapter selects only adapter contract version 2 and requires core
157
159
  contract version 2. A v1-only consumer receives
@@ -340,8 +342,9 @@ top-level `contract_version` from core `capabilities`. Read
340
342
  `result.operations.work_claim.api_version` from
341
343
  `claim capabilities --ledger <dir> --json`. A claim response's top-level
342
344
  `contract_version` is the legacy claim-envelope marker; do not compare it with
343
- the core version. A consumer that receives an unsupported version refuses
344
- rather than guessing. Direct checkout use—`./bin/wowbagger.js` from a
345
+ the core version. A contract consumer that receives an unsupported version
346
+ refuses rather than guessing. The shipped plugin skill also requires its exact
347
+ core distribution version. Direct checkout use—`./bin/wowbagger.js` from a
345
348
  clone—remains supported and is what this repository's own ledger uses.
346
349
 
347
350
  ## Verify a checkout
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wowbagger",
3
- "version": "0.1.0-alpha.2",
3
+ "version": "0.1.0-alpha.3",
4
4
  "description": "Plain-Markdown, Git-native work ledger for coordinating agents — validate, ready-select, and mutate a task ledger from the CLI.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -15,23 +15,29 @@ This skill does **not** bundle the wowbagger core. It drives an installed one,
15
15
  so a version mismatch is detectable rather than silent.
16
16
 
17
17
  ```sh
18
+ wowbagger --version
18
19
  wowbagger capabilities --json
19
20
  ```
20
21
 
21
- Read the top-level `contract_version` from this core response. **This skill
22
- requires core `contract_version: 2`.**
22
+ Read the plain distribution version from the first command and the top-level
23
+ `contract_version` from the second. **This skill requires distribution version
24
+ `0.1.0-alpha.3` and core `contract_version: 2`.**
23
25
 
24
26
  - Command not found → the core is not installed. Tell the user, point them at
25
27
  <https://github.com/lstutzman/wowbagger>, and stop. Do not fall back to
26
28
  editing ledger files by hand — hand-edits bypass validation and atomic
27
29
  publication, which is the whole point of the tool.
30
+ - If the distribution version is missing or is different, stop and report the
31
+ installed and required versions. An older core can share contract version 2
32
+ while still lacking behavior this skill requires. Do not guess from the
33
+ contract version alone.
28
34
  - `contract_version` is anything other than `2` → stop and say so plainly. A
29
35
  core reporting `1` predates schema version 2, where `depends_on` records
30
36
  declared prerequisites rather than only live blockers; an older or newer core
31
37
  may have changed the request or response shape. Do not guess.
32
38
 
33
- Run this once per session before the first ledger command, not before every
34
- command.
39
+ Run both commands once per session before the first ledger command, not before
40
+ every command.
35
41
 
36
42
  ## Reading
37
43