agents-handoff 2.0.3 → 2.0.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 +29 -0
- package/README.md +7 -0
- package/SKILL.md +1 -1
- package/docs/CHANGELOG.md +29 -0
- package/docs/COMPATIBILITY.md +24 -0
- package/docs/index.md +2 -0
- package/install/install.mjs +1 -1
- package/install/package.json +1 -1
- package/package.json +1 -1
- package/skill.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -15,6 +15,35 @@ version, and it is the version published to npm: the repository root is the
|
|
|
15
15
|
|
|
16
16
|
Add entries under the matching heading as changes land.
|
|
17
17
|
|
|
18
|
+
## [2.0.4] - 2026-10-09
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- A demo animation on the README and the documentation home page: one run installing into every
|
|
23
|
+
harness, a session captured and verified, and an installation proved against the published
|
|
24
|
+
tarball (`assets/handoff-demo.gif`).
|
|
25
|
+
- **[Compatibility](https://github.com/Alot1z/agent-handoff/blob/main/docs/COMPATIBILITY.md)**
|
|
26
|
+
(`docs/COMPATIBILITY.md`) now records what was measured rather than what
|
|
27
|
+
is assumed: Node 26 verified, and Bun verified as an alternative runtime — the engine's
|
|
28
|
+
verbs run unchanged there, and the suite passes 34/34 with `bun test --timeout 30000` (Bun's
|
|
29
|
+
default 5-second per-test timeout is shorter than the suite's child-process tests). It also
|
|
30
|
+
states why the artifacts are JavaScript rather than TypeScript: the contracts are the
|
|
31
|
+
versioned JSON Schemas the runtime validates against, and a build step would put a compiler
|
|
32
|
+
between a user and a working tool.
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
|
|
36
|
+
- `--update` and `--verify` reported "no installations found" on a machine whose copies predate
|
|
37
|
+
the 2.0.3 rename, because they only looked for `agents-handoff/`. Both now recognise the
|
|
38
|
+
`agent-handoff/` directory every earlier release installed and act on it in place.
|
|
39
|
+
- The global-root search missed `~/.config`, which is where a desktop client keeps its
|
|
40
|
+
account-skill store on Windows too — so that store's installation was invisible to `--list`,
|
|
41
|
+
`--update`, `--verify` and `doctor` even though the client kept reading it.
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
|
|
45
|
+
- `remove` states what it keeps before asking, so its confirmation matches what it does.
|
|
46
|
+
|
|
18
47
|
## [2.0.3] - 2026-10-09
|
|
19
48
|
|
|
20
49
|
### Added
|
package/README.md
CHANGED
|
@@ -11,6 +11,13 @@ reasoning, and the provenance to prove where each byte came from — is captured
|
|
|
11
11
|
that a fresh agent can continue from with zero shared memory. Zero runtime dependencies,
|
|
12
12
|
Node.js 18 or newer, nothing read from the network at run time.
|
|
13
13
|
|
|
14
|
+

|
|
16
|
+
|
|
17
|
+
*An abbreviated run of 2.0.3: `--all` installs into every harness found, a session is captured
|
|
18
|
+
and verified, and `--verify-package` proves the installed copy is the published one. The sample
|
|
19
|
+
session is illustrative; the command and output shapes are the real ones.*
|
|
20
|
+
|
|
14
21
|
## Install
|
|
15
22
|
|
|
16
23
|
```bash
|
package/SKILL.md
CHANGED
|
@@ -6,7 +6,7 @@ description: >-
|
|
|
6
6
|
session as a portable, sha256-proven handoff folder a fresh agent can continue
|
|
7
7
|
from with zero shared memory, with versioned contracts, an evidence gate, and
|
|
8
8
|
backup/verify/rollback on every write. Zero runtime dependencies, no network.
|
|
9
|
-
version: 2.0.
|
|
9
|
+
version: 2.0.4
|
|
10
10
|
domain: orchestration
|
|
11
11
|
tokens: 900
|
|
12
12
|
allowed-tools: Bash(node:*), Read, Edit, Write
|
package/docs/CHANGELOG.md
CHANGED
|
@@ -19,6 +19,35 @@ version, and it is the version published to npm: the repository root is the
|
|
|
19
19
|
|
|
20
20
|
Add entries under the matching heading as changes land.
|
|
21
21
|
|
|
22
|
+
## [2.0.4] - 2026-10-09
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- A demo animation on the README and the documentation home page: one run installing into every
|
|
27
|
+
harness, a session captured and verified, and an installation proved against the published
|
|
28
|
+
tarball (`assets/handoff-demo.gif`).
|
|
29
|
+
- **[Compatibility](https://github.com/Alot1z/agent-handoff/blob/main/docs/COMPATIBILITY.md)**
|
|
30
|
+
(`docs/COMPATIBILITY.md`) now records what was measured rather than what
|
|
31
|
+
is assumed: Node 26 verified, and Bun verified as an alternative runtime — the engine's
|
|
32
|
+
verbs run unchanged there, and the suite passes 34/34 with `bun test --timeout 30000` (Bun's
|
|
33
|
+
default 5-second per-test timeout is shorter than the suite's child-process tests). It also
|
|
34
|
+
states why the artifacts are JavaScript rather than TypeScript: the contracts are the
|
|
35
|
+
versioned JSON Schemas the runtime validates against, and a build step would put a compiler
|
|
36
|
+
between a user and a working tool.
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
|
|
40
|
+
- `--update` and `--verify` reported "no installations found" on a machine whose copies predate
|
|
41
|
+
the 2.0.3 rename, because they only looked for `agents-handoff/`. Both now recognise the
|
|
42
|
+
`agent-handoff/` directory every earlier release installed and act on it in place.
|
|
43
|
+
- The global-root search missed `~/.config`, which is where a desktop client keeps its
|
|
44
|
+
account-skill store on Windows too — so that store's installation was invisible to `--list`,
|
|
45
|
+
`--update`, `--verify` and `doctor` even though the client kept reading it.
|
|
46
|
+
|
|
47
|
+
### Changed
|
|
48
|
+
|
|
49
|
+
- `remove` states what it keeps before asking, so its confirmation matches what it does.
|
|
50
|
+
|
|
22
51
|
## [2.0.3] - 2026-10-09
|
|
23
52
|
|
|
24
53
|
### Added
|
package/docs/COMPATIBILITY.md
CHANGED
|
@@ -37,8 +37,32 @@ dependencies.
|
|
|
37
37
|
| 18.x | SUPPORTED (minimum) |
|
|
38
38
|
| 20.x | SUPPORTED |
|
|
39
39
|
| 22.x | SUPPORTED |
|
|
40
|
+
| 26.x | VERIFIED (developed and released on it) |
|
|
40
41
|
| < 18 | UNSUPPORTED |
|
|
41
42
|
|
|
43
|
+
## Other runtimes: Bun, Deno, TypeScript
|
|
44
|
+
|
|
45
|
+
The tools are plain ESM with `node:` built-ins and no dependencies, so another runtime that
|
|
46
|
+
implements those APIs runs them unchanged. Bun was tested against this release:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
bun tools/handoff.mjs config
|
|
50
|
+
bun tools/handoff.mjs build --source transcript.jsonl --project my-project
|
|
51
|
+
bun tools/handoff.mjs verify my-project # PASS, same hashes as Node
|
|
52
|
+
bun tools/agents-handoff.mjs index
|
|
53
|
+
bun test --timeout 30000 tools/handoff.test.mjs # 34 pass, 0 fail
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
One caveat, and it is a property of the runner rather than of the tools: the suite spawns child
|
|
57
|
+
Node processes, and Bun's default per-test timeout is 5 seconds, so raising it
|
|
58
|
+
(`--timeout 30000`) is what makes all 34 tests pass — at the default, one test times out.
|
|
59
|
+
|
|
60
|
+
The published artifact is JavaScript, not TypeScript, and there is no build step to add one.
|
|
61
|
+
What TypeScript would have declared — the shape of a handoff, a manifest and the LLM payload —
|
|
62
|
+
is declared by the versioned JSON Schemas the runtime validates against
|
|
63
|
+
(`schemas/handoff.schema.json`, `templates/HANDOFF.llm.schema.json`,
|
|
64
|
+
`handoff.config.schema.json`), and `docs/CLI.md` is the interface of record for the commands.
|
|
65
|
+
|
|
42
66
|
## Input formats the engine parses
|
|
43
67
|
|
|
44
68
|
| Format | How it is detected | Fields read |
|
package/docs/index.md
CHANGED
|
@@ -10,6 +10,8 @@ or a colleague can read and continue from without the original chat. It builds f
|
|
|
10
10
|
transcript or an adapter export, keeps a hash chain so a handoff can be re-verified, and
|
|
11
11
|
merges later turns into the same session instead of duplicating it.
|
|
12
12
|
|
|
13
|
+

|
|
14
|
+
|
|
13
15
|
## Quick start
|
|
14
16
|
|
|
15
17
|
```bash
|
package/install/install.mjs
CHANGED
|
@@ -38,7 +38,7 @@ const API_LATEST = `https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/rele
|
|
|
38
38
|
// `list` read back out of an installed copy. The literal below is only the fallback for the
|
|
39
39
|
// run that has no tree beside it — the published package fetching an archive — and the suite
|
|
40
40
|
// asserts it against SKILL.md, so a release that bumps one cannot leave the other behind.
|
|
41
|
-
const FALLBACK_SKILL_VERSION = '2.0.
|
|
41
|
+
const FALLBACK_SKILL_VERSION = '2.0.4';
|
|
42
42
|
function skillVersion() {
|
|
43
43
|
try {
|
|
44
44
|
const md = fs.readFileSync(path.join(SOURCE_DIR, 'SKILL.md'), 'utf8');
|
package/install/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agents-handoff",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"description": "Internal manifest for the in-tree installer. The published package is the repository root (agents-handoff), whose bin `agents-handoff` points here.",
|
|
5
5
|
"private": true,
|
|
6
6
|
"type": "module",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agents-handoff",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"description": "Write, verify, and hand off complete AI working sessions across any harness (Claude Code, Codex, DeepSeek Harness, plain JSONL or text logs). Cross-harness session capture with sha256 provenance and verified continuation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "tools/handoff.mjs",
|
package/skill.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agents-handoff",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"description": "Write, verify, and hand off complete AI working sessions across any harness (Claude Code, Codex, DeepSeek Harness, plain JSONL or text logs). Cross-harness session capture + verified continuation.",
|
|
5
5
|
"domain": "orchestration",
|
|
6
6
|
"installer": {
|
|
7
7
|
"type": "npx",
|
|
8
8
|
"package": "agents-handoff",
|
|
9
|
-
"packageVersion": "2.0.
|
|
9
|
+
"packageVersion": "2.0.4",
|
|
10
10
|
"repository": "https://github.com/Alot1z/agent-handoff",
|
|
11
11
|
"installCommand": "npx agents-handoff"
|
|
12
12
|
},
|