Commit Graph
180 Commits
Author SHA1 Message Date
Turtle 8cf9c0eded fix(bash): allow blank justification without escalation (#4662)
* fix(bash): allow blank justification without escalation

* fix(bash): permit empty reasons when repeating the current mode
2026-09-20 14:28:57 +08:00
imccyu d8c993a622 docs(shell): clarify queued cancellation regression coverage 2026-09-19 23:31:31 +08:00
imccyu d67545f367 docs: sync catalogs and contracts for session fixes 2026-09-19 23:05:40 +08:00
imccyu 8771607f8b test: cover sidebar fork and persistent shell cancellation regressions 2026-09-19 23:05:40 +08:00
imccyu 9d4fa54c2d fix(shell): settle persistent shell cancellation without throwing its reason 2026-09-19 23:05:40 +08:00
_KermanandTianyi Cui fb79a944f5 refactor(llm): separate durable producer sources from request inputs
Give durable user context its producer-owned source kind instead of a generic plugin wrapper. The V3-to-V4 conversion preserves the frozen rename and collision rules, all own JSON metadata, event coordinates, and historical request-only kinds. Native catalog and JSONL admission retain source validation so unknown attribution can survive without its producer while malformed owned sources are refused.

Use an explicit user-only RequestUserInput for auxiliary LLM prompts that do not own durable message identity. Auto Review and compaction remove their request-only source registrations while retaining prompt content and freezing; provider serializers and projections keep the same wire data, assistant replay isolation, image ordering, and tool correlation. Session writes, Agent delivery, and recorded title requests continue to require identified durable messages.

Bind the saved compatibility policy only to user sources and qualify tmux location attribution without weakening fixed system, model, or tool semantics. Rebuild the current inventory and unpublished V4 acknowledgement on the actual tool-role parent, preserving its rationale and all accepted historical records. The catalog format version records tooling metadata; Session remains V4. Developer-role policy and activation belong to their own feature.

The latest-master Messages adapter, serialization, request-input typing, EpochHeader reservation, and attribution checks pass 103 tests across five files. The retained V3 Messages input-history snapshot passes through the source profile; Host/Client typechecks and all 41 documentation gates pass. The generated comparison records four changed roots and 447 unchanged type fingerprints. Latest-master ARIA changes are retained, with producer source labels applied independently; new Messages fixtures retain their producer names as declared source kinds and use the fixed system-message helper; recorded Session generations are unchanged by this regrouping.

Co-authored-by: Tianyi Cui <[email protected]>
2026-09-18 19:07:12 +08:00
_KermanandTianyi Cui f4a32dbd0a refactor(llm): flatten tool results and validate native V4 sessions
Represent tool results as tool-role messages and migrate released wrappers
without losing outer own JSON fields, call identity, error state, or writer
field order. Refuse nested or wrapper-only information that has no lossless
current representation before successor publication.

Validate current event relationships directly instead of projecting V4 data
back into V3. Keep lifecycle, PTC, title/command, compaction, system-field and
retired-syntax checks on catalog restoration and ordinary JSONL opens. The
Worker JSON equality helper must inspect own keys so it cannot admit PTC
arguments that Node rejects.

Keep the source role change, required native admission and consumer fixture
updates in one complete review layer. Explain shared-type changes in the
persistence record and the native reader rationale in its existing note.
Use checked branded fixture identities and discriminant narrowing instead
of unknown double casts; fixture values and assertions remain intact.

This recomposes the original tool-role work by _Kerman with the independently
validated migration and admission repairs by Tianyi Cui. Frozen generations
and snapshot input version selection are retained.

Co-authored-by: Tianyi Cui <[email protected]>
2026-09-18 19:05:32 +08:00
winewill 1a7308fbaa test(shell): synchronize background process completion 2026-09-18 15:37:05 +08:00
creatixchu 6b1808f432 release(dsh): 0.1.6-alpha.2 2026-09-17 21:11:19 +08:00
turtle1999 aea150a17e test(pwsh): align repeated sandbox mode expectations 2026-09-16 13:35:31 +08:00
turtle1999 61c548e200 fix(sandbox): accept repeated effective permission modes 2026-09-16 13:16:33 +08:00
creatixchu ea53423b60 release(dsh): 0.1.6-alpha.1 2026-09-15 09:35:57 +08:00
_Kerman 0a382becb3 Merge latest origin/master into xtr/agent-setup-hook 2026-09-14 13:57:18 +08:00
Yichen Jiang 1b7b50bbe1 Merge remote-tracking branch 'origin/master' into worktree/web-sidebar-terminal
# Conflicts:
#	apps/web/package.json
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	packages/api/remotes/src/client/index.ts
#	packages/e2b/subprocess-e2b/README.md
#	packages/e2b/subprocess-e2b/README.zh.md
#	packages/e2b/subprocess-e2b/src/index.ts
#	packages/e2b/subprocess-e2b/src/terminal.ts
#	packages/e2b/subprocess-e2b/tests/subprocess.spec.ts
#	packages/e2b/subprocess-e2b/tests/terminal.spec.ts
#	packages/mcp/mcp-resources/README.i18n.yaml
#	pnpm-lock.yaml
#	scripts/verify-package-readme-model-experience.ts
#	snapshots/session/cordis-inspect-jsdoc/session.v3.jsonl
#	tsconfig.base.json
#	tsconfig.client.json
#	tsconfig.host.json
2026-09-14 10:36:31 +08:00
Tianyi Cui 6c3c3064c3 refactor: align instruction and job helper symbols 2026-09-12 20:20:02 +08:00
Tianyi Cui 73e38e1758 fix(shell): include confinement preparation in foreground deadlines 2026-09-12 15:03:03 +08:00
Tianyi Cui fd9d333fbe test(runtime): cover async preparation in built and Windows paths 2026-09-12 15:03:03 +08:00
Tianyi Cui 58b67dcb5a fix(fs): preserve physical traversal in directory entry paths 2026-09-12 15:03:03 +08:00
Tianyi Cui caa69608fb refactor(sandbox): await cancellable preparation in process consumers 2026-09-12 15:03:02 +08:00
Tianyi Cui 2344830cfd test(code-runtime): align UI binding fixture and shared diagnostic ownership 2026-09-12 15:03:02 +08:00
Tianyi Cui 75ed8da3e0 feat(code-runtime): execute Node programs through confined processes 2026-09-12 15:03:01 +08:00
Tianyi Cui d8efd4f8cd feat(subprocess): carry a duplex control pipe through managed launches 2026-09-12 15:03:00 +08:00
Turtle 71d50b4a84 refactor: ban ambiguous origin label 2026-09-11 17:45:28 +08:00
Yichen Jiang 59f2e3be33 Merge release/dsh-0.1.5 version 0.1.5-rc.2 into master sync branch 2026-09-10 21:53:53 +08:00
Yichen Jiang a305303422 release(dsh): 0.1.5-rc.2 2026-09-10 21:38:20 +08:00
_Kerman fd7ee32315 Merge origin/master into xtr/agent-setup-hook 2026-09-10 17:02:57 +08:00
Yichen Jiang 80badab556 Merge remote-tracking branch 'origin/master' into worktree/web-sidebar-terminal
# Conflicts:
#	packages/api/README.i18n.yaml
#	packages/api/README.zh.md
#	packages/e2b/subprocess-e2b/README.i18n.yaml
#	packages/e2b/subprocess-e2b/README.zh.md
2026-09-10 10:52:51 +08:00
Yichen Jiang 12d3be3514 Merge remote-tracking branch 'origin/master' into worktree/web-sidebar-terminal
# Conflicts:
#	packages/client/ui-sidebar-right/README.i18n.yaml
#	packages/client/ui-sidebar-right/README.md
#	packages/client/ui-sidebar-right/README.zh.md
2026-09-10 10:48:47 +08:00
j-xiang 4ddf777ad8 Merge master into README proofreading branch 2026-09-10 10:42:13 +08:00
imccyu 1ef9c1fa9a release(dsh): 0.1.5-rc.1 2026-09-10 09:13:14 +08:00
j-xiang b5578ae46a Merge master into README proofreading branch 2026-09-10 01:29:37 +08:00
j-xiang 8e8fb2fc62 docs(i18n): proofread bilingual README corpus 2026-09-10 00:21:32 +08:00
imccyu dd393c1820 release(dsh): 0.1.5-alpha.2 2026-09-09 22:02:09 +08:00
_Kerman 2f7a02022a Merge origin/master into xtr/agent-setup-hook 2026-09-09 17:31:17 +08:00
Yichen Jiang e15a9b1bec feat(web): add interactive sidebar terminals 2026-09-09 16:40:58 +08:00
_Kerman 9b7a8ccc9f feat(agent): await initialization through agent/created 2026-09-09 16:20:00 +08:00
Tianyi Cui 1b56cf6013 test(ci): retain useful regression controls after master rebase 2026-09-09 13:18:09 +08:00
Tianyi Cui 5b0d65fd72 test(ci): observe asynchronous completion and settled layout 2026-09-09 13:18:08 +08:00
fz 25d675fcf3 Merge origin/master into feat/remove-str-replace-editor-from-minimal 2026-09-08 23:31:51 +08:00
fz 94ff82f57b Merge origin/master into feat/remove-str-replace-editor-from-minimal 2026-09-08 23:22:25 +08:00
imccyu 2faa751be9 release(dsh): 0.1.5-alpha.1 2026-09-08 23:06:34 +08:00
Tianyi Cui 08f42810b9 Merge pull request #3781 from deepseek-harness/worktree/ci-reliability-master-20260908
test(ci): honor test budgets and clean up fixture processes
2026-09-08 22:08:50 +08:00
Tianyi Cui 59ec2d3e94 test(ci): clean up fixture workers after test timeouts 2026-09-08 21:35:18 +08:00
imccyu 97e7223d5f refactor(native): expose Landlock through its capability subpath 2026-09-08 20:49:10 +08:00
imccyu 7264906f99 refactor(native): rename package family to node-addon-system 2026-09-08 20:49:10 +08:00
fz 1f1537914f feat(minimal): align persistent bash output with the one-shot shell contract
The minimal compositions serve the same models that trained against a
one-shot `bash` tool; three surface differences remained visible to them.

- Every settled command now appends `[Command finished with exit code N]`,
  including exit code 0, instead of `[exit code: N]` only on failure. A
  timeout appends `[Command timed out or OOM]` after the partial output.
- Trailing newlines are all dropped before the status trailer rather than
  only the last one.
- The `bash` description in the `minimal` preset and the `sdk-minimal`
  bundle replaces the two fixed network lines with a single environment-
  dependent line; the pwsh description is unchanged.

Tests, READMEs, the web minimal-preset schema snapshot, and the packaged
Python minimal model-visible snapshot follow the new wording. The
standalone `persistent-tools` SDK replay fixture keeps its own copy of the
old description since it is a per-launch customization, not the profile.
2026-09-08 19:48:21 +08:00
_Kerman 939e6907da test(shell): gate consuming PowerShell reads on parent acknowledgement 2026-09-08 18:59:04 +08:00
Turtle f1c1ff5a08 docs: constrain package README summaries 2026-09-08 13:52:40 +08:00
_Kerman 0348599f04 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672
# Conflicts:
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	packages/acp/acp/tests/harness.ts
#	packages/api/session-controller/README.i18n.yaml
#	packages/api/session-controller/README.md
#	packages/api/session-controller/README.zh.md
#	packages/api/session-controller/tests/commands-queue-attachment.host.spec.ts
#	packages/context/agent-instructions/tests/agent-instructions.e2e.ts
#	packages/fs/tool-fs/tests/harness.ts
#	packages/preset/agent-presets/tests/invariant.spec.ts
#	packages/preset/agent-presets/tests/mount.spec.ts
#	packages/preset/agent-presets/tests/remote.spec.ts
#	packages/test-support/agent-loop-testkit/package.json
2026-09-07 20:22:24 +08:00
Yichen Jiang e379fa8bdd release(dsh): 0.1.3-alpha.2 2026-09-07 19:27:06 +08:00