_Kerman
fbf87e660c
refactor: identify and freeze messages at creation
2026-07-28 13:55:59 +08:00
Tianyi Cui
f843d2b238
Merge origin/master into feat/tui-master-port
2026-07-27 23:34:56 +08:00
_Kerman
c6073f07c2
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/core-data-structures/core.i18n.yaml
2026-07-27 19:55:55 +08:00
Turtle
bdb3e4da0e
test(fs): cover read result decline paths
2026-07-27 18:53:30 +08:00
Tianyi Cui
38a05724f4
Merge remote-tracking branch 'origin/master' into worktree-process-service-seam
...
# Conflicts:
# apps/cli/package.json
2026-07-27 11:36:03 +08:00
_Kerman
2f74ac98ba
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
...
# Conflicts:
# .agents/notes/archived/feature/2026-07-21-tui-steering-queue-badge.i18n.yaml
# .agents/notes/archived/simplification/2026-06-20-drop-unconsumed-llm-assembled-surfaces.i18n.yaml
# .agents/notes/archived/simplification/2026-07-04-prune-producerless-vocabulary-variants.i18n.yaml
# .agents/notes/archived/simplification/2026-07-04-remove-agent-steering-mirror.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml
# .agents/notes/implemented/feature/2026-07-07-session-prefix.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-02-remove-stream-chunk-mirror.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# packages/core/session/README.i18n.yaml
# packages/host/apiproxy/src/api-proxy.ts
# packages/support/acp-snapshot/README.i18n.yaml
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/README.zh.md
2026-07-27 09:57:51 +08:00
Tianyi Cui
37140bf823
docs(notes): archive low-value decision records
2026-07-26 23:06:00 +08:00
Tianyi Cui
202582d600
Merge branch 'worktree-tasks-service-seam' into worktree-process-service-seam
...
# Conflicts:
# packages/bash/bash-local/README.md
# scripts/doc-budgets.manifest.json
# scripts/type-equiv.manifest.json
2026-07-26 20:55:58 +08:00
_Kerman
8117f61396
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
...
# Conflicts:
# packages/context/workspace-context/README.md
# packages/llm/llm-retry/README.md
# packages/session-persistence/session-checkpoint-policy/README.md
# scripts/type-equiv.manifest.json
2026-07-26 16:45:27 +08:00
_Kerman
57d90c343d
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
...
# Conflicts:
# .agents/notes/implemented/feature/2026-06-14-acp-agent-client-protocol.md
# .agents/notes/implemented/feature/2026-06-14-acp-agent-client-protocol.zh.md
# .agents/notes/implemented/feature/2026-06-30-hook-bridges.i18n.yaml
# .agents/notes/implemented/feature/2026-06-30-interception-seams.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.i18n.yaml
# .agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-02-remove-stream-chunk-mirror.i18n.yaml
# docs/architecture.i18n.yaml
# docs/cookbook/adding-a-tool.i18n.yaml
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/core-data-structures/tools.i18n.yaml
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# examples/acp-agent/tests/snapshots/permission-switching/session.jsonl
# examples/acp-agent/tests/snapshots/plan-mode-reject/session.jsonl
# examples/acp-agent/tests/snapshots/plan-mode/session.jsonl
# examples/acp-agent/tests/snapshots/session-sandbox-root/session.jsonl
# packages/context/session-reference/README.md
# packages/core/agent-loop/tests/agent.spec.ts
# packages/hooks/hooks-claude/tests/coverage-cases.ts
# packages/host/runtime/tests/host-runtime.spec.ts
# packages/llm/llm-retry/tests/retry.spec.ts
# packages/session-persistence/session-persistence/src/coordinator.ts
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/src/normalize.ts
# packages/ui/acp/acp-feature-support.md
# packages/ui/acp/src/codec.ts
# packages/ui/acp/src/index.ts
# packages/ui/acp/tests/bridge.spec.ts
# packages/ui/acp/tests/codec.spec.ts
# packages/ui/acp/tests/config-options.spec.ts
# packages/ui/acp/tests/dispose.spec.ts
# packages/ui/acp/tests/edges.spec.ts
# packages/ui/acp/tests/stream-update.spec.ts
# packages/ui/acp/tests/turns.spec.ts
2026-07-26 14:05:33 +08:00
Tianyi Cui
fc566119a7
refactor(subprocess): rename the process seam to subprocess and address review
...
Review feedback (tianyicui): 'process' is a poor service name. The family is
now packages/subprocess/ — @deepseek-ai/dsh-subprocess (ctx.subprocess,
abstract SubprocessService, Subprocess* vocabulary) and
@deepseek-ai/dsh-subprocess-local (LocalSubprocessService) — renamed
throughout code, compositions, docs (en+zh, pairs re-recorded), catalogs,
and gates. 'subprocess' is the precise term for managed OS children (the
Python-stdlib sense), avoids colliding with Node's global process object,
and reads as one system beside dsh-subagent-subprocess.
ds-review-bot findings addressed:
- kill() on a settled handle is now a no-op (no signal to a possibly-reused
pgid, no referenced grace timer delaying exit); pinned by a spy test.
- The moved DshEnvironmentKey/DshEnvironment/CollectedOutput types get
drift-checked type-equiv blocks on the new subprocess.md page, restoring
their manifest registration.
- subprocess.md is registered in the core.md sub-page index (en+zh).
2026-07-26 12:43:59 +08:00
Tianyi Cui
0d6bfd8856
refactor(process): split the process manager out of the bash executor
...
New process/ capability family: @deepseek-ai/dsh-process owns ctx.processes —
abstract ProcessManager.spawn(spec) over a fully-explicit ProcessSpawnSpec —
plus the shared DSH_* managed-environment and CollectedOutput vocabulary;
@deepseek-ai/dsh-process-local carries the former bash-local run.ts plumbing
(detached groups, tail-keep spill-backed output, credential scrub, kill
escalation, kill-and-join disposal) with no config of its own.
dsh-bash-local becomes a consumer: it keeps command defaulting, the fused
deadline timedOut/aborted classification, the model-friendly terminal env
(now merged through the ordinary env channel), and the [stderr]-marked
background read merge, and spawns through ctx.processes. Background-process
lifetime moves to the manager, so an executor reload no longer kills live
background work; a background spawn failure is injected once into the read
path instead of being buffered as fake stderr. dsh-bash re-exports the moved
vocabulary so bash consumers keep one import root; dsh-bash-sandbox only
redeclares the inherited inject.
Every composition loading a bash executor now loads dsh-process-local (CLI,
examples, python bundled runtime, create-sdk bash feature, inline test
configs).
2026-07-26 06:59:01 +08:00
Tianyi Cui
226dc7a249
docs: translate remaining READMEs
2026-07-26 05:06:39 +08:00
Turtle
2e84a1a194
Merge remote-tracking branch 'origin/master' into codex/trim-redundant-comments
...
# Conflicts:
# docs/config-catalog.md
# examples/acp-agent/tests/acp.e2e.ts
# packages/ui/acp/src/index.ts
# packages/ui/acp/tests/bridge.spec.ts
# packages/ui/acp/tests/config-options.spec.ts
# packages/ui/acp/tests/dispose.spec.ts
# packages/ui/acp/tests/properties.spec.ts
2026-07-25 13:36:21 +08:00
Turtle
fac6c35e9a
Trim redundant source comments
2026-07-25 13:02:37 +08:00
Tianyi Cui
2beaa18f42
Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol
...
# Conflicts:
# packages/support/acp-snapshot/README.md
2026-07-25 02:07:28 +08:00
Tianyi Cui
f9a638b8a6
Stabilize master CI across platforms
2026-07-25 00:10:37 +08:00
Tianyi Cui
440384fdb4
Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-14-session-persistence.md
# .agents/notes/implemented/architecture/2026-06-20-package-hierarchy.md
# .agents/notes/implemented/architecture/2026-07-02-tool-render-intent-union.md
# .agents/notes/implemented/feature/2026-06-14-acp-agent-client-protocol.md
# .agents/notes/implemented/feature/2026-06-14-acp-multi-session.md
# .agents/notes/implemented/feature/2026-06-18-acp-terminal-and-tool-rendering.md
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.md
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.zh.md
# .agents/notes/implemented/simplification/2026-07-04-trim-acp-bridge-unreachable-surface.md
# docs/architecture.i18n.yaml
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/cookbook/extension-cookbook.md
# docs/cookbook/extension-cookbook.zh.md
# docs/core-data-structures/approval.md
# docs/core-data-structures/user-interaction.md
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# docs/testing.md
# docs/tool-catalog.md
# examples/acp-agent/tests/fixtures/live-mode-switching-2026-07-07.session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/permission-switching/session.jsonl
# packages/goal/tool-goal/README.md
# packages/ui/acp/README.md
# packages/ui/acp/acp-feature-support.md
# packages/ui/acp/src/index.ts
# packages/ui/acp/tests/bridge.spec.ts
# packages/ui/acp/tests/dispose.spec.ts
# packages/ui/acp/tests/edges.spec.ts
# packages/ui/acp/tests/turns.spec.ts
2026-07-24 23:43:10 +08:00
_Kerman
992cf894af
refactor(agent): unify sourced message delivery
2026-07-24 22:38:50 +08:00
Turtle
b02b438667
refactor(agent): align delivery method names
2026-07-24 15:08:36 +08:00
Tianyi Cui
e819a586b0
refactor(acp): reduce bridge to automation protocol
2026-07-24 01:40:25 +08:00
Tianyi Cui
a838af896e
Merge refreshed schema DSL into canonical tool outputs
...
# Conflicts:
# packages/bash/tool-bash/tests/tools.spec.ts
2026-07-22 22:03:54 +08:00
Tianyi Cui
10a55d7a27
Merge remote-tracking branch 'origin/master' into codex/session-scoped-sandbox-roots
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.md
# .agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.zh.md
# examples/acp-agent/README.md
# packages/examples/agent-spine-demo/package.json
# packages/fs/fs-sandbox/src/index.ts
# packages/fs/tool-fs-search/tests/tools.spec.ts
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/src/suite.ts
# pnpm-lock.yaml
# scripts/type-equiv.manifest.json
2026-07-22 21:37:30 +08:00
Tianyi Cui
4cd5f21c08
Merge branch 'codex/tool-json-schema-dsl' into codex/canonical-tool-output
2026-07-22 17:05:38 +08:00
Tianyi Cui
63d48593cc
fix(tools): preserve complete bounded presentations
2026-07-22 00:55:59 +08:00
Tianyi Cui
53615c91e7
Merge master into worktree-windows-runtime
2026-07-21 23:39:14 +08:00
Tianyi Cui
7d3cb39047
Merge branch 'codex/tool-json-schema-dsl' into codex/canonical-tool-output
...
# Conflicts:
# .agents/notes/implemented/feature/2026-06-30-interception-seams.md
# docs/config-catalog.md
# docs/cookbook/adding-a-tool.i18n.yaml
# docs/cookbook/adding-a-tool.md
# docs/cookbook/adding-a-tool.zh.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/tools.md
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# packages/bash/tool-bash/src/index.ts
# packages/core/agent-loop/src/tool-calls.ts
# packages/core/agent-loop/tests/cancel.spec.ts
# packages/core/agent-loop/tests/contract-regressions.spec.ts
# packages/core/agent-loop/tests/tool-calls.spec.ts
# packages/core/tools/README.md
# packages/core/tools/src/index.ts
# packages/core/tools/tests/code-mode.spec.ts
# packages/core/tools/tests/tools.spec.ts
# packages/fs/tool-fs-search/tests/integration.spec.ts
# packages/fs/tool-fs-search/tests/tools.spec.ts
# packages/fs/tool-fs/tests/integration.spec.ts
# packages/mcp/mcp-client/src/tools.ts
# packages/timeout/timeout-policy/tests/timeout-policy.spec.ts
# packages/web/tool-web/tests/integration.spec.ts
# packages/web/tool-web/tests/tool-web.spec.ts
2026-07-21 23:39:03 +08:00
Tianyi Cui
d9eef06051
fix(fs): align symlinked parent traversal
2026-07-21 20:49:14 +08:00
Tianyi Cui
0004b8675f
Merge remote-tracking branch 'origin/master' into codex/enforce-tool-cancellation
...
# Conflicts:
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/bash-spill/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/core/agent/src/index.ts
# packages/support/invariants/tests/invariants.spec.ts
# packages/ui/acp/src/index.ts
# packages/ui/tui/tests/harness.ts
# packages/ui/tui/tests/tui.spec.ts
2026-07-21 20:03:00 +08:00
Tianyi Cui
c1d3036274
Merge remote-tracking branch 'origin/master' into codex/session-scoped-sandbox-roots
...
# Conflicts:
# examples/acp-agent/tests/acp.snapshot.ts
# packages/examples/agent-spine-demo/package.json
# pnpm-lock.yaml
2026-07-21 20:00:55 +08:00
Tianyi Cui
72a48fede6
Merge branch 'codex/tool-json-schema-dsl' into codex/canonical-tool-output
...
# Conflicts:
# docs/event-producer-consumer.md
# packages/context/time-context/tests/time-context.spec.ts
# packages/context/workspace-context/tests/workspace-context.spec.ts
2026-07-21 19:56:43 +08:00
Tianyi Cui
ae98294ec5
fix(sandbox): preserve filesystem cwd semantics
2026-07-21 19:53:02 +08:00
Tianyi Cui
1f4f147699
test(tools): close canonical output coverage gaps
2026-07-21 18:22:14 +08:00
Tianyi Cui
e1633fbc3f
fix(tools): preserve canonical output boundaries
2026-07-21 18:03:01 +08:00
Tianyi Cui
66c36e7325
feat: add canonical typed tool outputs
2026-07-21 03:22:14 +08:00
Tianyi Cui
ff21f91a39
fix(sandbox): resolve workspace roots per session
2026-07-21 00:44:28 +08:00
Tianyi Cui
4311aaabb0
Merge remote-tracking branch 'origin/master' into codex/enforce-tool-cancellation
...
# Conflicts:
# docs/cookbook/adding-a-tool.i18n.yaml
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# packages/bash/tool-bash/src/index.ts
# packages/core/agent-loop/README.md
# packages/core/tools/README.md
# packages/core/tools/tests/scoped.spec.ts
# packages/fs/tool-fs-search/tests/tools.spec.ts
# website/zh-CN/api/harness/events.md
# website/zh-CN/api/harness/tools.md
2026-07-20 23:00:21 +08:00
Tianyi Cui
7239513b98
test(fs-sandbox): keep Windows coverage portable
2026-07-20 21:20:55 +08:00
Tianyi Cui
37f2c15e68
fix(fs-sandbox): recognize Windows path aliases
2026-07-20 21:03:01 +08:00
Tianyi Cui
78eb93f7e6
Merge branch 'master' into worktree-windows-runtime
2026-07-20 20:39:13 +08:00
Tianyi Cui
f78b17a352
Merge branch 'codex/invariant-package-registration-gate' into codex/package-invariant-checks
2026-07-20 19:55:46 +08:00
Tianyi Cui
9c4cc05da6
Merge branch 'codex/invariant-service-seam' into codex/invariant-package-registration-gate
2026-07-20 19:48:51 +08:00
Tianyi Cui
1145ee5fc3
fix(invariants): assert runtime relationships, not API shapes
2026-07-20 19:34:19 +08:00
Tianyi Cui
3b7ce2e682
fix(invariants): require justified empty companions
2026-07-20 18:39:37 +08:00
kingwl
2530bf8aa3
fix(sandbox): address PR #309 review — TOCTOU direction, denial metadata, shared roots, docs
...
- fs-sandbox: delegate the mutation with the freshly re-canonicalized target
(not the stale one), so the checked identity is the mutated identity — a
symlink swapped in after resolve() can no longer escape workspace-write.
- tool-fs: map a denial to an FsError carrying FS_SANDBOX_DENIED (not a plain
Error), so ToolRegistry keeps the structured code on result.error for
retry/observers while the message stays the shared marker.
- sandbox-local: derive the Seatbelt writable set from the shared
writableRoots() helper, so the profile and the fs fence cannot drift.
- gen-doc-graphs: ctx.sandboxPolicy is owned by dsh-sandbox-policy and read only
by the sandboxed executor/provider (the tool layers use the pure fold).
- docs: bash-sandbox/bash/permission READMEs and bash.md reflect the relocated
policy home and the sandbox/mode rename; drop the stale stdout.golden.jsonl.
2026-07-20 13:59:18 +08:00
kingwl
1dd5757897
Merge remote-tracking branch 'origin/master' into cross-family-fs-sandbox
...
# Conflicts:
# packages/fs/README.md
2026-07-20 13:38:51 +08:00
Tianyi Cui
f9a152409e
Merge master into codex/grep-glob-require-rg
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-09-bash-backed-grep-glob-discovery.md
# packages/fs/tool-fs-search/README.md
2026-07-20 11:53:03 +08:00
kingwl
2e7cdddb89
Merge remote-tracking branch 'origin/master' into cross-family-fs-sandbox
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.md
# .agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.zh.md
# docs/capability-seams.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# docs/persistence-catalog.md
# docs/rfc/INDEX.md
# examples/acp-agent/README.md
# examples/acp-agent/fs.cordis.snapshot.yml
# examples/acp-agent/fs.cordis.yml
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# examples/acp-agent/tests/snapshots/permission-switching/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/workspace-context/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/workspace-edit/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/workspace-edit/tool-schemas.expected.json
# packages/bash/bash/src/index.ts
# packages/bash/tool-bash/package.json
# packages/bash/tool-bash/src/index.ts
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/fs/README.md
# packages/fs/tool-fs/src/edit.ts
# packages/fs/tool-fs/src/write.ts
# packages/sandbox/README.md
# pnpm-lock.yaml
2026-07-20 11:44:37 +08:00
Tianyi Cui
684fcf3357
Merge branch 'codex/invariant-package-registration-gate' into codex/package-invariant-checks
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.md
# .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.zh.md
# .agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml
# docs/rfc/INDEX.md
# packages/AGENTS.md
2026-07-20 00:54:28 +08:00
Tianyi Cui
941b0411d8
feat(invariants): implement package runtime checks
2026-07-20 00:38:37 +08:00