assist v0.329
Refining the comment gate and linking Jira
Most of today refined yesterday’s comment gate. The first rough edge was that the gate blocked all comment edits, including removing them — so I relaxed it to allow trimming, meaning I can still delete or shrink existing comments freely while adding new ones stays gated. The bigger change was hardening the escape hatch: the pin that authorises an allowed comment is now delivered out-of-band (issuePin) rather than passed inline, so it can’t be forged in the same edit it’s meant to permit. With the gate carrying the policy properly, I dropped the old block-comments verify step, which had become redundant.
The other feature ties backlog items to Jira. A new assist backlog associate-jira command — and a /associate-jira slash command in front of it — links a ticket to a backlog item: it validates the key shape, fetches the issue to confirm it actually exists, and stores the key, with --clear to remove the association. It’s the connective tissue I’d been missing between my own backlog and the tickets that drive some of the work.
On the daemon side, I added a protocol-version handshake so the WSL and Windows daemons agree on a protocol version up front and a mismatch is caught cleanly at connect time rather than surfacing as confusing downstream failures. Three fixes rounded out the day: a --once session re-watches its done signal after a restore so it still auto-dismisses, the daemon no longer replays its whole log buffer to a reconnecting browser (which had been dumping a wall of stale lines on every reconnect), and the web UI now shows unmerged files in the git status.