Repository navigation
Replies: 2 comments
|
2026-10-19 update — our consumer requirement is now simpler than the original lossless hold request. The Agent Picket maintainer has explicitly approved refuse + manual resend for ordinary requests: a request rejected before any model/tool execution need not be saved, held, recovered, or automatically replayed. After resuming the union, the user will manually resend text and re-upload attachments. We are not asking upstream to implement durable On genuine published DSH The smaller remaining official Host API gap:
A minimal versioned Host admission provenance/notice extension would be sufficient for this consumer; the large lossless queue is no longer a prerequisite. We have implemented metadata-only Host refusal attribution and UI notices in Agent Picket Draft PR #177, but production ordinary-input rejection remains OFF because the initiating-client/notice proof is not provided by the current Host. We can help validate a maintainer-approved public API and real Web/CLI/SDK negative cases. |
|
The same claim-before-decision ordering also reproduces for steering, not only for a human prompt, on 0.2.2-rc.3. Reproduction: a turn is running and a message is sent to it with Source, The types disagree for this case. Which one is intended for a claimed steer? If parking is, claiming after the decision (or restoring the claimed items on reject) would deliver it; if consumption is, the Related: the comment on #7053 about reject swallowing the prompt, and #6964 (same window on the error path). |
Uh oh!
There was an error while loading. Please reload this page.
Problem (verified in official Host implementation)
A third-party DSH plugin cannot safely refuse an ordinary human prompt (including ordered images/files) before model execution without risking silent data loss.
In the current upstream source, packages/api/session-controller/src/commands.ts admits uploaded files and enqueues the UserMessage. packages/core/agent-loop/src/agent.ts then claims the inbox message before calling agent/pre-step. Its reject decision closes a blocked Turn after the claim, without restoring the original work. packages/core/agent/src/runtime-types.ts explicitly documents that the claimed input ends there. The rejection tests confirm no model call, not byte-preserving recovery.
Conversely packages/client/ui-conversation/src/client/service.ts exposes conversation.send(text) forwarding independently to Session.prompt; ComposerBlocks only disables the browser input UI and cannot stop independent tabs/clients/direct API callers.
This is distinct from the official Goal block/resume lifecycle for future automatic Goal rounds, which works and which we have validated in native DSH.
Request: a Host-owned, version-negotiated atomic submission hold
Would the maintainers support a Host-owned pre-submit admission/recovery API?
Minimum native acceptance before an external plugin can use it
Synthetic text + image + file submitted via a real installed DSH Host and UI, consented hold -> zero model calls, exact payload and file SHA256/order preserved -> Host restart -> race two resume requests -> exactly one message and one model call. Validate visible warning and authenticated human provenance, and old-Host safe fallback.
This is a request for a Host implementation, not a claim that our app has enabled this. We have isolated published-artifact negative probes through @deepseek-ai/dsh 0.2.1-alpha.5, along with positive native official Goal tests. Source/evidence and a concrete consumer acceptance suite are in:
We are ready to contribute Host integration tests / implementation against a maintainer-reviewed interface. We deliberately keep destructive agent/pre-step.reject DISABLED for ordinary human-input enforcement. No actual user data, keys or model calls are involved in our reproductions.
All reactions