@twinsearth/w2m-dsh-plugin 0.9.4 → 0.9.5
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 +31 -0
- package/package.json +1 -1
- package/src/plugin/tools.mjs +9 -7
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,37 @@ All notable changes to this project are documented here. The format follows
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
|
|
5
5
|
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.9.5] — 2026-10-14
|
|
8
|
+
|
|
9
|
+
**Same code as v0.9.4; published because v0.9.4's npm and GitHub bytes cannot be made to agree.**
|
|
10
|
+
|
|
11
|
+
### Why this version exists
|
|
12
|
+
|
|
13
|
+
v0.9.4 was published, then amended minutes later to replace a comment that quoted a retired message
|
|
14
|
+
verbatim. GitHub's tag and assets were moved to the corrected commit. **npm could not follow**: a
|
|
15
|
+
published version cannot be overwritten, and this account's token cannot unpublish either, so npm keeps
|
|
16
|
+
the pre-amendment bytes permanently.
|
|
17
|
+
|
|
18
|
+
The difference is one comment. It is recorded here rather than papered over because a divergence that is
|
|
19
|
+
discovered later and unexplained costs more than a version number:
|
|
20
|
+
|
|
21
|
+
| Where | v0.9.4 | Carries |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| npm | `sha256:570f5175…` (870353 b) | the comment that quotes the retired sentence |
|
|
24
|
+
| GitHub | `sha256:ab7b60dc…` (870448 b) | the corrected comment |
|
|
25
|
+
|
|
26
|
+
Both run **identically** — the changed bytes are inside a `/** */` block. `latest` on npm now points at
|
|
27
|
+
0.9.5, which is byte-consistent with its GitHub release, so the divergence is confined to a superseded
|
|
28
|
+
patch of one patch version.
|
|
29
|
+
|
|
30
|
+
### Verified
|
|
31
|
+
|
|
32
|
+
- `test/relay.test.mjs` 152 pass, `test/claims.test.mjs` 47 pass, `test/chatops-account.test.mjs` pass —
|
|
33
|
+
242 tests, 0 failures, 0 cancelled.
|
|
34
|
+
- `eslint .` — 0 errors.
|
|
35
|
+
- The precise check on the shipped tree: the retired sentence appears **0 times in code and 0 times in
|
|
36
|
+
comments**; the corrected sentence appears once, at the assignment.
|
|
37
|
+
|
|
7
38
|
## [0.9.4] — 2026-10-14
|
|
8
39
|
|
|
9
40
|
**A note that promised a verdict the relay no longer delivers, and the test that had locked the promise in.**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twinsearth/w2m-dsh-plugin",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.5",
|
|
4
4
|
"description": "DSH: Windows2MacOS — drive the same project on online Windows and macOS machines from one DeepSeek account, across networks and regions. P2P hole punching is the default path (relay + shared server as rendezvous, ledger and fallback), with a bundled STUN responder, Tailscale/public-VPS/tunnel shapes, Rabbit relay + per-machine Localside + eight DSH tools (replicate / split), nine aggregate verdicts and signed requests.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
package/src/plugin/tools.mjs
CHANGED
|
@@ -180,7 +180,7 @@ const MAX_STAGES = 16;
|
|
|
180
180
|
* `package.json` during `scripts/pack.mjs` rather than hand-maintained, and `W2M_PLUGIN_VERSION`
|
|
181
181
|
* overrides it at runtime for tests and packagers.
|
|
182
182
|
*/
|
|
183
|
-
const PLUGIN_VERSION = '0.9.
|
|
183
|
+
const PLUGIN_VERSION = '0.9.5';
|
|
184
184
|
|
|
185
185
|
/** How long any single HTTP call may take before it is aborted, in milliseconds. */
|
|
186
186
|
const DEFAULT_REQUEST_TIMEOUT_MS = 15_000;
|
|
@@ -3877,12 +3877,14 @@ export async function apply(ctx, config = {}) {
|
|
|
3877
3877
|
/**
|
|
3878
3878
|
* The note has to match what the relay will actually do.
|
|
3879
3879
|
*
|
|
3880
|
-
* It used to
|
|
3881
|
-
* compared an absent anchor against the literal `null`: every machine with a real
|
|
3882
|
-
* violated it, so an unanchored dispatch could never aggregate. v0.9.3 made the relay
|
|
3883
|
-
* check nobody declared (`base_commit` now behaves like `base_tree` always did), so the
|
|
3884
|
-
* dispatch reaches a real verdict -- and the old wording would have told an operator to
|
|
3885
|
-
* an `ok` result that is correct.
|
|
3880
|
+
* It used to end by promising that the aggregate would be unverifiable, which was true when
|
|
3881
|
+
* the relay compared an absent anchor against the literal `null`: every machine with a real
|
|
3882
|
+
* commit violated it, so an unanchored dispatch could never aggregate. v0.9.3 made the relay
|
|
3883
|
+
* skip a check nobody declared (`base_commit` now behaves like `base_tree` always did), so the
|
|
3884
|
+
* same dispatch reaches a real verdict -- and the old wording would have told an operator to
|
|
3885
|
+
* doubt an `ok` result that is correct. The sentence is deliberately not reproduced here: a
|
|
3886
|
+
* verbatim copy of retired output is indistinguishable from live output to anything that
|
|
3887
|
+
* searches rather than reads, including the check that verified this change.
|
|
3886
3888
|
*
|
|
3887
3889
|
* What is still true, and is the thing worth saying: without an anchor there is no answer to
|
|
3888
3890
|
* "did these machines run the same tree", so consistency here is agreement between machines.
|