@brutalsystems/muster 1.0.1 → 1.0.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.
package/CANONICAL_ID.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Tin Can — Address Format
2
2
 
3
- > **Normative for `@brutalsystems/tincan` 1.9.2.**
3
+ > **Normative for `@brutalsystems/tincan` 2.0.0.**
4
4
  >
5
5
  > This describes what Tin Can does today, precisely enough for another tool to
6
6
  > produce addresses Tin Can will resolve. It is a write-down of shipped
@@ -335,7 +335,10 @@ afterwards that the other tool disagreed.
335
335
  So:
336
336
 
337
337
  - **A change to any behaviour described here is a breaking change**, and ships
338
- as a major version under semver.
338
+ as a major version under semver. The converse does not hold, and 2.0.0 is the
339
+ standing example: it marks the repository being republished with a new
340
+ history, and **nothing in this document changed with it**. If you implement
341
+ against this format, 2.0.0 requires nothing of you.
339
342
  - Update this document and the fixture in the same commit as the code.
340
343
  - Adding cases to the fixture is not a breaking change. Changing an existing
341
344
  expected value is.
@@ -481,3 +481,49 @@ as a re-copy signal.
481
481
  updating the fixture moved CI on its own — the first cut where the failure class
482
482
  that produced v0.9.0 had nothing to act on. The drift hashes still moved, which
483
483
  is the third site behaving exactly as documented above.
484
+
485
+ ## Re-sync to Tin Can 2.0.0 — 2026-09-26
486
+
487
+ Copies are from tag `v2.0.0`, commit `c588e8b3e119c530e55c8e59be892133f7b49631`.
488
+
489
+ | File | SHA-256 |
490
+ | --- | --- |
491
+ | `CANONICAL_ID.md` | `609634a58df2e288542732a3c95037a3e57efcaf63a36c26f6a4a7251c4804f2` |
492
+ | `test/fixtures/canonical-id.json` | `bf686e97d91cba3bd3ee51ecb6d74ccf5e4978b3fcb783e441b1c01de5135285` |
493
+
494
+ `tincan_version: 2.0.0`, still 40 cases: 8 slugify, 7 suffix, 12 assignment,
495
+ 13 resolution. The format did not move. 2.0.0 is a major because Tin Can's
496
+ repository was republished with a new history and npm reserves a version
497
+ number forever — not because anything in the address format changed. Upstream
498
+ says so in the copy itself, in a paragraph added to `CANONICAL_ID.md`'s
499
+ "Changing this format": 2.0.0 "requires nothing of you".
500
+
501
+ **The usual verification was not available, and the substitute is better here.**
502
+ Every previous entry checked the claim by diffing upstream across the two tags
503
+ — `v1.7.0..v1.9.2` last time. That is impossible now: the republish left
504
+ tincan with a two-commit history and exactly one tag, so `v1.9.2` is not a
505
+ revision in that repository any more and never will be. What was diffed instead
506
+ is muster's own vendored copies, which *are* still in muster's history, against
507
+ the `v2.0.0` tag content. That answers muster's actual question — what changed
508
+ between what was vendored and what is being vendored — without depending on
509
+ upstream's history at all, and it is the form future re-syncs should take.
510
+
511
+ The entire delta across both files is three hunks:
512
+
513
+ - `CANONICAL_ID.md`: the normative version line, `1.9.2` → `2.0.0`.
514
+ - `CANONICAL_ID.md`: the new paragraph described above.
515
+ - the fixture: `tincan_version`, and one `rawName` in the prefix-collision
516
+ case, `cxx-be` → `billing-api`.
517
+
518
+ `naming.ts` does not appear and no expected value moved. The renamed peer is
519
+ **input**, not an expected output, and that case's expected `canonicalId`
520
+ names the *other* peer (`muster-b1`), so the rename cannot change what the
521
+ case asserts. It is upstream removing a string that reads as a client project
522
+ name, which is also why it was worth taking promptly rather than at the next
523
+ convenient re-sync: `test/fixtures/canonical-id.json` is in `package.json`'s
524
+ `files`, so the old string shipped in every tarball up to and including 1.0.1.
525
+
526
+ **No pin edit, again.** The pins derive from `tincan_version`, so updating the
527
+ fixture moved `publish.yml`, `RELEASING.md` and `docs/verification.md` on
528
+ their own. Only the two frozen hashes in `test/naming.test.ts` are hand-written,
529
+ and those are the third site behaving as documented.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brutalsystems/muster",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Launch instructed, reachable local agent sessions",
5
5
  "type": "module",
6
6
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$comment": "FROZEN. Describes @brutalsystems/tincan address behaviour as shipped. Adding cases is fine; changing an expected value means the address format changed - see CANONICAL_ID.md, 'Changing this format'.",
3
- "tincan_version": "1.9.2",
3
+ "tincan_version": "2.0.0",
4
4
  "spec": "CANONICAL_ID.md",
5
5
  "slugify": [
6
6
  {
@@ -576,7 +576,7 @@
576
576
  },
577
577
  {
578
578
  "runtime": "claude-code",
579
- "rawName": "cxx-be",
579
+ "rawName": "billing-api",
580
580
  "uuid": "33333333-3333-4333-8333-333333333333"
581
581
  }
582
582
  ],