71 lines
3.9 KiB
Markdown
71 lines
3.9 KiB
Markdown
# 2026.09.14.01 — command-hq self-reported arm/fire/disarm
|
|
|
|
**One commit**, `deploy/2026.09.09.01..36db9a2a`. Backend-only, no schema change, no new dependency.
|
|
|
|
## What it is
|
|
|
|
Three new routes, `POST /command-hq/commanders/dir/:dirName/{arm,fire,disarm}` — a second, self-reported
|
|
door onto the existing `armCommandHqWatcher`/`recordCommandHqWatcherFired`/`disarmCommandHqWatcher`
|
|
functions, for a commander loop that outlives its own turn (detached, or a tracked background job that
|
|
dies with the turn anyway) and so never produces the harness's own `task:started`/`task:notification`
|
|
events. Authenticated with the commander's own long-lived `OFFICER_API_KEY`. Full account in
|
|
`docs/command-hq.md` → "Self-reported arm".
|
|
|
|
No route removed, no existing route's contract changed, no frontend change. The only way this release
|
|
does anything is a host restarting `officer` to pick up the new routes — a commander whose loop already
|
|
calls them (this machine's four) gets nothing from the rollout on any OTHER host, because those hosts'
|
|
own commanders, if any, don't call them yet.
|
|
|
|
## Verified, not assumed
|
|
|
|
```bash
|
|
git diff --name-only deploy/2026.09.09.01..HEAD | grep -iE 'schema|databases/' # → nothing
|
|
git diff --name-only deploy/2026.09.09.01..HEAD -- package.json bun.lock # → nothing
|
|
git diff --name-only deploy/2026.09.09.01..HEAD -- docs/servers.md # → nothing, host list unchanged
|
|
bun run docs:check # → green
|
|
```
|
|
|
|
No schema change, no dependency change, no host-list change since the last release. `package.json`
|
|
version bumped to match this tag and nothing else in it changed.
|
|
|
|
## Every host — the commands
|
|
|
|
Standard steps only, nothing extra: dirty check (TRACKED only), `git fetch origin --tags`,
|
|
`git merge --ff-only deploy/2026.09.14.01`, `bun run plugins:update`, `pm2 restart officer`. No
|
|
`bun install`, no `db:push` — neither is needed and running either is not a finding, just unnecessary.
|
|
|
|
### Verify it came back — two checks, per host
|
|
|
|
No schema table to query this time, so the usual three checks drop to two:
|
|
|
|
1. **`pm2 jlist`** — `officer` is `online` and its `restart_time` moved.
|
|
2. **HTTP** — `/api/health` on the host's own port. `200` or `401` are both healthy. Port is **9010 on
|
|
`macbookpro`**, 9000 elsewhere.
|
|
|
|
## Per host
|
|
|
|
| Host | Login | Note |
|
|
| ----------------------- | -------------- | ----------------------------------------------------------|
|
|
| `alpha` | `pastilhas` | |
|
|
| `fofos` | `pastilhas` | |
|
|
| `macbookpro` | `pastilhas` | Laptop. Asleep is a SKIP with a note. Port **9010**. |
|
|
| `deadpool-rezio-bridge` | **`br`** | Not `pastilhas`. |
|
|
|
|
### Skipped, deliberately — not failures
|
|
|
|
- **`officer-dev`** — the host the rollout runs on. Skip entirely, per the standard rule.
|
|
- **`macbruno`** — reachability unknown at cut time; check live, unreachable is a SKIP not a failure.
|
|
- **Both Pertento hosts** — deliberately-skipped list in `docs/servers.md` since 2026-09-08.
|
|
|
|
## What "done" looks like
|
|
|
|
Four hosts attempted: `alpha`, `fofos`, `macbookpro`, `deadpool-rezio-bridge`. Each at
|
|
`deploy/2026.09.14.01`, `officer` back online, health answering on the right port. A host that fails
|
|
does not stop the rollout — its own line, what failed, what never ran.
|
|
|
|
## Known and carried, not introduced here
|
|
|
|
`bunx tsgo` reports one pre-existing type error in `src/servers/sidecar/claude/claude-manager.ts:667`
|
|
(`SdkUserMessage` vs `SDKUserMessage`, from the agent SDK's own types) — present before this release,
|
|
type-only, stripped at run time. Named here so it isn't mistaken for something this release did.
|