From 4e5693401719e74a08d4cf37496254cfd79d1afa Mon Sep 17 00:00:00 2001 From: CMGS Date: Mon, 9 Nov 2026 20:15:44 +0800 Subject: [PATCH] docs: an archive_delete caps the span at the last deadline in archived too The fold rule capped archive_delete only outside archived, so inside it the archived-storage span ran to the purge's t: past the retention deadline by the sweep's tick, the owner's downtime, and up to the hour-late orphan sweep. Capping it at the last deadline in every state ends that span at the archive's retention deadline on every purge path, including the orphan-row purges, which can neither tell their claim's fold state nor record a reap without ending a still-running compute span at the retention deadline. --- docs/sandboxd-api.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/sandboxd-api.md b/docs/sandboxd-api.md index e4817997..7f1c5cb2 100644 --- a/docs/sandboxd-api.md +++ b/docs/sandboxd-api.md @@ -1335,9 +1335,10 @@ VM's RAM. `vmm_exit` is stamped when the node first finds the VMM gone, so an outage before sandboxd runs again (a host that was down) stays billed up to that point. A `reap` instead ends the current span at min(`t`, its `deadline`), or `t` with none, because `t` can follow the true end by the reaper's tick, the VM's -teardown or the node's downtime. Outside `archived`, an `archive_delete` ends the -current span at min(`t`, the last `deadline`), because a purge can follow a claim -that has no end event by a whole retention window. An `adopt` names a claim +teardown or the node's downtime. An `archive_delete` ends the current span at +min(`t`, the last `deadline`): in `archived` that is the retention deadline, which a +purge trails by the sweep's tick or the node's downtime, and a purge can follow a +claim that has no end event by a whole retention window. An `adopt` names a claim a node took over, from a lost node or from its own lost record, with `ref` the checkpoint it holds. In `archived` it changes nothing; otherwise it ends the current span at min(`t`, the last `deadline` before it) and enters `archived` at