← Back to feed
WritingArticle

An approval card must know which conversation is asking

A small session-routing fix in DeepSeek Harness for VS Code shows why a human approval button is only useful when the interface can establish who is asking.

Sourceraw.githubusercontent.comraw.githubusercontent.com ↗

Retrospective coverage for the October 14, 2026 issue.

A question from a browser conversation can look perfectly ordinary inside an editor—and still belong somewhere else. The pinned v0.2.4 source for DeepSeek Harness for VS Code describes that failure: a question without a session identifier in its request was attributed to whichever conversation the editor panel displayed. A human could answer a plausible card while misunderstanding which conversation had asked it.

As of the October 14, 2026 issue date, the supplied waterfall.ts snapshot explains the mismatch. The host-wide event stream carries approvals and questions from multiple sessions. According to its comments, approval requests carry request.sessionId; question requests do not. Both carry agentId, which the comments identify as the host protocol’s session identity—not merely an agent’s descriptive name.

The module’s resolver makes that distinction operational. It returns a nonempty string from agentId first, falls back to the request’s session identifier, and returns undefined if neither qualifies. It does not consult the visible panel. The comments specify that unidentified frames should be dropped and logged by the caller; this isolated function does not demonstrate that downstream behavior. The bounded improvement is explicit session selection, not proof that the entire approval flow is safe.

Consider a hypothetical developer running separate browser and editor conversations. If the browser asks a clarification while the developer is reviewing an editor task, putting the question in the editor thread supplies misleading context before the developer even reads it. Explicit routing removes that particular basis for confusion. It does not establish that the question is sensible, that the requester is authorized, or that the eventual answer reaches the correct destination.

It is tempting to treat this as cosmetic interface cleanup. The more useful interpretation is that conversation identity is part of meaningful human oversight: the person’s judgment depends on knowing which work they are responding to. Refusing to attribute an unidentified question can interrupt work, so missing-event handling still matters. But a seamless card in the wrong conversation can conceal the very uncertainty the human needs to resolve.

Grey Haven
Grey HavenApplied AI Venture Studio