# @sleep2agi/agent-network 2.3.0-preview.45 — local pack evidence

Status: PASS on the final post-hygiene main (not published or installed globally)

Source boundary

- Exact base: `1e09f26de61d0d07f31732f04c07be3a4174cfd8`
- Source commit under test: `b03e269a6faeb25e6cf974f7b2ec1849f478feb5`
- Release version: `2.3.0-preview.45`
- Paired runtime: `@sleep2agi/agent-node@2.5.0-preview.33` (unchanged)
- Changed release inputs: `agent-network/package.json`, the two root-version
  fields in `agent-network/package-lock.json`, and
  `PAIRED_AGENT_NETWORK_VERSION` in
  `agent-network/src/opencode-agent-node-pair.ts`.
- Compatibility export `OPENCODE_AGENT_NETWORK_VERSION` aliases the shared
  constant, and the generated declaration exposes both as preview.45.

SOP dry-run boundary

Command:

`./scripts/sync-pinned-versions.sh @sleep2agi/agent-network 2.3.0-preview.45`

Result: exit 0. The corrected registry enumerated the writable
`PAIRED_AGENT_NETWORK_VERSION` literal and reported it unchanged at
preview.45. The stale `OPENCODE_*` compatibility alias is no longer treated as
a writable release target. No `--apply` was used.

The first CI run exposed a release-self collision in the new gate: its fixture
version was pinned to preview.45, so this actual preview.45 bump could not
produce the required `WOULD-WRITE`. The suite now derives a different next
patch version from the checked-out `PAIRED_AGENT_NETWORK_VERSION` literal.
The exact minimal Docker suite passed all six checks, including the stale-alias
and old-pipeline witnessed-red cases. This makes the gate reusable for future
versions instead of teaching it the next release number.

Container

- Base: `node:22-bookworm-slim`
- Node: `v22.23.2`
- Bun: `1.3.14` (pinned archive + checksum)
- Recovery/build image: `sha256:ce79cfebccb3dd6a85091df890f9cb705ca3eadc0a25c0d8f0f8617c5f304554`

Build and pack

The release package was explicitly built before packing. A diagnostic direct
`npm pack` without a preceding build produced only LICENSE/README/package.json;
`prepublishOnly` does not make that direct-pack shape safe. That artifact was
discarded as evidence. The accepted command sequence was:

`npm run build && npm pack --json --pack-destination /out`

Accepted pack result:

- id: `@sleep2agi/agent-network@2.3.0-preview.45`
- filename: `sleep2agi-agent-network-2.3.0-preview.45.tgz`
- size: `1,704,820` bytes
- unpacked size: `5,136,227` bytes
- entries: `77`
- sha256: `559b21db4221da1d0b796a9888075adb27a26b613e209d52ddf0e8480fc4b0e3`
- integrity: `sha512-13P1WSfliyg7wx1GkcTP2yJGMBBcWxNkFySablDghOASLBqbM3lca/2SCN1b65eF/TNWpgAsyiehNgSV6kUdwA==`

Tar inspection confirmed these required entries:

- `package/dist/bin/anet.cjs`
- `package/dist/bin/cli.js`
- `package/dist/src/codex-copresence-recovery.d.ts`
- `package/dist/src/opencode-agent-node-pair.d.ts`
- `package/package.json`

The packed declaration contains exact literals:

- `PAIRED_AGENT_NETWORK_VERSION = "2.3.0-preview.45"`
- `OPENCODE_AGENT_NETWORK_VERSION = "2.3.0-preview.45"`
- `PAIRED_AGENT_NODE_VERSION = "2.5.0-preview.33"`
- `PAIRED_AGENT_NODE_SPEC = "@sleep2agi/agent-node@2.5.0-preview.33"`

Clean local install (not global)

In a fresh temporary npm project inside the same Node 22 container:

`npm install --ignore-scripts /out/sleep2agi-agent-network-2.3.0-preview.45.tgz @sleep2agi/agent-node@2.5.0-preview.33`

Observed:

- `anet v2.3.0-preview.45`
- `agent-node v2.5.0-preview.33`
- agent-node help advertises `codex-app-server`
- neither package was installed under the container global npm prefix

Final boundary

This evidence is for the exact final main plus the stated release diff. No npm
package or dist-tag was changed, and the host global npm installation was
untouched.
