Tianyi Cui
d167af3fb7
Merge branch 'master' into worktree-tasks-service-seam
2026-07-26 22:57:38 +08:00
Tianyi Cui
5bf4d573f7
fix: address review — staged scheduler, start-time reclassification, catalogs
...
ds-review-bot findings on the parallel bridge: sub-dispatches now run
through the registry's staged scheduler view (the loop's own seam) —
ordered prepare (pre-execute/guards) at submission-ordered start time,
only the dispatch/body stage overlapping, and a head-of-line commit
cursor running post-execute, context deferral, and the settle event in
submission order (new spec pins post order + context order under
out-of-order completion). Queued dispatches reclassify via
executionMode() immediately before starting, so a registry mutation
while queued flips them exclusive (native lazy-reclassification
semantics). Config and tool catalogs regenerated; the tool-catalog
metadata now names the start/settle pair and the scheduling contract.
2026-07-26 10:33:48 +08:00
Tianyi Cui
698b391bd6
refactor(tasks): split the task registry into seam and local implementation
...
The tasks/ family now matches the capability-seam shape: @deepseek-ai/dsh-tasks
keeps the abstract TaskService (ctx.tasks contract, vocabulary types, snapshot
invariant companion) and the new @deepseek-ai/dsh-tasks-local carries the
process-local registry (LocalTaskService: in-memory store, settlement,
owner-cleanup effects, teardown, TASK_WAIT_TIMEOUT). Compositions and test
harnesses now load dsh-tasks-local; producers, TaskKindMap merges, and
dsh-tool-tasks keep importing the seam only.
Producer misconfiguration diagnostics name dsh-tasks-local because loading the
implementation is the fix. The registry behavior suite moves to tasks-local;
the seam keeps a stub-subclass registration test and the probe-based invariant
suite.
2026-07-26 05:13:39 +08:00
Hypatia May
b78daaad8c
fix(session-query): keep model tools opt-in
2026-07-25 18:14:36 +08:00
Hypatia May
ddac36e46e
Merge remote-tracking branch 'origin/master' into session-query-tool
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/capability-seams.md
# examples/acp-agent/composition.md
# examples/acp-agent/cordis.yml
# examples/acp-agent/tests/snapshots/model-switching/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/model-switching/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/permission-switching/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/permission-switching/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/plan-mode/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/plan-mode/tool-schemas.expected.json
# packages/examples/acp-demo/README.md
# packages/host/runtime/README.md
# packages/support/acp-snapshot/src/normalize.ts
# packages/support/acp-snapshot/tests/normalize.spec.ts
# packages/ui/acp/tests/harness.ts
# scripts/type-equiv.manifest.json
# tsconfig.host.json
2026-07-25 14:17:24 +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
Hypatia May
cbc6d81fc3
Merge remote-tracking branch 'origin/master' into session-query-tool
...
# Conflicts:
# docs/architecture.i18n.yaml
2026-07-24 20:59:18 +08:00
Hypatia May
a350e95165
feat(session-query): add model-facing tools (round 1)
2026-07-24 15:09:55 +08:00
Tianyi Cui
e819a586b0
refactor(acp): reduce bridge to automation protocol
2026-07-24 01:40:25 +08:00
Turtle
44fd93fd06
feat(agent): unify send(target × wakeup), coalesce context/message into user/message
...
Replace send/steer/inject with one Agent.send primitive over the
(target × wakeup) matrix; followup/steer/inject become fixed-preset
alias methods on the now-abstract Agent class. Coalesce context/message
into user/message (injected context is a non-user source). Replace
agent/queued with agent/inbox/enqueue/dequeue/discard, add cancel
keepInbox, and add a FIFO-conservation invariant.
2026-07-23 19:15:45 +08:00
Tianyi Cui
d99094b1ac
Merge updated rfc/pty into feature/persistent-pty-sessions
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/core-data-structures/core.md
# pnpm-lock.yaml
# scripts/gen-cordis-catalog.ts
2026-07-22 22:43:20 +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
c848c7b15e
Merge refreshed rfc/pty into feature/persistent-pty-sessions
...
# Conflicts:
# docs/architecture.md
# docs/capability-seams.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/module-graph.md
# docs/tool-catalog.md
# examples/acp-agent/tests/acp.snapshot.ts
# examples/headless-agent/tests/headless.snapshot.ts
# examples/package.json
# packages/README.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/tools/tests/gen-tool-catalog.spec.ts
# pnpm-lock.yaml
# pnpm-workspace.yaml
# scripts/gen-tool-catalog.ts
# scripts/type-equiv.manifest.json
# website/.vitepress/config/api-sidebar.json
2026-07-22 21:12:16 +08:00
Tianyi Cui
f4185122dc
refactor(plan): remove generic mode abstraction
2026-07-22 16:57:23 +08:00
kingwl
f7c289ab1d
Merge remote-tracking branch 'origin/master' into feat/plan-mode
...
Master arrivals re-grafted onto the plan-mode surfaces:
- Package invariant runtime contracts: every package owns ./invariant —
added the dsh-mode companion (mode/set payload validation: non-empty
trimmed name), its unit spec, exports/peer wiring, and the mode group in
the tsconfig invariant paths glob.
- Interception waterfalls gained an AbortSignal parameter
(agent/prompt-submit, agent/turn-continuation) and ToolExecutionInput.signal
became required: listeners and test dispatch updated; the exit tool now
forwards exec.signal unconditionally.
- TUI question dialog: master's position/unanswered header layout kept,
the plan-review detail block re-grafted between question and answers.
- LSP capability family arrived: lsp tool joins the catalog pin, dsh-lsp
examples deps beside dsh-mode; lsp-definition snapshot refreshed with
the mode command and modes advertisement.
- docs/architecture.md and packages/README.md regenerated tables re-grafted
(ctx.modes row, mode package row) and condensed within word ceilings.
- examples/acp-agent cordis.yml: kept the deployment-owned plan instructions
(incl. the conversational-agreement sentence) beside master's routed-model
compaction comment; snapshot expected outputs refreshed keyless and noise
fixtures restored.
2026-07-22 02:13:39 +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
NI0317
a7bfade7eb
refactor(pty): rename model-facing tools to terminal_* and harden teardown
...
Rename the six model-facing tools pty_* -> terminal_* and align every
description, guidance section, ACP card title, and rendered result to
terminal terminology. Package and service internals keep their technical
PTY names (PtyService, "unknown PTY session", node-pty).
Harden the local backend teardown:
- a failed close is retryable: drop the memoized rejection so a later
terminal_close re-runs against the live process table
- service disposal clears the backend, reservation, and owner-cleanup
registries even when a close fails
- stop readiness polling before teardown so an in-flight send settles as
session_exit instead of a mis-inferred wait reason
- bound the sanitizer's pending buffer against unterminated escape runs
Update the tool catalog, package READMEs, the bilingual Agent Note, and the
acp/headless pty-tools snapshots to match.
2026-07-21 19:29:56 +08:00
NI0317
58cde5103a
feat: add persistent PTY sessions
2026-07-21 16:01:00 +08:00
Dudu-0223
2a55f6b684
Merge origin/master into lsp
2026-07-21 09:57:36 +08:00
Tianyi Cui
4466d582c4
Merge remote-tracking branch 'origin/feat/plan-mode' into codex/pr239-plan-mode-review-fixes
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-07-plan-mode.md
# .agents/notes/implemented/simplification/2026-07-04-fold-stdio-ui-helper.md
# docs/capability-seams.md
# docs/config-catalog.md
# docs/event-producer-consumer.md
# examples/acp-agent/tests/plan-mode.e2e.ts
# examples/acp-agent/tests/snapshots/plan-mode/tool-schemas.expected.json
# examples/plan-acp-agent/README.md
# examples/plan-acp-agent/cordis.yml
# examples/plan-acp-agent/tests/acp.snapshot.ts
# scripts/gen-doc-graphs.ts
2026-07-21 01:21:33 +08:00
Tianyi Cui
3947312432
Merge remote-tracking branch 'origin/master' into codex/pr239-parent-retarget-publish
...
# Conflicts:
# packages/core/tools/tests/gen-tool-catalog.spec.ts
2026-07-21 00:58:16 +08:00
Tianyi Cui
c17ef5e8e1
Merge remote-tracking branch 'origin/master' into codex/session-scoped-sandbox-roots
2026-07-21 00:56:24 +08:00
Tianyi Cui
962c43aa9e
Merge remote-tracking branch 'origin/master' into codex/pr239-parent-retarget-publish
...
# Conflicts:
# docs/capability-seams.md
# docs/config-catalog.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/advanced-toolchain/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/bash-spill/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/cancel-tool-calls/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/cancel/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/config-options/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/error-finish/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-policy-reject/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-read-window/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-read/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-terminal-card/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-write-overwrite/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-write/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/handshake/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-block/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-deny/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-block/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-stop-continue/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-block/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-pretool-block/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-block/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-stop-continue/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/model-switching/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/multi-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/parallel-tool-calls/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/permission-switching/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/repeat-tool-guard/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/skill-load/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/text-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/todo-plan/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/tool-call-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/workspace-edit/stdout.expected.jsonl
# packages/core/tools/tests/gen-tool-catalog.spec.ts
# packages/ui/acp/acp-feature-support.md
# packages/ui/acp/src/index.ts
# scripts/gen-doc-graphs.ts
2026-07-21 00:50:00 +08:00
Tianyi Cui
ec98bb4318
Merge remote-tracking branch 'origin/master' into codex/session-scoped-sandbox-roots
2026-07-21 00:44:38 +08:00
Tianyi Cui
ff21f91a39
fix(sandbox): resolve workspace roots per session
2026-07-21 00:44:28 +08:00
Tianyi Cui
897dc82d9b
fix(mode): stabilize plan-mode model experience
2026-07-20 23:37:01 +08:00
Tianyi Cui
0246806fec
Merge origin/master into feat/plan-mode
2026-07-20 23:28:07 +08:00
Tianyi Cui
1b04e8eb2b
Merge branch 'codex/goal-commands' into codex/ralph-tool
...
# Conflicts:
# examples/repl-agent/README.md
# examples/repl-agent/composition.md
# examples/repl-agent/cordis.yml
2026-07-20 22:25:16 +08:00
Tianyi Cui
9d0a75b154
Merge branch 'codex/goal-domain' into codex/goal-tools
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-20 21:44:06 +08:00
Tianyi Cui
30d2ec4a95
Merge branch 'codex/goal-commands' into codex/ralph-tool
...
# Conflicts:
# examples/acp-agent/tests/snapshots/advanced-toolchain/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/advanced-toolchain/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/both-mode-turn/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/both-mode-turn/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/code-mode-turn/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/model-switching/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/permission-switching/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/skill-load/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/text-turn/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
# scripts/gen-tool-catalog.ts
2026-07-20 21:05:05 +08:00
Tianyi Cui
3e3f9a911d
Merge branch 'codex/goal-domain' into codex/goal-tools
...
# Conflicts:
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/core/agent/README.md
# website/zh-CN/api/harness/events.md
2026-07-20 20:21:01 +08:00
Tianyi Cui
2191d45ece
Merge origin/master into codex/remove-stdio-agent
...
# Conflicts:
# examples/repl-agent/cordis.yml
2026-07-20 19:58:40 +08:00
Tianyi Cui
4cadf096ce
Remove the stdio agent
2026-07-20 19:26:04 +08:00
Yichen Jiang
f2a813b791
Merge remote-tracking branch 'origin/master' into fix/subagent-depth-budget
2026-07-20 15:15:31 +08:00
Tianyi Cui
2f13acd2b9
Merge remote-tracking branch 'origin/codex/goal-commands' into codex/ralph-tool
2026-07-20 14:32:20 +08:00
Tianyi Cui
ad3708645a
Merge remote-tracking branch 'origin/codex/goal-domain' into codex/goal-tools
...
# Conflicts:
# docs/tool-catalog.md
2026-07-20 14:14:26 +08:00
Dudu-0223
ca1cc61dfb
Merge origin/master into lsp
2026-07-20 13:54:38 +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
Tianyi Cui
e2b8e2b1eb
Merge codex/goal-commands into codex/ralph-tool
2026-07-20 01:52:57 +08:00
Tianyi Cui
dddebe6755
Merge codex/goal-domain into codex/goal-tools
2026-07-20 01:12:37 +08:00
Tianyi Cui
b808026859
feat(workflow): add fresh-agent Ralph tool
2026-07-20 00:51:19 +08:00
Tianyi Cui
e8eddc7ef8
Rename RFCs to Agent Notes
2026-07-19 22:52:03 +08:00
Tianyi Cui
0129063ae7
feat(goal): add model-facing goal tools
2026-07-19 19:22:10 +08:00
Yichen Jiang
cb74477d42
feat(tool-subagent): default maxDepth 1 with at-cap schema hiding
...
An omitted maxDepth meant unbounded recursion, and the shipped examples
shipped that default. maxDepth now defaults to 1; a numeric cap requires
the provider's depthLimit capability (the mount fails loud and points to
the explicit 'provider-managed' opt-out for out-of-process providers),
and a child AT the cap loses the delegating tool from its own schema via
the child toolFilter — prompt-face hiding on top of the execution-face
depth check. Examples pin maxDepth explicitly. The ACP snapshot harness
gains Scenario.childToolOmissions so a child session may legitimately
omit declared delegation tools from its pinned header and prompt;
affected subagent/workflow goldens are re-recorded.
2026-07-19 17:20:49 +08:00
Tianyi Cui
2faeabb05a
refactor(examples): rename coding-agent leaf to repl-agent
...
Name the runnable leaf for the line-oriented front door it owns, matching the existing tui-agent and acp-agent organization. Move the complete config, Code Mode overlay, tests, metadata, and generated composition graph together, then update every loader path and repository reference.
Keep the shared model identity independent of its terminal front door by phrasing the persona as a coding-agent role rather than retaining the retired leaf name. Regenerate graph and tool catalogs and re-record each affected bilingual pair so derived documentation cannot point at the removed path.
2026-07-19 13:13:14 +08:00
Tianyi Cui
4dda5b953b
refactor(subagent): retire standalone mock package
2026-07-19 11:54:37 +08:00
Tianyi Cui
ce393ccb93
Merge master into codex/simp-session-log-representation
2026-07-17 21:51:36 +08:00
Tianyi Cui
b3b353b017
Merge master into codex/grep-glob-require-rg
2026-07-17 21:25:37 +08:00
Tianyi Cui
4ee880a189
Merge remote-tracking branch 'origin/master' into feat/plan-mode
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/README.md
# packages/bash/tool-bash/src/index.ts
# packages/core/tools/tests/gen-tool-catalog.spec.ts
# pnpm-lock.yaml
# scripts/doc-budgets.manifest.json
2026-07-17 21:22:16 +08:00
Dudu-0223
a3f62478e1
Merge origin/master into codex/truncated-design
2026-07-17 18:21:54 +08:00