mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Three review findings, each verified against the presentation contract: The call view's `description` was dropped, so a presenter that authors one (`terminal_send` declares `Terminal <id>`) lost the contract's above-card text and the row fell back to an unrelated args-derived summary. It now rides the same derivation and outranks that summary. A relative workdir was concatenated but never normalized, while the bash executor resolves it before running: with session cwd `/w/app` and workdir `..` the command runs in `/w`, yet the card displayed the label `..`. The resolved path now collapses `.`/`..` segments, drops a `..` that would climb past a root the way a filesystem does, and keeps a Windows path's separators since the value is only ever displayed. `run_code` sub-dispatches carry no presenter views on the shipped wire — `session.ts` folds `tool/code-dispatch(-start)` with null views and the host's `viewFor` presents only top-level call/result events — so a nested bash call cannot reach a terminal card. The existing test only passed by injecting views that path cannot produce; it now says so, and a second arm pins the no-view shape the wire actually delivers. Restoring master's fixture also fixed the todo snapshot lane, which my earlier merge had broken by dropping the projection support the todo dock reads. The terminal sample turn moved ahead of the todo turn, because the standing plan retires at the next `turn/start` and a turn appended after it emptied the dock. The card props are now nested under `card` so a render site spreads exactly the primitive's own surface, and the fixture reads each sample's authored exit status instead of re-implementing the bash tool's `parseExitStatus`.