Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 15 additions & 7 deletions codev/reviews/272-the-sidebar-tree-needs-every-w.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,15 +139,23 @@ Claude raised four non-blocking items:
written — acknowledged, not fixed here.** The sweeper is interval plumbing over
`reconcileWorkspaceProjects`, which is covered; the untested part is `start`/`stop`/overlap
behaviour. Worth a follow-up rather than widening this PR.
3. **The sweep re-exchanges the bootstrap token every 30s per server — real, and a behaviour
change worth knowing.** A pairing-issued one-time token is now spent on the first tick, before
anyone spawns. The constraint is pre-documented on `ThreadBackendConfig.bootstrapToken`, but this
makes an unbounded desktop seed effectively mandatory for any workspace carrying a `threads`
config. Not changed here because caching a credential across processes is a storage decision.
3. **The sweep re-exchanges the bootstrap token every 30s per server — real, but not for the
reason first recorded here. Corrected.** This originally said a pairing-issued one-time token is
spent on the first tick before anyone spawns, and that an unbounded desktop seed is therefore
effectively mandatory. **That is wrong.** The architect verified against a live server that the
token is durable and re-exchangeable: nothing is burned. The real cost is smaller and different —
each exchange mints a **session**, so the sweep accumulates one per server every 30s and they
pile up. That is a leak, not a spent credential, and it wants a different fix: reuse the access
token across ticks, rather than provisioning a different kind of credential. Tracked in **#306**.

Left visible rather than silently rewritten, because the wrong version was merged and someone
may have read it. The lesson underneath is the one this repo already keeps: a constraint
documented in a comment (`ThreadBackendConfig.bootstrapToken`) is not a measurement, and I
propagated it as though it were.
4. **A down server logs a WARN every 30s, ~2,880 lines/day — real.** Logging on state change is the
fix; deferred as a follow-up rather than folded in.
fix; deferred as a follow-up rather than folded in. Tracked in **#307**.

Items 2-4 need issues; I did not open them because that call is the architect's.
Items 2-4 are filed: **#308** (untested sweeper lifecycle), **#306**, **#307**.

## How to Test Locally

Expand Down
Loading