Commit Graph
327 Commits
Author SHA1 Message Date
_Kerman 955e600031 Merge master into session projection registration handles 2026-10-19 11:21:16 +08:00
imccyu d1b9c04067 release(dsh): 0.2.1-rc.2 2026-10-17 15:10:31 +08:00
imccyu c6e89e6755 release(dsh): 0.2.1-rc.1 2026-10-16 21:39:18 +08:00
imccyu 0a49d91bb2 release: setup next release version for [email protected] 2026-10-16 16:17:09 +08:00
imccyu f2235d6c02 release(dsh): 0.2.1-alpha.4 2026-10-15 20:00:58 +08:00
_Kerman 90014a7508 Merge remote-tracking branch 'origin/master' into xtr/session-projection-registration-handles
# Conflicts:
#	docs/tool-catalog.i18n.yaml
2026-10-15 18:26:22 +08:00
_Kerman c3efd4bff8 refactor(session-projection): keep state reads inside owning services 2026-10-15 18:18:58 +08:00
Yichen Jiang 36acfb1e88 release(dsh): 0.2.1-alpha.3 2026-10-14 19:38:37 +08:00
_Kerman f8a84280aa Merge remote-tracking branch 'origin/master' into xtr/session-projection-registration-handles 2026-10-13 11:27:47 +08:00
fz e75e13313c Merge pull request #5531 from deepseek-harness/fix/5520-job-session-timestamps
fix(jobs): persist owned lifecycle timing in sessions
2026-10-12 14:15:56 +08:00
Turtle f34e5cc59b Merge pull request #5938 from deepseek-harness/fix/persistence-disposal-order
fix(session): retain JSONL resources through provider-triggered teardown
2026-10-12 14:14:36 +08:00
fz 88a0be8486 Merge master after separating plugin-manager fix 2026-10-12 13:04:25 +08:00
_Kerman 08e48f34b5 refactor(plugins): migrate projection consumers to retained handles 2026-10-12 12:03:36 +08:00
ZiyaandZiyaZhang c7d61ecc11 fix(i18n): 补充内置插件中文文案并精简清单展示 (#5506)
* fix(i18n): add Chinese names and descriptions for built-in plugins

* fix(i18n): keep built-in plugin localization metadata-only

---------

Co-authored-by: ZiyaZhang <[email protected]>
2026-10-09 17:18:26 +00:00
07akioni e2c410ef84 release(dsh): 0.2.1-alpha.2 2026-10-09 15:13:40 +08:00
turtle1999 dfca3c3c6f fix(session): use namespace exports for JSONL persistence plugin 2026-10-09 15:10:49 +08:00
turtle1999 22d0bd19a3 fix(session): preserve JSONL persistence default plugin import 2026-10-09 14:10:52 +08:00
turtle1999 4d9047be2d fix(session): retain JSONL resources through provider-triggered teardown 2026-10-09 13:46:43 +08:00
fz e493fd40dc fix(jobs): use short UUIDs for visible job ids 2026-10-08 21:04:58 +08:00
fz 54c13688a8 fix(jobs): use one durable job id and ordered shutdown 2026-10-08 16:17:52 +08:00
fz 672b384eea Merge master into job lifecycle timing and refresh owned fixtures 2026-10-08 11:02:16 +08:00
Tianyi Cui 4359d3ee17 refactor(tools): remove mixed tool presentation 2026-10-07 01:57:57 +08:00
Tianyi Cui b48384223a refactor(experimental)!: classify optional packages and move prototypes 2026-10-06 16:41:04 +08:00
Tianyi Cui 13b4f716e7 test(pwsh): verify prompt readiness after scrolling and restart 2026-10-06 10:41:16 +08:00
Tianyi Cui c7e62c1062 fix(tools): retain nested PTC presentation metadata for historical locations 2026-10-06 01:31:51 +08:00
Tianyi Cui b58cd85574 test(session): repair working-directory integration fixtures
Supply the required directory collaborator to current runtime fixtures, verify absolute result navigation and deployment fallback, and retain the valid V4 working-directory recording instead of the unreleased V3 input that contains a V4-only event.
2026-10-06 01:31:51 +08:00
Tianyi Cui 0c6b1ef7bb fix(session): port directory consumers and fixtures to current runtime 2026-10-06 01:31:51 +08:00
Tianyi Cui 3f35ca7b5b test(session): align fixtures with awaited agent creation 2026-10-06 01:27:55 +08:00
Tianyi Cui 92713fcdbd fix(session): complete working directory consumers and validation 2026-10-06 01:27:54 +08:00
Tianyi Cui 79bd3d8da7 feat(session): centralize working directories and directory context 2026-10-06 01:27:54 +08:00
Tianyi Cui ec48669f48 release(dsh): 0.2.1-alpha.1 2026-10-03 10:46:11 +08:00
Turtle 819eb8078e Merge origin/master into turtle/remove-invariants-ccf1396aaf61 2026-10-01 16:33:09 +08:00
Tianyi Cui c7f66d13a6 docs(notes): prune redundant active decision records 2026-09-30 23:20:22 +08:00
fz f899e87a1e fix(jobs): persist owned job lifecycle timing in sessions 2026-09-30 15:25:24 +08:00
Turtle f028f25667 refactor: remove runtime invariant plugins
Delete @deepseek-ai/dsh-invariants, every package's ./invariant companion
and its tests, the invariant gates and Vitest setup, the scoped-event
resolver generator, and the INVARIANT-coded listener rethrow paths.
Update docs, READMEs, Agent Notes, and add an upgrade guide.
2026-09-30 12:52:18 +08:00
imccyu 4166dbd140 fix(tools): guide argument generation order 2026-09-30 02:18:04 +08:00
imccyu c1b47e41fc release(dsh): 0.2.0-rc.2 2026-09-29 16:40:57 +08:00
imccyu 5e7e961aef Merge pull request #5208 from deepseek-harness/turtle/pwsh-prompt-path-check-d15d1781302e
fix(shell): remind agents to check resolved paths before delete or move
2026-09-29 15:51:56 +08:00
turtle1999 4b7a45d154 fix(pwsh): accept ASCII-padded completion status lines 2026-09-29 03:11:05 +08:00
Tianyi Cui dc19d6b7fb Merge pull request #5298 from deepseek-harness/fix/pwsh-settle-diagnosis-20260927
test(pwsh): record a per-send readiness timeline in the loader-composition case
2026-09-28 23:10:24 +08:00
imccyu 4878cdabd8 release(dsh): 0.2.0-rc.1 (#5387) 2026-09-28 19:48:10 +08:00
Tianyi Cui 0310066b39 test(pwsh): build the fake terminal handle without an unknown cast
The unit spec's fake handle is a typed object whose methods read a
mutable state record, so the no-new-unknown-casts gate has nothing to
reject.
2026-09-28 01:30:26 +08:00
Tianyi Cui 51ede0f8c5 test(pwsh): build the failure message lazily and bound windows by event order
Review round 1: the settle assertions build their message only when one
is about to fail, so a passing run never pays the host-facts shell probe;
send windows are bounded by event sequence numbers instead of
milliseconds, so two sends that hand over within one millisecond keep
their own events; the replay starts at the send's own input write and
ignores the emulator's terminal-protocol replies; a throwing foreground
inspection is recorded before the send rejects; a sanitizer is attributed
to the most recently spawned terminal, which the class documents as the
sequential-session assumption. A unit spec pins the replay rule against
the session's evidence states, the window boundaries, the reply/input
distinction, and the bounded, escaped rendering. Notes and comments drop
change narration and the unverified claim about the pool's build.
2026-09-28 01:22:54 +08:00
Tianyi Cui fc885edf72 test(pwsh): record a per-send readiness timeline in the loader-composition case
The self-hosted Windows lane settles one or two of seven sends on the
controlled prompt and the rest at the plain silence bound, and the
settle reasons alone cannot say whether the marker was missing, its tail
was invalidated by later output, or the foreground comparison failed.
The case now records every decoded pty chunk with the sanitizer's marker
verdict and prompt tail, every foreground poll, every input write, each
send's settle reason and elapsed time, the session's prompt evidence
replayed from those chunks, and the host, pwsh, PSReadLine, and console
host versions; the settle assertions carry that timeline in their
failure message and onTestFailed prints it when the runner's budget ends
the case first.

promptTailGraceMs returns to the product default: master runs with and
without it took the same 20.8 s, so the lane's degraded sends never held
the state it covers, and a nonzero value there would only lengthen a
never-arriving-tail fallback.
2026-09-28 00:55:28 +08:00
Tianyi Cui 76a2b7a799 fix(pty): apply the tail grace only while the tail can still complete
Review round 1: the tolerance now requires the accumulated tail to remain a
prefix of the controlled prompt, so a prompt that arrived and was invalidated by
later output keeps the plain silence bound instead of waiting a tolerance with
nothing left to wait for. The field is validated as zero or at least one
`pollIntervalMs`, matching the handoff grace rule, and tests pin the extended
bound's expiry, the invalidated tail, and that rule. The owning readiness design
note records the new field and Tier 2 bound and cross-links this decision.
2026-09-27 21:36:42 +08:00
Tianyi Cui 3693c2b402 fix(pty): bound the wait for a seen prompt marker's printable tail
Windows sessions on the self-hosted lane settled one or two of seven sends on
the controlled prompt and charged the silence tier for the rest (issue 2487).
The marker is written by the shell's own prompt function and the printable tail
by the same render, so a tail that arrives past `idleSilenceMs +
handoffGraceMs` means a stalled delivery, not an absent prompt.

`dsh-terminal-bash` gains a validated `promptTailGraceMs` bound (default 0,
which reproduces the previous bound exactly). While a send has seen the marker
and its printable tail has not arrived, the silence bound grows by it. The
pwsh Loader-composition case sets 5000 ms, the host class the bound is for, and
still fails when no marker appears at all.
2026-09-27 20:34:19 +08:00
Tianyi Cui 6ad3557b1b test(boot): wait on the observed state in two Windows-lane cases
`operations.spec.ts` read the profile's run record from a 100 ms timer armed
before the refused installation whose repair it observes; a loaded runner
reached the repair run after that timer and the case failed with `null`
against the recorded run. The observing child now stays in flight until the
record appears, and the bounded wait starts at the launcher hand-over rather
than at test start.

The loader-composition case counts `stdin_read` settlements but reported only
the count, so its Windows failures could not say which tier settled which
send. The recorded reasons now ride in the assertion message; the threshold
and the assertions are unchanged.
2026-09-27 16:37:14 +08:00
Turtle 1a50c05170 fix(shell): remind agents to check resolved paths before delete or move
Add a path-check reminder to the bash and pwsh tool descriptions. pwsh
also warns against assigning automatic variables such as $HOME; bash
also asks agents to guard path variables with ${VAR:?}.
2026-09-25 14:26:26 +08:00
turtle1999 787b746b80 release(dsh): 0.1.7-rc.2 2026-09-24 21:24:26 +08:00
mektpoy ea3667175d Merge remote-tracking branch 'origin/master' into fix/truncate-without-splitting-surrogates 2026-09-24 20:03:02 +08:00