Tianyi Cui
6646ef04ac
Merge pull request #335 from deepseek-harness/worktree-windows-runtime
...
feat(windows): extend runtime and test portability
2026-07-22 10:30:32 +08:00
Tianyi Cui
c92c24667d
Merge pull request #431 from deepseek-harness/fix/tui-color-scheme-v2
...
fix(tui): detect terminal color scheme; harden the flaky sandbox probe-timeout test
2026-07-22 10:29:35 +08:00
Yichen Jiang
28b358650b
Merge remote-tracking branch 'origin/master' into worktree/semantic-session-checkpoints
...
# Conflicts:
# docs/architecture.md
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/cancel-tool-calls/session.jsonl
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/loop.ts
# packages/core/agent-loop/tests/cancel.spec.ts
2026-07-22 10:29:09 +08:00
Yichen Jiang
951967217a
Merge remote-tracking branch 'origin/master' into worktree/session-reference
...
# Conflicts:
# docs/capability-seams.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/ui/acp/README.md
# packages/ui/acp/package.json
# packages/ui/acp/tsconfig.json
# packages/ui/tui/package.json
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/tui.spec.ts
# packages/ui/tui/tsconfig.json
# pnpm-lock.yaml
# python/sdk-runtime/package.json
# scripts/gen-doc-graphs.ts
# scripts/type-equiv.manifest.json
2026-07-22 10:21:17 +08:00
kingwl
ac21ae0794
fix(mode): dedupe the boundary flush wrapper and cover its disposed branch
...
CI caught two gaps in the review-fix commit: the two post-next() flush
listeners were literal clones (jscpd), and the disposed-skip branch inside
them had no covering test. Extract one shared flushAfter wrapper and pin the
skip with a captured-continuation disposal test (a downstream listener
disposes the fiber mid-waterfall; the resumed wrapper appends nothing).
2026-07-22 10:12:09 +08:00
kingwl
7a2dff8b11
fix(mode): address PR #239 review — boundary flush ordering, disposal fence, config validation, TUI plan config
...
Four ds-review-bot findings:
- examples/tui-agent composed dsh-mode without the now-required
modes.plan.section, so the TUI leaf failed at Loader startup (the keyless
smoke only asserts the banner and missed it); graft the same deployment
plan instructions the ACP leaf carries.
- The prompt-submit and turn-continuation flushes ran before next(), so a
session/set_mode arriving while a downstream async listener (the shipped
hooks listeners' shape) awaited applied one request late; both listeners
now prepend and flush after next(), matching the request-error wrapper,
with a regression test pinning the ordering.
- An HMR unload during the exit_plan_mode review let a later approval write
into the disposed service and claim an exit whose flush could never land;
the execute path now checks the fiber lifetime after the await and fails
the call (the mode stays plan; the model re-presents).
- resolveConfig accepted empty/untrimmed mode names that list()/ACP then
advertised while the package invariant rejected their selection,
desynchronizing the picker; names are validated non-empty and trimmed at
load, the same shape the invariant enforces.
2026-07-22 09:58:57 +08:00
kingwl
5d04213445
Merge remote-tracking branch 'origin/master' into feat/plan-mode
...
# Conflicts:
# docs/architecture.md
# docs/config-catalog.md
# docs/module-graph.md
# examples/acp-agent/tests/goal-snapshots/goal-session/stdout.expected.jsonl
# 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/cordis-inspect-jsdoc/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/error-finish/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/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/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-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-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-stop-continue/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/lsp-definition/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/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
2026-07-22 02:28:47 +08:00
Tianyi Cui
ccdc6b0ad3
docs(code-mode): clarify post-policy rendering
2026-07-22 02:28:12 +08:00
Tianyi Cui
d68126c3fe
Merge branch 'codex/code-mode-typed-results' into codex/code-mode-complete-result-card
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-20-code-mode-typed-tool-returns.i18n.yaml
2026-07-22 02:19:35 +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
f2d86b232e
fix(code-runtime): accept deeply nested JSON
2026-07-22 02:13:37 +08:00
Tianyi Cui
3f93d4ddbd
Merge branch 'codex/canonical-tool-output' into codex/code-mode-typed-results
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
2026-07-22 02:07:23 +08:00
Tianyi Cui
6c887e8bcf
docs(tools): refresh generated catalogs
2026-07-22 02:05:02 +08:00
Tianyi Cui
fb5292cee5
fix(tools): classify body snapshot failures
2026-07-22 02:02:46 +08:00
Tianyi Cui
a6e4bc7bcb
Merge branch 'codex/tool-json-schema-dsl' into codex/canonical-tool-output
2026-07-22 02:00:57 +08:00
Tianyi Cui
0d851adc3e
fix(session): traverse JSON values iteratively
2026-07-22 01:58:38 +08:00
Tianyi Cui
6d57986f33
Merge branch 'codex/code-mode-typed-results' into codex/code-mode-complete-result-card
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-20-code-mode-typed-tool-returns.i18n.yaml
2026-07-22 01:48:17 +08:00
Tianyi Cui
bb6709b14a
fix(code-runtime): bound completion measurement
2026-07-22 01:42:41 +08:00
Tianyi Cui
00e55db2d7
Merge branch 'codex/code-mode-typed-results' into codex/code-mode-complete-result-card
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.i18n.yaml
# .agents/notes/implemented/feature/2026-07-20-code-mode-typed-tool-returns.i18n.yaml
2026-07-22 01:32:01 +08:00
Tianyi Cui
0708bd5ef2
docs(code-runtime): refresh config catalog
2026-07-22 01:29:14 +08:00
Tianyi Cui
865d7de858
fix(code-runtime): drain late worker pipe output
2026-07-22 01:27:03 +08:00
Tianyi Cui
e1c5832d21
Merge branch 'codex/canonical-tool-output' into codex/code-mode-typed-results
2026-07-22 01:13:56 +08:00
Tianyi Cui
6250c103b6
docs(tools): sync bounded output contracts
2026-07-22 01:11:47 +08:00
Tianyi Cui
932971e546
Merge branch 'codex/tool-json-schema-dsl' into codex/canonical-tool-output
...
# Conflicts:
# packages/core/tools/README.md
2026-07-22 01:02:21 +08:00
Tianyi Cui
1f7e1765a5
docs(tools): distinguish closed object validation
2026-07-22 00:57:29 +08:00
Tianyi Cui
63d48593cc
fix(tools): preserve complete bounded presentations
2026-07-22 00:55:59 +08:00
Tianyi Cui
ab1c24301a
ci: rebalance hosted concurrency budget
2026-07-22 00:44:48 +08:00
Tianyi Cui
5bb594c400
ci: avoid hosted runner setup saturation
2026-07-22 00:39:58 +08:00
Tianyi Cui
5c783f3677
Merge branch 'codex/code-mode-typed-results' into codex/code-mode-complete-result-card
...
# Conflicts:
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/stream-json.expected.jsonl
# examples/tui-agent/tests/snapshots/code-mode/terminal.expected.txt
2026-07-22 00:36:06 +08:00
Tianyi Cui
109224af5d
ci: quarter cold-cache lint lanes
2026-07-22 00:31:25 +08:00
Tianyi Cui
ec8e3065ce
Merge branch 'codex/canonical-tool-output' into codex/code-mode-typed-results
...
# Conflicts:
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
2026-07-22 00:29:00 +08:00
Tianyi Cui
0dfd9545a6
Merge branch 'codex/tool-json-schema-dsl' into codex/canonical-tool-output
...
# Conflicts:
# docs/architecture.md
# docs/config-catalog.md
# docs/persistence-catalog.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write/session.jsonl
# packages/ui/tui/src/index.ts
# scripts/type-equiv.manifest.json
2026-07-22 00:23:00 +08:00
Tianyi Cui
070d23d663
ci: keep cold-cache lanes bounded
2026-07-22 00:22:06 +08:00
Tianyi Cui
624d71aea6
ci: harden runner preparation caches
2026-07-22 00:11:48 +08:00
Tianyi Cui
4072673c03
Merge remote-tracking branch 'origin/master' into codex/tool-json-schema-dsl
...
# Conflicts:
# packages/cordis/tool-cordis/src/api-catalog.ts
2026-07-22 00:05:23 +08:00
Tianyi Cui
0517d74875
test(persistence): use stored-prefix lookup
2026-07-22 00:03:23 +08:00
Tianyi Cui
7e4fe493ae
Merge master into codex/jsonl-storage-identity
2026-07-21 23:59:25 +08:00
Tianyi Cui
710f062586
ci: add snapshot lane headroom
2026-07-21 23:56:53 +08:00
Tianyi Cui
b636e0e007
Merge branch 'codex/code-mode-typed-results' into codex/code-mode-complete-result-card
2026-07-21 23:54:55 +08:00
Tianyi Cui
9753efcd48
Merge branch 'codex/canonical-tool-output' into codex/code-mode-typed-results
...
# Conflicts:
# 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/event-producer-consumer.md
# packages/core/tools/tests/code-mode.spec.ts
2026-07-21 23:51:20 +08:00
Tianyi Cui
f8008b571d
fix(tui): preserve footer truncation after merge
2026-07-21 23:47:14 +08:00
Tianyi Cui
53a9459609
ci: make coverage filters path-exact
2026-07-21 23:45:35 +08:00
Tianyi Cui
3ed74d5476
docs: refresh merged contract references
2026-07-21 23:44:08 +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
e887c0f7c0
ci: assign session title coverage
2026-07-21 23:36:35 +08:00
Tianyi Cui
1050711e6d
Merge origin/master into worktree/ci-under-minute
...
# Conflicts:
# packages/support/acp-snapshot/README.md
2026-07-21 23:34:29 +08:00
Tianyi Cui
f90b64ac26
Merge pull request #479 from deepseek-harness/worktree/scoped-layers-implementation
2026-07-21 23:34:15 +08:00
Tianyi Cui
562a7f9da2
Merge pull request #451 from deepseek-harness/codex/session-title
...
feat: add log-backed asynchronous session titles
2026-07-21 23:30:31 +08:00
Tianyi Cui
efba4c259b
ci: split model and integration coverage
2026-07-21 23:25:52 +08:00