Repository navigation
v0.16.1
Patch release. Production data-race fix surfaced while investigating issue #13.
Fixed
- Data race on
a.sessionpointer between title generation and the extraction's auto-dispatched SendWithAttachments. Caught by the Go race detector during issue #13 investigation. The title goroutine reada.session(ingenerateTitleIfNeeded) whileagentLoop's defensive nil-init wrote to it, both without holdinga.mu. In normal usea.sessionis initialised byLoadSessionbefore any SEND, so the agentLoop nil-init is usually a no-op and the race rarely manifests in practice — but the same race also exists betweenLoadSession's write and a concurrent title-gen read, so the bug is latent regardless. No user-visible impact has been observed, but the fix lands now because the race is real. Fixed by snapshottinga.sessionundera.muat both sites (the lock is NOT held acrossbackend.Chat, which can take seconds). No API or on-disk behaviour change. See ADR-0030. - Two flaky tests in the agent package (issue #13). Pure test fixes (barrier pattern for
TestQueuedSend_ExtractionErrorStillDispatches, relaxed wall-clock deadline forTestAutoDispatch_DrainedByWait).