v0.51.8
This patch is mostly about the install path and about runs that tell you the truth when they go sideways.
The DeepSeek Harness integration gets a real installer story: install.sh now installs the dsh plugin when DSH is present, and — after two rounds of hardening — prints profile names you can actually paste back into a shell. The second round matters more than it sounds: the escaping added for terminal-control safety was delegating to printf %q, which on macOS's bash 3.2 escapes only part of a multibyte character. A profile named with an RTL override printed as invalid UTF-8 with the override half-neutralised. It now escapes byte-wise into printable ASCII, byte-identical on bash 3.2 and 5.3, and every quoted word round-trips.
On the run side, dirty worktrees no longer bleed into each other and observer handoffs survive; the CLI now asks the question its own ambiguity score implies rather than a generic one; and disposable artifacts moved into SQLite instead of loose files.
Features
- Store disposable artifacts in SQLite (#2171)
- Install the dsh plugin when DeepSeek Harness is present (#2165)
- Let an advisory lane answer from what was recently found here (#2154)
Bug Fixes
- Quote dsh profile names without bash 3.2's broken
printf %q— macOS emitted invalid UTF-8 and only half-escaped RTL overrides - Isolate dirty runs and preserve observer handoffs (#2178)
- Ask the question the ambiguity score implies (#2176)
- Preserve DSH profile names in recovery output (#2170)
- Say the advisory findings body is a list, because it is (#2162)
Documentation
- Source tour mapping three mechanisms to file:line coordinates (#2173)
- Document both DeepSeek integration directions and the dsh backend contract (#2161)
What's Changed
- feat(advisory): let a lane answer from what was recently found here by @cohemm in #2154
- docs(deepseek): document both integration directions and the dsh backend contract by @Q00 in #2161
- fix(advisory): say the findings body is a list, because it is by @cohemm in #2162
- feat(install): install the dsh plugin when DeepSeek Harness is present by @Q00 in #2165
- fix(install): preserve DSH profile names in recovery output by @sergiobuilds in #2170
- docs: add source tour mapping three mechanisms to file:line coordinates by @Q00 in #2173
- fix(cli): ask the question the ambiguity score implies by @cohemm in #2176
- fix(ouroboros): isolate dirty runs and preserve observer handoffs by @Q00 in #2178
- feat(artifacts): store disposable artifacts in SQLite by @cohemm in #2171
Full Changelog: v0.51.7...v0.51.8