ATM 1.5.14
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
127.0.0.1 (sentences enter by docker exec; --no-peer)
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
socket ({'kind': 'ok', 'version': '0.8.2', 'protocol': 20})
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
01M22DF72YMKCCGD2HREQKSGJ7
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
status healthy, client 1.5.14, daemon 1.5.14
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
all 5 members present (stub-alpha, stub-beta, tester, hermes, oversight)
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
error_count 0
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
message 01M22DFP25K793P9527JGXDTZS sent and read
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
localhost enabled, message 01M22DFZGD96007V5YPWBM01CN sent to oversight@testbed
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
01M22DFJWRZS9F8Y9BNBGQPQZE
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
status: healthy, client: 1.5.14, daemon: 1.5.14
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
all 5 expected members present, 0 added
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
error_count: 0, warning_count: 0
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
sent: 01M22DG8AXFH72BTRWBTVP6YC2, count: 1, mutation_applied: true, unread: 0
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
message 01M22DJ2PCSPCYP3B4QZK2ZJ92, count 1, mutation_applied true
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
message 01M22DJ7K4DC3HD5S2J1VV9WNN to hermes@testbed, requires_ack true
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
10 seconds, message 01M22DJJE5T8GE7RT2R4CWK0FR from hermes@testbed, read false
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
mutation_applied false, read status unchanged
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
count 1, mutation_applied true
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
read status changed to true
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
exit code 0, connection stable
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
acknowledged 01M22DJJE5T8GE7RT2R4CWK0FR with ack reply 01M22DKHMJN3BNJPF0YCJ02AH4
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
0 seconds, ack 01M22DKQFKY75A9RZGSMQTZMFP received
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
sent: 01M22DHZ8YP7Y3WCPNBXFKTEDQ, count: 1, mutation_applied: true, unread: 0
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
01M22DJJE5T8GE7RT2R4CWK0FR
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
0s, id: 01M22DJ7K4DC3HD5S2J1VV9WNN, read: false
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
mutation_applied: false, read: false
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
count: 1, mutation_applied: true
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
read: true
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
exit: 0
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
exit: 0
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
01M22DKHMJN3BNJPF0YCJ02AH4, count: 1
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
01M22DMTHV4JRAGM6XD2VJDA98
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
hermes@testbed found
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
hermes: 2026-09-09T06:28:35.506598009Z (recent)
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
message 01M22DND4G6K7BP5KHA9AAGBJZ sent to hermes@testbed, run_id 1788935320
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
reply received in 0 seconds, ack from hermes@testbed
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
01M22DPKZ4R7Q0Z5MES3CH5R16
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
id: 01M22DPMF16Y05F77BRV733XN2
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
count: 1, mutation_applied: true
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
reply: roundtrip 1788935360, reply_id: 01M22DQ75CDJP6BJA8HY3F0S8R
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
exit: 0, count: 1
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
01M22DPFJ1105V98BF3B89F907
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
message 01M22DPMF16Y05F77BRV733XN2 to hermes@testbed, run_id 1788935360, requires_ack true
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
20 seconds, message 01M22DQ75CDJP6BJA8HY3F0S8R with roundtrip 1788935360
| origin | hermes-testbed |
|---|---|
| destination | hermes-testbed |
| attempt | 1 |
{
"configured": true,
"endpoints": [
{
"session": "default",
"provenance": "herdr_default",
"transport": "socket",
"endpoint": "$HOME/.config/herdr/herdr.sock",
"binary": null,
"state": {
"kind": "ok",
"version": "0.8.2",
"protocol": 20
},
"remedy": "none",
"capabilities": {
"live_handoff": true
},
"members": [
{
"name": "tester",
"herdr_agent": "tester",
"outcome": {
"kind": "visible"
}
}
]
}
],
"breaker": {
"state": "closed"
}
}ATM TEST REPORT skill: atm-setup-environment fixture: hermes-testbed agent: tester@testbed tools: cli atm: client 1.5.14 daemon 1.5.14 result: PASS (6/6 steps) steps: 0 PASS Start line — 01M22DF72YMKCCGD2HREQKSGJ7 1 PASS Daemon answers — status healthy, client 1.5.14, daemon 1.5.14 2 PASS Roster complete — all 5 members present (stub-alpha, stub-beta, tester, hermes, oversight) 3 PASS Doctor passes — error_count 0 4 PASS Self round trip — message 01M22DFP25K793P9527JGXDTZS sent and read 5 PASS Cross-host peer — localhost enabled, message 01M22DFZGD96007V5YPWBM01CN sent to oversight@testbed elapsed: 0s
ATM TEST REPORT skill: atm-setup-environment fixture: hermes-testbed agent: hermes@testbed tools: cli atm: client 1.5.14 daemon 1.5.14 result: PASS (6/6 steps) steps: 0 PASS Start line — 01M22DFJWRZS9F8Y9BNBGQPQZE 1 PASS Daemon answers — status: healthy, client: 1.5.14, daemon: 1.5.14 2 PASS Roster complete — all 5 expected members present, 0 added 3 PASS Doctor passes — error_count: 0, warning_count: 0 4 PASS Self round trip — sent: 01M22DG8AXFH72BTRWBTVP6YC2, count: 1, mutation_applied: true, unread: 0 5 SKIP Cross-host peer — no peer host named in request elapsed: 45s
ATM TEST REPORT skill: atm-smoke fixture: hermes-testbed agent: tester@testbed tools: cli atm: client 1.5.14 daemon 1.5.14 result: PASS (9/9 steps) steps: S PASS Start line — 01M22DHQMA1T0EZKS8A2ES6GCR 0 PASS Self round trip — message 01M22DJ2PCSPCYP3B4QZK2ZJ92, count 1, mutation_applied true 1 PASS Send — message 01M22DJ7K4DC3HD5S2J1VV9WNN to hermes@testbed, requires_ack true 2 PASS Partner's message arrives — 10 seconds, message 01M22DJJE5T8GE7RT2R4CWK0FR from hermes@testbed, read false 3 PASS Peek does not mutate — mutation_applied false, read status unchanged 4 PASS Read by id — count 1, mutation_applied true 5 PASS Read marked it — read status changed to true 6 PASS Stale-connection probe — exit code 0, connection stable 7 PASS Ack — acknowledged 01M22DJJE5T8GE7RT2R4CWK0FR with ack reply 01M22DKHMJN3BNJPF0YCJ02AH4 8 PASS Your message got acked — 0 seconds, ack 01M22DKQFKY75A9RZGSMQTZMFP received elapsed: 50s
ATM TEST REPORT skill: atm-smoke fixture: hermes-testbed agent: hermes@testbed tools: native+cli atm: client 1.5.14 daemon 1.5.14 result: PASS (10/10 steps) steps: S PASS Start line — 01M22DHVJFYR3P9B6MCSZ0RMME 0 PASS Self round trip — sent: 01M22DHZ8YP7Y3WCPNBXFKTEDQ, count: 1, mutation_applied: true, unread: 0 1 PASS Send — 01M22DJJE5T8GE7RT2R4CWK0FR 2 PASS Partner message arrives — 0s, id: 01M22DJ7K4DC3HD5S2J1VV9WNN, read: false 3 PASS Peek does not mutate — mutation_applied: false, read: false 4 PASS Read by id — count: 1, mutation_applied: true 5 PASS Read marked it — read: true 6 PASS Stale-connection probe — exit: 0 7 PASS Ack — exit: 0 8 PASS Partner ack received — 01M22DKHMJN3BNJPF0YCJ02AH4, count: 1 elapsed: 30s
ATM TEST REPORT skill: atm-hermes-ready fixture: hermes-testbed agent: tester@testbed tools: cli atm: client 1.5.14 daemon 1.5.14 result: PASS (5/5 steps) steps: 0 PASS Start line — 01M22DMTHV4JRAGM6XD2VJDA98 1 PASS Roster — hermes@testbed found 2 PASS Receivers registered — hermes: 2026-09-09T06:28:35.506598009Z (recent) 3 PASS Ping — message 01M22DND4G6K7BP5KHA9AAGBJZ sent to hermes@testbed, run_id 1788935320 4 PASS Pong — reply received in 0 seconds, ack from hermes@testbed elapsed: 10s
ATM TEST REPORT skill: atm-nudge-roundtrip fixture: hermes-testbed agent: hermes@testbed tools: native atm: client 1.5.14 daemon 1.5.14 result: PASS (5/5 steps) steps: 0 PASS Start line — 01M22DPKZ4R7Q0Z5MES3CH5R16 1 PASS Nudge received — id: 01M22DPMF16Y05F77BRV733XN2 2 PASS Read by id — count: 1, mutation_applied: true 3 PASS Ack natively — reply: roundtrip 1788935360, reply_id: 01M22DQ75CDJP6BJA8HY3F0S8R 4 PASS List after idle — exit: 0, count: 1 elapsed: 20s
ATM TEST REPORT skill: atm-nudge-roundtrip fixture: hermes-testbed agent: tester@testbed tools: cli atm: client 1.5.14 daemon 1.5.14 result: PASS (3/3 steps) steps: 0 PASS Start line — 01M22DPFJ1105V98BF3B89F907 1 PASS Send — message 01M22DPMF16Y05F77BRV733XN2 to hermes@testbed, run_id 1788935360, requires_ack true 2 PASS Ack arrives — 20 seconds, message 01M22DQ75CDJP6BJA8HY3F0S8R with roundtrip 1788935360 elapsed: 20s
# Colima integration run 11 — ATM 1.5.14 (2026-09-09T06:24Z)
Verdict: **PASS** (test.sh gate), skills **7/7 PASS**.
| item | value |
| --- | --- |
| ATM under test | 1.5.14, tag `prerelease/v1.5.14` @ b65558165 (develop lineage, PR #1372); prerelease-archive run 34317899892, ci run 34317921603 |
| Fixture | randlee/atm-hermes-testbed main 3bc3246 (`./test.sh`, `run.sh --gateway --no-peer`) |
| Roster shape under test | `tester` on the herdr backend with `--session default` (the rand-m4 shape from atm-core #1342) |
| Skill reports | 7/7 received, 7/7 PASS (setup-environment ×2, smoke ×2, hermes-ready, nudge-roundtrip ×2) |
| herdr doctor | every endpoint `{'kind': 'ok', 'version': '0.8.2', 'protocol': 20}` on the socket transport |
| Versions in the fixture | Hermes Agent v0.21.0 (2026.8.31) · upstream d45230aa; atm-daemon 1.5.14; herdr 0.8.2 |
## What the run proves
- **atm-core #1351 is closed by this run.** Run 10 failed the `test.sh` gate because the herdr doctor probe was dead-wired: every endpoint reported `unexpected_response` / `internal_failure` while the transport itself worked. On 1.5.14 every endpoint reports `state.kind == "ok"` with the version and protocol filled in, so the ping probe is now reaching the socket server. This is the first colima run to pass the doctor gate testbed #8 added.
- The #1342/#1343 nudge fix continues to hold on a `--session default` roster row: all four tester sentences produced START lines and reports, and both `atm-nudge-roundtrip` legs passed, one over the native tool path and one over the CLI.
- The candidate carries the merges of atm-core **#1363** (Herdr doctor target resolution, four QA rounds, including the drain-and-join fix for the claim-release shutdown gap) and **#1367** (prerelease publish-kit adoption, QA PASS 7/7). Neither introduced a regression in any of the five skills.
- `atm doctor` inside the fixture reports `healthy` with two info findings and zero warnings or errors.
## Release-pipeline result recorded alongside the run
1.5.14 is the first candidate whose `prerelease-archive.yml` run succeeded end to end, including the `release` job, and therefore the first GitHub prerelease Release produced from develop lineage: six assets, five archives plus `checksums.txt`, non-draft. The two preceding candidates failed that job with `fatal: not a git repository` because the job ran `gh release create` with no `actions/checkout` and no explicit repository; #1367 fixed it. `prerelease/v1.5.13`'s archives exist only as Actions artifacts, which is why the integration candidate moved to 1.5.14.
## Timing
Inputs resolved 06:24:05Z, fixture up 06:24:37Z, first skill sentence 06:24:56Z, verdict 06:30:04Z — six minutes end to end on a warm build cache.
Files beside this report are the unedited run outputs (`result.txt`, `report-1..7.txt`, `herdr-doctor.json`) plus the rendered smoke set.
PASS skills reported 7/7, PASS 7/7 (7 report messages); herdr doctor ok: yes
atm: 1.5.14 (prerelease/v1.5.14 @ b65558165, prerelease-archive run 34317899892, ci run 34317921603)
hermes: randlee/hermes-agent @ d45230aac
hermes Hermes Agent v0.21.0 (2026.8.31) · upstream d45230aa | atm-daemon 1.5.14 | herdr 0.8.2
herdr transport: socket ({'kind': 'ok', 'version': '0.8.2', 'protocol': 20}) (atm doctor --json .herdr.endpoints[].transport; bringup writes [herdr] transport="socket" to /root/.atm.toml)
skill: atm-setup-environment agent: tester@testbed tools: cli result: PASS (6/6 steps)
skill: atm-setup-environment agent: hermes@testbed tools: cli result: PASS (6/6 steps)
skill: atm-smoke agent: tester@testbed tools: cli result: PASS (9/9 steps)
skill: atm-smoke agent: hermes@testbed tools: native+cli result: PASS (10/10 steps)
skill: atm-hermes-ready agent: tester@testbed tools: cli result: PASS (5/5 steps)
skill: atm-nudge-roundtrip agent: hermes@testbed tools: native result: PASS (5/5 steps)
skill: atm-nudge-roundtrip agent: tester@testbed tools: cli result: PASS (3/3 steps)
reports and logs: /Users/randlee/Documents/github/atm-hermes-testbed/.cache/results/20260909T062404Z
the fixture is still running: docker exec hermes-testbed ... ; ./teardown.sh when done