agent-merge-broker 0.13.0 → 0.14.2

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 (85) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/CONTRIBUTING.md +17 -3
  3. package/README.md +101 -701
  4. package/ROADMAP.md +18 -15
  5. package/SUPPORT.md +6 -0
  6. package/VISION.md +12 -9
  7. package/dist/broker.d.ts +12 -2
  8. package/dist/broker.d.ts.map +1 -1
  9. package/dist/broker.js +94 -172
  10. package/dist/broker.js.map +1 -1
  11. package/dist/candidate-lifecycle.d.ts +19 -0
  12. package/dist/candidate-lifecycle.d.ts.map +1 -0
  13. package/dist/candidate-lifecycle.js +172 -0
  14. package/dist/candidate-lifecycle.js.map +1 -0
  15. package/dist/cli.js +133 -9
  16. package/dist/cli.js.map +1 -1
  17. package/dist/git-locators.d.ts +8 -0
  18. package/dist/git-locators.d.ts.map +1 -0
  19. package/dist/git-locators.js +110 -0
  20. package/dist/git-locators.js.map +1 -0
  21. package/dist/git.d.ts +3 -2
  22. package/dist/git.d.ts.map +1 -1
  23. package/dist/git.js +30 -106
  24. package/dist/git.js.map +1 -1
  25. package/dist/index.d.ts +2 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +2 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/schema-identity.d.ts +11 -0
  30. package/dist/schema-identity.d.ts.map +1 -0
  31. package/dist/schema-identity.js +33 -0
  32. package/dist/schema-identity.js.map +1 -0
  33. package/dist/serve-log.d.ts +2 -0
  34. package/dist/serve-log.d.ts.map +1 -1
  35. package/dist/serve-log.js +2 -0
  36. package/dist/serve-log.js.map +1 -1
  37. package/dist/state-codec.d.ts +6 -0
  38. package/dist/state-codec.d.ts.map +1 -0
  39. package/dist/state-codec.js +178 -0
  40. package/dist/state-codec.js.map +1 -0
  41. package/dist/status.d.ts.map +1 -1
  42. package/dist/status.js +5 -1
  43. package/dist/status.js.map +1 -1
  44. package/dist/store.d.ts +7 -0
  45. package/dist/store.d.ts.map +1 -1
  46. package/dist/store.js +76 -14
  47. package/dist/store.js.map +1 -1
  48. package/dist/submission-attestation.d.ts +111 -0
  49. package/dist/submission-attestation.d.ts.map +1 -0
  50. package/dist/submission-attestation.js +260 -0
  51. package/dist/submission-attestation.js.map +1 -0
  52. package/dist/submission-retention.d.ts +19 -0
  53. package/dist/submission-retention.d.ts.map +1 -0
  54. package/dist/submission-retention.js +183 -0
  55. package/dist/submission-retention.js.map +1 -0
  56. package/dist/submission.d.ts +7 -0
  57. package/dist/submission.d.ts.map +1 -1
  58. package/dist/submission.js +42 -0
  59. package/dist/submission.js.map +1 -1
  60. package/dist/support.d.ts.map +1 -1
  61. package/dist/support.js +17 -2
  62. package/dist/support.js.map +1 -1
  63. package/dist/types.d.ts +32 -1
  64. package/dist/types.d.ts.map +1 -1
  65. package/docs/ARCHITECTURE.md +62 -11
  66. package/docs/COMPATIBILITY.md +60 -11
  67. package/docs/GETTING_STARTED.md +95 -6
  68. package/docs/PROTOCOL.md +110 -5
  69. package/docs/RELEASING.md +47 -4
  70. package/docs/SECURITY.md +44 -5
  71. package/examples/local-gate/README.md +25 -0
  72. package/examples/local-gate/run.mjs +137 -0
  73. package/package.json +6 -3
  74. package/schemas/identities.json +71 -0
  75. package/schemas/immutable/candidate.36fa2d519ef286301b4294bf9b32e325b84d556c48f762361cab057a5926c22e.schema.json +179 -0
  76. package/schemas/immutable/config.b16e5d9943091f04f9e11901bf8b1ca5ded2800395704b80769a074a548d6bff.schema.json +565 -0
  77. package/schemas/immutable/gate-authority.ee9db06506f1628e58bfacd86fac4a292cda55e0f83236c82fa9eb285fc2817a.schema.json +76 -0
  78. package/schemas/immutable/provenance.0c70eee61e81b91705ced11df623caa1c3d621f710fffa645e709fd1e662db41.schema.json +168 -0
  79. package/schemas/immutable/receipt.c8b78ab9d86e9228d58c4b8bdb1547ff2142809bafe9bf05551638e7cbe644af.schema.json +85 -0
  80. package/schemas/immutable/submission-attestation-envelope.fa16a61bdbf08fa447d42a9f1a71f45563a8a2e792055f0906603c9d29d96ca0.schema.json +45 -0
  81. package/schemas/immutable/submission-attestation-statement.e4d76e08ed099c18d184b2a489570f58624f7af0df0c685f3a5c200d763d92cb.schema.json +320 -0
  82. package/schemas/immutable/submission.8fddd4d1951a2303d7be3fa74a545ab9c35edbf06dcc2280e88f4038342e550b.schema.json +333 -0
  83. package/schemas/submission-attestation-envelope.schema.json +45 -0
  84. package/schemas/submission-attestation-statement.schema.json +320 -0
  85. package/schemas/submission.schema.json +14 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,58 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.14.2 — 2026-09-06
4
+
5
+ ### Fixed
6
+
7
+ - Accepted both npm 10's root-level publish dry-run JSON fields and npm 11/12's package-name wrapper
8
+ when checking the tested tarball. Versions `0.14.0` and `0.14.1` have immutable GitHub tags but were
9
+ not published to npm; `0.14.2` is the corrected release target pending registry confirmation.
10
+
11
+ ## 0.14.1 — 2026-09-06
12
+
13
+ This GitHub release was not published to npm; its dry-run JSON compatibility correction is in `0.14.2`.
14
+
15
+ ### Fixed
16
+
17
+ - Prefixed the tested release tarball path with `./` so npm treats it as a local package rather than
18
+ GitHub shorthand. Added a publish dry-run to the packaged smoke test to verify that path before
19
+ granting publication authority.
20
+ - Updated release references to `0.14.1`. The immutable `v0.14.0` GitHub tag remains available, but
21
+ its npm publication failed before uploading a package. Version `0.14.1` is the first npm release
22
+ target for the features below; confirm completed publication in npm's version history.
23
+
24
+ ## 0.14.0 — 2026-09-06
25
+
26
+ This GitHub release was not published to npm; its publishing-path correction is in `0.14.1`.
27
+
28
+ ### Added
29
+
30
+ - Added Gate readiness checks through `doctor --gate`, captured validator output through
31
+ `candidate show --logs`, archived-submission inspection with `candidate list --all`, and
32
+ submission counts in metrics.
33
+ - Added deliberate `candidate abandon --reason` and preview-first `candidate archive` operations.
34
+ Abandonment preserves the original evidence and retries cleanup without rerunning validators.
35
+ Archival retires terminal records from active state while preserving their audit history; refs
36
+ remain retained unless `--release-artifacts` explicitly releases the exact broker-owned ref.
37
+ - Added detached Ed25519 DSSE attestations containing an in-toto Gate validation statement, plus
38
+ offline verification against an independently trusted public key and expected artifact, base,
39
+ policy, and authority. Signed validation evidence does not authorize publication or merging.
40
+ - Added fingerprint-addressed, packaged schema snapshots and an identity manifest while preserving
41
+ legacy schema aliases. Added a runnable local Gate example with accepted and rejected candidates.
42
+ - Added runtime validation of saved state with field-specific corruption diagnostics, portable
43
+ GitHub CLI test fixtures, and real subprocess termination/restart recovery tests.
44
+
45
+ ### Changed
46
+
47
+ - Raised the minimum Node.js version to 22, from 20.12 in `0.13.0`. The reusable release matrix
48
+ tests Node.js 22, 24, and 26 on Linux, macOS, and Windows.
49
+ - Publication now waits for all platform checks against one immutable commit, installs and exercises
50
+ the actual npm tarball, and publishes those tested bytes with npm trusted publishing/provenance.
51
+ - Extracted pure candidate lifecycle and Git locator logic and Gate retention into focused internal
52
+ modules while preserving the public Coordinate API.
53
+ - Shortened the README into Coordinate and Gate entry routes and aligned operations, security,
54
+ compatibility, release, and roadmap documentation with the implemented capability boundaries.
55
+
3
56
  ## 0.13.0 — 2026-09-04
4
57
 
5
58
  ### Added
package/CONTRIBUTING.md CHANGED
@@ -14,19 +14,33 @@ npm install
14
14
  npm run verify
15
15
  node dist/cli.js --help
16
16
  npm run example
17
+ npm run example:gate
18
+ npm run test:package
17
19
  ```
18
20
 
19
- Tests use temporary real Git repositories rather than mocks for transaction behavior. Add a regression fixture for changes to leases, receipts, cherry-picking, validation, batching, or lifecycle transitions.
21
+ The source checkout requires Node.js 22+ and Git 2.46+ for the Gate example. Tests use temporary real
22
+ Git repositories for transaction behavior, portable GitHub CLI fixtures, and subprocess
23
+ termination/restart checks for recovery. Add a regression fixture for changes to leases, receipts,
24
+ cherry-picking, validation, batching, or lifecycle transitions.
20
25
 
21
26
  ## Pull requests
22
27
 
23
28
  - Keep changes focused and explain any state or protocol compatibility impact.
24
29
  - Update JSON schemas and documentation with persisted-format changes.
25
30
  - Avoid agent-specific behavior in the core; expose it through an adapter boundary.
26
- - Preserve the invariant that no branch is retained after failed validation.
31
+ - Preserve the invariant that failed Coordinate validation cannot retain a publication branch.
32
+ Gate deliberately retains rejected artifacts for evidence and operator-controlled retirement.
27
33
  - Include tests for both the successful transaction and its recovery path.
28
34
 
29
- Run `npm run verify` before submitting. CI also runs `npm pack --dry-run` to verify the distributable package.
35
+ Run `npm run verify` before submitting. CI repeats verification and both examples on Linux, macOS,
36
+ and Windows with Node.js 22, 24, and 26, then installs and exercises the actual npm tarball. Releases
37
+ publish the tested tarball only after the complete matrix succeeds.
38
+
39
+ For schema changes, run `npm run build` and
40
+ `node scripts/update-schema-snapshots.mjs --write`. The generator adds new fingerprint snapshots and
41
+ updates the alias manifest; it refuses to overwrite changed immutable content. Commit new snapshots
42
+ alongside the root alias change, and retain existing snapshots for consumers. `--check` is read-only
43
+ and runs in CI. See [Protocol](docs/PROTOCOL.md) for identity and compatibility semantics.
30
44
 
31
45
  See [SUPPORT.md](SUPPORT.md) for usage questions and [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for the
32
46
  project's participation expectations.