v0.5.0
Everything the review on deepseek-harness discussion #5061
asked for (issues #39 to #44), plus the hardening that went with it.
Upgrading
- Restart
dsh webafter updating; host code only reloads on a restart. - Turn digests are recomputed on first load, so credential masking covers the
retained history too. Nothing to set. - Profiles migrate on read; existing directives gain their provenance fields.
- New setting
reviewCandidates(off by default); new route
/api/tacit/directive-receipt.
Added
- Every directive shows a receipt in Settings: where it came from, its trial,
what its distillation cost, with Copy as JSON; never prompt text. (#49) - Review new directives before their trial: with
reviewCandidateson, a new
directive waits until you press Start trial. (#49) - A removed directive stays removed; the distiller cannot propose it, or a
rewording of it, again. (#49) - Analyzing a turn that already has a report costs nothing; Re-analyze pays
for a fresh one. (#49) - Move to workspace on every directive, and a not seen since chip on a
workspace with no open session. (#48) - Usage card: spend by route and by trigger, a tile for failed or repair calls,
input and output tokens shown apart, the daily cap next to today. (#47) - The trend chips link to How it works §6 and §10. (#46)
- The privacy page states that Tacit sends no telemetry of any kind. (#49)
Changed
- A workspace is one normalised path; a conversation anywhere inside it gets
its directives, deepest workspace first. (#48) - Same-name workspaces are shown to the distiller as
a/webandb/web. (#48) - At most 12 workspaces keep distilled directives; typed ones are never
dropped. (#48) - Removing or switching off a directive reaches conversations already open;
adding one still waits for the next. (#49) - The trend chips say the numbers are a before/after over your own turns, not
a controlled comparison. (#46) - A retired directive reads "corrections rose 10% → 30% during its trial". (#46)
Fixed
- Unticking a candidate frees its scope's trial slot for the next queued
directive. (#49) - Two workspaces sharing a folder name no longer cross-wire directives. (#48)
- A directive for a workspace the evidence never named is dropped and logged,
not applied everywhere. (#48) - A renamed or moved workspace no longer strands its directives; a candidate
there pauses until a session opens in it again. (#48) - ✨ Improve skips background-job notifications and bare "continue" turns when
it gathers context. (#46) - Escape out of a confirm dialog returns focus to the button that opened
it. (#46)
Security
- Credential-shaped strings (API keys, tokens, JWTs, private keys) are masked
as a turn is captured, before anything is stored or sent. (#45) - The steering section states it changes no tool permission, approval or
sandbox policy, and a directive about those is refused. (#45) - Every coach prompt treats its input as evidence, never as instructions. (#45)
Full diff: v0.4.0...v0.5.0