CiteCiter v0.2.1
v0.2.1 fixes a later-turn regression in durable Citation Threads.
Fixed
- Accept an idempotent
/permission read-onlycommand when the child session's latest owned permission preset and sandbox mode are alreadyread-only. - Preserve fail-closed behavior when the initial preset/sandbox state is missing, a command fails, or a later write-capable downgrade is present.
- Prevent a genuine second or later user question from being rejected with
permission command succeeded without applying read-only.
DSH emits permission/preset and sandbox/mode during the first switch. Repeating the same switch on a later turn may emit only successful command/run and command/done events. CiteCiter now treats the effective durable child state as proof for that idempotent case rather than requiring duplicate state events.
Verification
- Focused suite: 29/29 passing tests, including the exact repeated-command event sequence.
- Browser smoke now submits a genuine follow-up in the recovered first Thread before creating a second Citation.
- The follow-up remained visible, the expected credential-less provider error occurred only after prompt submission, no preparation error appeared, and the source-session log size and nanosecond mtime remained unchanged.
Upgrade
dsh plugin --profile web add @kirkchinese/dsh-citeciter@0.2.1Restart DSH Web after upgrading, or use a runtime updater that verifies both the Host fiber and Client module.