wowbagger 0.1.0-alpha.1 → 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,51 @@ 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
+
22
+ ## 0.1.0-alpha.2 - 2026-08-12
23
+
24
+ ### Fixed
25
+
26
+ - `claim-verify` now reports `git_finalized` and `git_commit` for each successful
27
+ claimed publication. Reconciliation logs stay inside the configured ledger,
28
+ including repository-root ledgers. Items 55-57.
29
+ - A new empty ledger now starts on schema version 2. Existing non-empty
30
+ schema-version-1 ledgers remain compatible until migration. Item 54.
31
+ - The installed skill now identifies the active claim as the work-in-flight
32
+ signal while the item remains in `backlog`. Item 58.
33
+ - The npm package now ships the mutation and work-claim contract documents that
34
+ the installed skill references. Item 59.
35
+ - The npm package now ships the documented schema-version-2 migration
36
+ entrypoint for package-only consumers. Item 60.
37
+ - The installed work-claim contract now distinguishes durable reconciliation
38
+ state from per-publication Git finalization. Item 61.
39
+
40
+ - The Claude Code plugin manifest and marketplace metadata now use the same
41
+ distribution version as `package.json`. The packaging gate rejects release
42
+ identity drift before npm, Git, or marketplace publication. Item 48.
43
+ - Capability help now distinguishes the core's unbound default claim profile
44
+ from one provisioned ledger's work-claim profile. It names
45
+ `contract_version` as the core version and
46
+ `operations.work_claim.api_version` as the work-claim API version. Items 47
47
+ and 51.
48
+ - `provision --help`, README, and the shipped skill now expose the accessible
49
+ Git-checkout prerequisite and the pre-provision
50
+ `claim capabilities --ledger <dir> --json` gate. Item 50.
51
+ - The isolated consumer dogfood runbook now creates or selects the disposable
52
+ worktree before agent launch and requires a session-root Git preflight before
53
+ installation or ledger mutation. Item 52.
54
+
10
55
  ## 0.1.0-alpha.1 - 2026-08-11
11
56
 
12
57
  ### Behaviour changes
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,17 @@ 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.
54
+
55
+ For an isolated consumer pilot, create or select the disposable worktree before
56
+ the agent starts. Then launch a new session with that worktree as its project
57
+ root. Follow the [isolated dogfood pilot runbook](docs/isolated-dogfood-pilot.md);
58
+ do not try to drive a sibling worktree from an already-running agent session.
53
59
 
54
60
  To use the core directly from a clone instead, see
55
61
  [Core commands](#core-commands).
@@ -64,22 +70,23 @@ two supported install routes:
64
70
  - **npm registry** — `npm install -g wowbagger@next` installs the current
65
71
  prerelease.
66
72
  - **git tag** —
67
- `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
68
74
  release. Installing at a ref installs the core and every adapter that ref
69
75
  carries.
70
76
 
71
77
  Either route installs the core and the `wowbagger` command. The Claude Code
72
78
  plugin is a separate artifact (see [Start here](#start-here)); the core and the
73
- plugin are installed and versioned independently, and a mismatch is refused by
74
- `contract_version` rather than guessed.
79
+ plugin are installed independently. Install their matching distribution
80
+ versions.
75
81
 
76
82
  ### Compatibility
77
83
 
78
- The behavioural version is `contract_version`, reported by
84
+ The contract version is top-level `contract_version`, reported by
79
85
  `wowbagger capabilities --json`. Contracts change it; refactors do not. The
80
- distribution version is the npm/git version, which names bytes, not behaviour.
81
- Match on `contract_version` never on the package version — when you decide
82
- 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.
83
90
 
84
91
  - **Node.js:** 20 and later. The adapter conformance vectors run against Node
85
92
  20 and the current runtime before each release.
@@ -88,7 +95,10 @@ whether a core supports your request.
88
95
  with release evidence). Do not assume a platform is officially supported just
89
96
  because the CLI starts.
90
97
  - **Other tooling:** `wowbagger` manages a Git-tracked Markdown ledger. It
91
- needs `git` present for work-claim and namespace operations.
98
+ needs an accessible Git checkout for work-claim and namespace operations.
99
+ Before `provision`, run
100
+ `wowbagger claim capabilities --ledger <dir> --json` and require
101
+ `result.operations.work_claim.supported: true`.
92
102
 
93
103
  ### Security
94
104
 
@@ -123,8 +133,8 @@ wowbagger core, this is how you move forward safely.
123
133
  Upgrade the pieces you installed:
124
134
 
125
135
  ```sh
126
- npm install -g wowbagger@latest # public npm registry
127
- 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
128
138
  git pull && npm ci # or: a direct checkout
129
139
  ```
130
140
 
@@ -135,15 +145,15 @@ In Claude Code, update the plugin the same way it was installed:
135
145
  /plugin update wowbagger@wowbagger
136
146
  ```
137
147
 
138
- Then verify, exactly as on first install:
139
-
140
148
  ```sh
149
+ wowbagger --version
141
150
  wowbagger capabilities --json
142
151
  ```
143
152
 
144
- `contract_version` is the compatibility gate. The plugin and adapter refuse a
145
- core that reports a version they do not support; if you automate against the
146
- 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.
147
157
 
148
158
  The shipped adapter selects only adapter contract version 2 and requires core
149
159
  contract version 2. A v1-only consumer receives
@@ -327,11 +337,15 @@ operation. See [the work-claim contract](docs/work-claim-contract.md) for the
327
337
  request envelopes, refusal precedence, recovery rules, and the difference
328
338
  between strict fenced and merge-coordinated backends.
329
339
 
330
- The `contract_version` reported by `capabilities` is what an adapter or plugin
331
- declares it requires. A consumer pairing one with a core that reports a
332
- different contract version gets a refusal, not a guess. Direct checkout use —
333
- `./bin/wowbagger.js` from a clone remains supported and is what this
334
- repository's own ledger uses.
340
+ Core and work-claim versions use distinct negotiation fields. Read the
341
+ top-level `contract_version` from core `capabilities`. Read
342
+ `result.operations.work_claim.api_version` from
343
+ `claim capabilities --ledger <dir> --json`. A claim response's top-level
344
+ `contract_version` is the legacy claim-envelope marker; do not compare it with
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
348
+ clone—remains supported and is what this repository's own ledger uses.
335
349
 
336
350
  ## Verify a checkout
337
351