wowbagger 0.1.0-alpha.3 → 0.1.0-alpha.4
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 +17 -0
- package/README.md +52 -16
- package/adapters/claude-code/wowbagger-adapter.json +1 -1
- package/docs/adapter-contract.md +1280 -0
- package/docs/work-claim-contract.md +21 -4
- package/package.json +3 -1
- package/skills/wowbagger/SKILL.md +28 -2
- package/src/adapter/entrypoint-main.js +19 -5
- package/src/claim-coordinator.js +113 -7
- package/src/claim-journal.js +45 -2
- package/src/claim-publication.js +121 -59
- package/src/claim-store.js +20 -8
- package/src/cli.js +118 -11
- package/src/mutation.js +151 -32
- package/src/ready.js +64 -38
- package/src/report-html.js +198 -0
- package/src/report-markdown.js +171 -0
- package/src/report.js +396 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,23 @@ consolidation. The first tagged release inherits this file.
|
|
|
7
7
|
|
|
8
8
|
## Unreleased
|
|
9
9
|
|
|
10
|
+
## 0.1.0-alpha.4 - 2026-08-14
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- `report` validates a ledger and atomically writes a deterministic,
|
|
15
|
+
self-contained HTML report from `.wowbagger/report.json`. The report includes
|
|
16
|
+
canonical readiness, semantic-field search, filters, sorting, grouping,
|
|
17
|
+
three detail levels, terminal history, and optional area-diverse swarm
|
|
18
|
+
batches. This repository includes a local report configuration and ignores
|
|
19
|
+
the generated artifact.
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- The Claude Code adapter now declares Darwin `supported`. Native Darwin
|
|
24
|
+
conformance passes all 183 common-vector assertions across all 15 cases, so
|
|
25
|
+
configured consumer workspaces can invoke the published adapter read path.
|
|
26
|
+
|
|
10
27
|
## 0.1.0-alpha.3 - 2026-08-12
|
|
11
28
|
|
|
12
29
|
### Fixed
|
package/README.md
CHANGED
|
@@ -14,13 +14,15 @@ putting a database or hosted service inside your repository.
|
|
|
14
14
|
> scope is deliberately narrow: cooperative writers in one working copy, one
|
|
15
15
|
> item at a time. A Claude Code adapter and plugin ship from this
|
|
16
16
|
> repository; the adapter answers the negotiation surface of the harness-neutral
|
|
17
|
-
> contract and passes all 183 assertions across all 15 cases on native Darwin
|
|
18
|
-
>
|
|
19
|
-
>
|
|
20
|
-
> definitions are not
|
|
17
|
+
> contract and passes all 183 assertions across all 15 cases on native Darwin.
|
|
18
|
+
> The Claude Code adapter declares Darwin `supported`; all other shipped adapter
|
|
19
|
+
> platform declarations remain `unverified`. The shipped core mutation contract
|
|
20
|
+
> and adapter contract are version 2; their frozen version 1 definitions are not
|
|
21
|
+
> silently negotiated.
|
|
21
22
|
>
|
|
22
|
-
>
|
|
23
|
-
>
|
|
23
|
+
> A work claim is not a lock or an exclusive dispatch lease. On Git-backed
|
|
24
|
+
> ledgers, claims coordinate cooperating agents through a durable journal in
|
|
25
|
+
> Git's shared common directory. `claim acquire` uses
|
|
24
26
|
> observed-state compare-and-swap. `publish-claimed` fences one item against
|
|
25
27
|
> the active owner generation and expected revision. `claim-verify` reconciles
|
|
26
28
|
> response-loss and post-merge outcomes. This is **merge-coordinated**, not
|
|
@@ -34,7 +36,7 @@ Install the core CLI, then verify it:
|
|
|
34
36
|
```sh
|
|
35
37
|
npm install -g wowbagger@next # public npm prerelease
|
|
36
38
|
# or, from this release's Git tag:
|
|
37
|
-
# npm install -g github:lstutzman/wowbagger#v0.1.0-alpha.
|
|
39
|
+
# npm install -g github:lstutzman/wowbagger#v0.1.0-alpha.4
|
|
38
40
|
wowbagger capabilities --json
|
|
39
41
|
```
|
|
40
42
|
|
|
@@ -70,7 +72,7 @@ two supported install routes:
|
|
|
70
72
|
- **npm registry** — `npm install -g wowbagger@next` installs the current
|
|
71
73
|
prerelease.
|
|
72
74
|
- **git tag** —
|
|
73
|
-
`npm install -g github:lstutzman/wowbagger#v0.1.0-alpha.
|
|
75
|
+
`npm install -g github:lstutzman/wowbagger#v0.1.0-alpha.4` installs this
|
|
74
76
|
release. Installing at a ref installs the core and every adapter that ref
|
|
75
77
|
carries.
|
|
76
78
|
|
|
@@ -90,10 +92,10 @@ instructions can depend on additive behavior from that release.
|
|
|
90
92
|
|
|
91
93
|
- **Node.js:** 20 and later. The adapter conformance vectors run against Node
|
|
92
94
|
20 and the current runtime before each release.
|
|
93
|
-
- **Platforms:** the core runs wherever Node.js runs
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
because the CLI starts.
|
|
95
|
+
- **Platforms:** the core runs wherever Node.js runs. The Claude Code adapter
|
|
96
|
+
declares Darwin `supported` from native common-vector evidence. Linux,
|
|
97
|
+
Windows, and the other shipped adapter targets remain `unverified`; do not
|
|
98
|
+
infer support only because the CLI starts.
|
|
97
99
|
- **Other tooling:** `wowbagger` manages a Git-tracked Markdown ledger. It
|
|
98
100
|
needs an accessible Git checkout for work-claim and namespace operations.
|
|
99
101
|
Before `provision`, run
|
|
@@ -134,7 +136,7 @@ Upgrade the pieces you installed:
|
|
|
134
136
|
|
|
135
137
|
```sh
|
|
136
138
|
npm install -g wowbagger@next # public npm registry
|
|
137
|
-
npm install -g github:lstutzman/wowbagger#v0.1.0-alpha.
|
|
139
|
+
npm install -g github:lstutzman/wowbagger#v0.1.0-alpha.4 # immutable Git release
|
|
138
140
|
git pull && npm ci # or: a direct checkout
|
|
139
141
|
```
|
|
140
142
|
|
|
@@ -277,6 +279,7 @@ npm ci
|
|
|
277
279
|
./bin/wowbagger.js validate --ledger path/to/ledger --json
|
|
278
280
|
./bin/wowbagger.js ready --ledger path/to/ledger --as-of 2030-01-15 --json
|
|
279
281
|
./bin/wowbagger.js ready --ledger path/to/ledger --as-of 2030-01-15
|
|
282
|
+
./bin/wowbagger.js report --ledger path/to/ledger --as-of 2030-01-15 --json
|
|
280
283
|
./bin/wowbagger.js capabilities --json
|
|
281
284
|
./bin/wowbagger.js mint-id --json
|
|
282
285
|
./bin/wowbagger.js inspect --ledger path/to/ledger --id wb_... --json
|
|
@@ -316,6 +319,39 @@ directories ending in `.md` remain containers and are traversed. These checks
|
|
|
316
319
|
provide deterministic read hygiene; they are not a sandbox against a privileged
|
|
317
320
|
process racing filesystem changes.
|
|
318
321
|
|
|
322
|
+
`report` validates the complete ledger, reads `.wowbagger/report.json`, and
|
|
323
|
+
atomically publishes one self-contained HTML file. The output must be outside
|
|
324
|
+
the ledger. Relative configured output paths resolve from `.wowbagger/`;
|
|
325
|
+
relative `--out` overrides resolve from the caller's working directory.
|
|
326
|
+
|
|
327
|
+
```json
|
|
328
|
+
{
|
|
329
|
+
"report_version": 1,
|
|
330
|
+
"repository": { "name": "Example repository", "logo": "logo.svg" },
|
|
331
|
+
"title": "Ledger report",
|
|
332
|
+
"output": "../../ledger-report.html",
|
|
333
|
+
"fields": {
|
|
334
|
+
"area": "/priority_area",
|
|
335
|
+
"complexity": "/complexity",
|
|
336
|
+
"rank": "/priority_rank"
|
|
337
|
+
},
|
|
338
|
+
"swarm": { "eligible_complexities": ["small", "medium"] }
|
|
339
|
+
}
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
`repository.logo`, `fields`, and `swarm` are optional. Field values resolve
|
|
343
|
+
from parsed frontmatter with RFC 6901 JSON Pointers. A swarm requires mapped
|
|
344
|
+
`area` and `complexity` fields. The report shows canonical readiness, filters,
|
|
345
|
+
sorting, grouping, three detail levels, terminal history, and area-diverse
|
|
346
|
+
ready batches. It contains no external runtime dependency.
|
|
347
|
+
|
|
348
|
+
This repository keeps its report configuration in
|
|
349
|
+
`ledger/.wowbagger/report.json`. Generate the ignored local report with:
|
|
350
|
+
|
|
351
|
+
```sh
|
|
352
|
+
npm run report -- --as-of 2026-08-14
|
|
353
|
+
```
|
|
354
|
+
|
|
319
355
|
`inspect` returns a lossless raw-byte snapshot and its SHA-256 revision.
|
|
320
356
|
`create` publishes only a caller-supplied canonical ID through atomic
|
|
321
357
|
no-clobber publication — `mint-id` prints one, so no consumer writes base32
|
|
@@ -449,9 +485,9 @@ It is the durable work ledger beneath those systems.
|
|
|
449
485
|
- Separate optional reusable mechanisms from consumer-specific policy.
|
|
450
486
|
- Stabilize the machine-readable command contract and compatibility evidence.
|
|
451
487
|
- Ship Claude Code and Codex adapters. **Claude Code, Codex, and OpenCode
|
|
452
|
-
packages share the version 2 engine; the Claude Code
|
|
453
|
-
all 183 assertions
|
|
454
|
-
declarations remain unverified.**
|
|
488
|
+
packages share the version 2 engine; the Claude Code manifest declares Darwin
|
|
489
|
+
`supported` after passing all 183 native assertions. Other adapter targets and
|
|
490
|
+
platform declarations remain unverified.**
|
|
455
491
|
- Document the generic tool contract for other agent harnesses.
|
|
456
492
|
- Implement merge-coordinated work claims for cooperating Git worktrees.
|
|
457
493
|
**Implemented with durable claim operations, claim-protected single-item
|