Tianyi Cui
f4185122dc
refactor(plan): remove generic mode abstraction
2026-07-22 16:57:23 +08:00
Tianyi Cui
92da23270d
Merge branch 'master' into feat/plan-mode
2026-07-22 16:16:05 +08:00
Tianyi Cui
769710cfb9
fix(lsp): make transport recovery ownership-safe
2026-07-22 15:56:29 +08:00
Tianyi Cui
1d28743b12
feat(mode): submit optional slash-command message
2026-07-22 15:51:02 +08:00
Tianyi Cui
2a8e7c661d
test(windows): use native PATH delimiter
2026-07-22 14:42:11 +08:00
Tianyi Cui
7b6b544243
test(windows): cover teardown decisions deterministically
2026-07-22 14:34:26 +08:00
Tianyi Cui
a8a18f309a
feat(mode): register one slash command per mode
...
Replace /mode [name] with same-named no-argument commands such as /plan. Update the TUI and ACP snapshots, and validate mode names against command syntax.
2026-07-22 14:32:35 +08:00
Tianyi Cui
5da343126c
fix(windows): restore LSP and TUI coverage
2026-07-22 14:23:44 +08:00
kingwl
b0008546be
Merge remote-tracking branch 'origin/master' into feat/plan-mode
2026-07-22 13:57:03 +08:00
Tianyi Cui
6f16715299
test(windows): skip process-group disposal race
2026-07-22 13:37:44 +08:00
Tianyi Cui
cfdc6fcdfb
test(windows): skip remaining unstable coverage cases
2026-07-22 13:28:52 +08:00
kingwl
0f96a41096
Merge remote-tracking branch 'origin/master' into feat/plan-mode
...
Master PR #263 (scoped-layers-store): one conflict in the regenerated
docs/architecture.i18n.yaml pairing record — took master's and re-recorded
the pair over both sides' merged architecture.md/zh.md (the ctx.modes rows
merged cleanly on both).
2026-07-22 13:28:06 +08:00
Tianyi Cui
1ac85eefee
Merge remote-tracking branch 'origin/master' into worktree/disable-deepseek-web-search-e2e
2026-07-22 13:11:00 +08:00
Tianyi Cui
4643e0de10
test(windows): make coverage fixtures portable
2026-07-22 13:10:48 +08:00
Tianyi Cui
48395a937c
test(web): disable unreliable DeepSeek search smoke
2026-07-22 12:37:42 +08:00
Tianyi Cui
8d6a677a07
Merge remote-tracking branch 'origin/master' into scoped-layers-store
...
# Conflicts:
# docs/architecture.md
2026-07-22 12:34:27 +08:00
Tianyi Cui
0180cdecd0
fix(scope): detach drained entry generations
2026-07-22 12:06:42 +08:00
Tianyi Cui
c1f259bd0d
Merge branch 'master' into feat/plan-mode
2026-07-22 11:29:58 +08:00
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
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
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
f8008b571d
fix(tui): preserve footer truncation after merge
2026-07-21 23:47:14 +08:00
Tianyi Cui
53615c91e7
Merge master into worktree-windows-runtime
2026-07-21 23:39:14 +08:00
Tianyi Cui
d710259263
Merge master into fix/tui-color-scheme-v2
2026-07-21 23:21:44 +08:00
Tianyi Cui
3176d232b8
Merge master into codex/session-title
2026-07-21 22:59:41 +08:00
Tianyi Cui
04d7b435d2
docs(scope): record shared scoped-layer decision
2026-07-21 22:24:45 +08:00
Tianyi Cui
e56bcb4d5c
refactor(commands): use shared scoped layers
2026-07-21 22:16:06 +08:00
Tianyi Cui
1d209932d6
refactor(scope): migrate tool and prompt layers
2026-07-21 22:14:49 +08:00
Tianyi Cui
57cd9ce2bf
Merge master into feat/xdg-single-root-home
2026-07-21 22:14:45 +08:00
Tianyi Cui
8351cdbe65
feat(scope): add scoped-layer storage
2026-07-21 22:09:19 +08:00
Tianyi Cui
af1e40e7c6
Merge master into feat/xdg-single-root-home
2026-07-21 21:20:43 +08:00
Tianyi Cui
3a895ce815
Merge master into codex/session-title
2026-07-21 21:11:32 +08:00
Tianyi Cui
5d2f6da843
Merge remote-tracking branch 'origin/codex/enforce-tool-cancellation' into codex/enforce-tool-cancellation
...
# Conflicts:
# packages/core/scope/tests/invariant.spec.ts
# packages/ui/tui/tests/harness.ts
2026-07-21 20:27:58 +08:00
Tianyi Cui
70e50cd9be
Merge commit 'refs/codex/unblock/master-current' into HEAD
...
# 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:20:53 +08:00
Tianyi Cui
73ccb67469
Merge remote-tracking branch 'origin/master' into codex/enforce-tool-cancellation
2026-07-21 20:03:47 +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
21721bf3b1
Merge branch 'master' into fix/compaction-kv-cache-reuse
...
# Conflicts:
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/src/summarizer.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
2026-07-21 19:45:43 +08:00
Tianyi Cui
72c6696e4f
Merge branch 'master' into worktree/routed-model-compaction-policy
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-21 19:23:54 +08:00
Tianyi Cui
39c9bf3ef2
fix(llm-replay): publish recorded model capacity
2026-07-21 18:57:25 +08:00
Tianyi Cui
1cee25fdea
fix(tui): resolve context capacity for active model
2026-07-21 18:45:27 +08:00
Tianyi Cui
39eb6e21cd
Merge current master into invariant service seam
2026-07-21 18:35:24 +08:00
Tianyi Cui
78f8a3f5d9
Merge branch 'master' into worktree/routed-model-compaction-policy
2026-07-21 18:30:57 +08:00
Tianyi Cui
071fe76755
Merge latest master into invariant service seam
2026-07-21 18:27:46 +08:00
Tianyi Cui
8a93072537
Merge origin/master into worktree/tui-session-controls
2026-07-21 18:12:11 +08:00
Tianyi Cui
c9a8c58467
Merge origin/master into lsp
2026-07-21 17:58:46 +08:00
Tianyi Cui
5606a05e91
Merge origin/master into worktree/tui-session-controls
2026-07-21 17:46:47 +08:00
Tianyi Cui
504fbf59f3
fix(invariants): replay histories and pack companions
2026-07-21 17:46:43 +08:00