<!-- Copyleft: GNU GPLv3 or later applies to this file. -->
# Node Agent Release Operations
This document is the in-repo operational reference for rebuilding and publishing the Hermes Node Agent bundle when gateway-side or node-agent-side protocol behavior changes.
7. Copies the bundle and Linux installer to `/home/lisa/nexlab.net/files/`
8. Publishes the bundle and Linux installer to `/home/web/lisa.nexlab.net/files/`
9. Restores `www-data:www-data` ownership and `0644` permissions on published files
10. Verifies SHA256 parity across local release, mirror, web, and downloaded-live artifacts
11. Verifies live HTTP availability
## Release command
```bash
cd /home/lisa/hermes-node-protocol/node-agent
./release-node-agent.sh
```
## Release verification expectations
A release is not done because source files look right. Verify the public artifact.
Minimum checks:
- local, mirror, web, and downloaded-live SHA256 values match
- live URL returns `HTTP/1.1 200 OK`
- downloaded live Linux installer contains the expected embedded payload
- for runtime-sensitive fixes, inspect the embedded `hermes_node_agent.py` or `install.sh` from the downloaded live installer
## Gateway ↔ node-agent sync rule
When fixing behavior that spans both repositories:
1. patch the live/canonical gateway plugin repo
2. patch the canonical node-agent repo
3. rebuild and publish the node-agent bundle
4. commit and push both repos separately
5. verify the live artifact, not just the working tree
This matters for approval flows, capability registration, installer defaults, and any protocol-level drift.
## Known pitfall: same-file copy inside the release script
If the chosen Windows installer or Chrome extension already lives in `release/bundle/`, the script must avoid copying a file onto itself. Guard same-path `cp` operations or the release aborts on a harmless self-copy.
## When to fall back to manual release
Only use manual steps if:
-`release-node-agent.sh` is broken
- you are repairing the release process itself
- you need to debug artifact selection or publish verification in isolation
If you had to do a manual release, encode the missing logic back into `release-node-agent.sh` before calling the workflow complete.
description:Use when gateway-side work requires rebuilding, publishing, or verifying the Hermes node-agent bundle and you need the repo-local operational release workflow.
This in-repo skill captures the operational workflow the gateway repo depends on when node-gateway changes must be shipped through the Hermes node-agent bundle. It exists here so the gateway repository carries its own durable release knowledge instead of relying only on `~/.hermes/skills/` state.
Run the node-agent release script from the node-agent repo:
```bash
cd /home/lisa/hermes-node-protocol/node-agent
./release-node-agent.sh
```
Treat `release-node-agent.sh` as the source of truth. If release behavior changed, patch the script first instead of institutionalizing more manual shell choreography.
## What the Script Must Do
1. run `./build-linux.sh`
2. refresh `dist/hermes-node-agent-linux.tar.gz`
3. re-embed the payload into `deploy/linux/install-node.sh`