fleetd #480: ignore the handover file, and note the absolute-path guarantee in the handover skill
CI / contract (push) Successful in 47s
CI / build (push) Successful in 1m52s

The lead rollover handover file now lives inside the workspace, at the relative
path fleetd.yaml's leadRollover.handoverPath names. It is a snapshot of one
moment's live state, so it must never enter git history.

The handover skill also now says the handoverPath fleetd hands back is always
absolute, even when the configured value is relative — a lead that resolves it
itself can pick a different file from the one the daemon checks.
This commit is contained in:
Dai Ha
2026-09-12 05:46:34 +07:00
parent 3bf3968bc7
commit 7f9137fcb6
2 changed files with 12 additions and 0 deletions
+6
View File
@@ -135,6 +135,12 @@ refused.**
1. **`fleet_handover{action: "open", reason: "<why now>"}`.** It returns a `token` and the 1. **`fleet_handover{action: "open", reason: "<why now>"}`.** It returns a `token` and the
`handoverPath` you must write to. Nothing has happened to your pane yet. `handoverPath` you must write to. Nothing has happened to your pane yet.
**Write to exactly that path, and do not resolve it yourself.** It is always absolute, even when
the operator configured a relative `handoverPath`: fleetd resolves a relative one against your
own workspace before it hands it to you. The daemon and your pane can run in different
directories, so a path you resolve yourself can point at a different file from the one the daemon
will check.
2. **Write the handover file at that path**, following sections 1–10 above. 2. **Write the handover file at that path**, following sections 1–10 above.
3. **Ask the operator, then `fleet_handover{action: "confirm", token, operatorConfirmed: true}`.** 3. **Ask the operator, then `fleet_handover{action: "confirm", token, operatorConfirmed: true}`.**
+6
View File
@@ -19,3 +19,9 @@
fleetd.out fleetd.out
fleetd/fleetd.out fleetd/fleetd.out
logs/ logs/
# fleetd #480: the lead rollover handover file. `leadRollover.handoverPath` points here, and the
# outgoing lead rewrites it on every rollover. It is a snapshot of one moment's live state —
# unpushed branches, running builds, open questions — so it is stale the moment it is written and
# has no business in git history.
.handover/