review: bxctl memory sync shows what the Honcho side waits on

A shared status, kept by the worker and the walk and read by the report under
its own leaf lock, holds the workspaces whose key was refused, when an outage
of Honcho began, and when brokerd stopped answering. The report adds a line
for each while it lasts, and is unchanged when all is well. The runbook's
Honcho entries and broker-state-unavailable now say what sync shows.

Tuning and Wake move to honcho/wake.rs (re-exported from worker) to keep
worker.rs under 500 lines. honcho_sync.rs's serve test now allows the outage
line: the write wakes the worker, which finds Honcho unreachable.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-28 14:11:31 -07:00
co-authored by Claude Opus 5.5
parent 3dd95c5791
commit 3d266df9de
12 changed files with 439 additions and 81 deletions
+5 -6
View File
@@ -41,12 +41,11 @@ impl Opened {
/// The memory writes' side of the ledger (task 12).
pub fn mirror(&self) -> Mirror {
let ledger = self
.sync
.lock()
.unwrap_or_else(|p| p.into_inner())
.shared_ledger();
Mirror::new(ledger, &self.agent, &self.owner)
let (ledger, status) = {
let sync = self.sync.lock().unwrap_or_else(|p| p.into_inner());
(sync.shared_ledger(), sync.shared_status())
};
Mirror::new(ledger, &self.agent, &self.owner).with_status(status)
}
}