Commit Graph
6591 Commits
Author SHA1 Message Date
Tianyi Cui 5d0a248a98 Merge remote-tracking branch 'origin/codex/ralph-tool' into codex/goal-rfc-rollup 2026-07-20 13:53:43 +08:00
Tianyi Cui b360d04833 Merge remote-tracking branch 'origin/codex/goal-commands' into codex/ralph-tool 2026-07-20 13:49:34 +08:00
Tianyi Cui 3787349d42 Merge remote-tracking branch 'origin/codex/commands' into codex/goal-commands 2026-07-20 13:39:12 +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 7018d1c192 Merge remote-tracking branch 'origin/codex/goal-session' into codex/commands 2026-07-20 13:34:35 +08:00
kingwl c0146b9c4a refactor(mode): modes are collaboration states — drop the access cap; enforcement axes stay independent
Review follow-up (tianyicui): plan mode and the sandbox are orthogonal
AXES, not just orthogonal state — entering plan must not change what the
sandbox enforces, matching Codex's separation of Plan/Default
collaboration presets from sandbox and approval settings.

ModeDefinition.access, the bash/resolve-mode clamp, and both cap-derived
guards are removed; a ModeDefinition is exactly { section }, and a mode
now carries only its guidance section plus the exit_plan_mode review.
The bash seam's resolveMode + waterfall go with their only listener:
dsh-bash and dsh-tool-bash revert to master byte-for-byte, and the
dsh-mode → dsh-bash dependency edge is gone. A deployment that wants
kernel-enforced read-only planning pairs the mode picker with the
independent sandbox-mode option, in either order.

The RFC archives this as the second removed enforcement shape (after
the interim allowlist) with the same restart trigger — effects
self-declaration; the orthogonality FAQ now answers with the two-axis
rule. The plan example demonstrates the axes side by side, and the
re-recorded fixtures pin the guidance-only section.
2026-07-20 13:34:30 +08:00
Tianyi Cui a3afd0f677 Merge remote-tracking branch 'origin/codex/goal-tools' into codex/goal-session 2026-07-20 13:30:01 +08:00
Tianyi Cui df1643d5e5 fix(goal): remove unreachable terminal branch 2026-07-20 13:25:16 +08:00
pku-xht 7d7d69e225 review fix: cover post-cancel replacement 2026-07-20 13:20:51 +08:00
pku-xht da70e47048 review fix: preserve idle waiter quiescence 2026-07-20 13:15:11 +08:00
Tianyi Cui b8af6c4b43 docs(goal): align rollup with implemented stack 2026-07-20 13:13:11 +08:00
Tianyi Cui bbc6808a3c Merge remote-tracking branch 'origin/codex/ralph-tool' into codex/goal-rfc-rollup 2026-07-20 13:09:36 +08:00
Tianyi Cui b2f08eac4f test(workflow): register real-engine route 2026-07-20 13:01:07 +08:00
Tianyi Cui 60eea35df5 fix(ralph): harden execution boundaries 2026-07-20 12:56:09 +08:00
pku-xht d9a9c223e4 Merge remote-tracking branch 'origin/master' into codex/send-one-turn 2026-07-20 12:52:17 +08:00
pku-xht d59149a221 review fix: restore idle after between-turn cancellation 2026-07-20 12:51:44 +08:00
Turtle aeb48cc5f3 Render error cause chains at every diagnostic seam
A TUI run against an unreachable endpoint failed with only 'fetch failed':
undici wraps transport failures in a bare TypeError whose diagnosis lives
on .cause, and every diagnostic seam rendered only error.message. The
readline front door additionally rendered failed turns as pure silence.

- dsh-llm: new errorChain(value) renders the full cause chain and
  AggregateError members with circular/hostile-coercion containment.
- llm-deepseek: pre-response transport failures throw LlmError('NETWORK')
  naming the endpoint and chaining the fetch TypeError; aborts keep their
  DOMException so the loop still classifies them as cancellation.
- agent-loop: durable turn/end error messages and logger warnings render
  through errorChain; local renderThrown copies removed.
- ui-stdio: failure turn/end reasons now render ([turn failed <code>],
  [turn aborted], [turn rejected], output-token-limit); startup-failure
  logs use errorChain.
- ui-tui: agent/error notices and the startup-failure line use errorChain.
2026-07-20 12:35:10 +08:00
Tianyi Cui b877ede82d Merge pull request #317 from deepseek-harness/chore/import-landlock-run
chore: adopt node-addon-landlock-run source as native/ subtree
2026-07-20 12:35:01 +08:00
Tianyi Cui a3f792ea9f docs(landlock-run): align source and release guidance 2026-07-20 12:25:43 +08:00
Tianyi Cui 801289adf2 fix(landlock-run): enforce probe CLI contract 2026-07-20 12:25:36 +08:00
Tianyi Cui c6f8247ac1 Merge codex/goal-commands into codex/ralph-tool
# Conflicts:
#	docs/glossary.md
2026-07-20 12:23:57 +08:00
Tianyi Cui 733a90e708 Merge master into chore/import-landlock-run 2026-07-20 12:18:12 +08:00
Tianyi Cui 77c04a340f Merge pull request #271 from deepseek-harness/codex/grep-glob-require-rg
feat(fs-search): hide grep/glob without rg
2026-07-20 12:17:06 +08:00
Tianyi Cui 491dafc785 fix(goal): close human command surface gaps 2026-07-20 12:11:06 +08:00
Tianyi Cui 51e1cc782d Merge master into codex/grep-glob-require-rg 2026-07-20 12:09:05 +08:00
Tianyi Cui d81760f8a0 Merge pull request #327 from deepseek-harness/codex/acp-agent-auto-compaction
feat(acp): enable automatic compaction
2026-07-20 12:08:10 +08:00
Tianyi Cui 79d41dfaa9 Merge codex/commands into codex/goal-commands 2026-07-20 12:07:10 +08:00
Turtle 4ce2202721 Bound the delegation section with a header so "skip this section" is well-defined 2026-07-20 11:56:08 +08:00
Tianyi Cui 4dd6266c53 docs(commands): refresh command event catalog 2026-07-20 11:54:34 +08:00
pku-xht a6e96c47f3 review fix: pin ordinary-send batching removal 2026-07-20 11:53:49 +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
pku-xht 0891465ee0 Merge origin/master into codex/send-one-turn 2026-07-20 11:52:30 +08:00
Tianyi Cui 247526d4ca fix(acp): adapt compaction wiring to token meter 2026-07-20 11:47:17 +08:00
Turtle 33fadcf08d Drop the draft-PR requirement; delegation is just: use a subagent 2026-07-20 11:46:16 +08:00
Tianyi Cui 80cdcce085 Merge origin/master into codex/acp-agent-auto-compaction 2026-07-20 11:45:13 +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
Yichen Jiang 58a8612118 Merge branch 'master' into worktree/acp-default-fs-suite 2026-07-20 11:43:11 +08:00
Tianyi Cui 884c168edc Merge codex/commands into codex/goal-commands
# Conflicts:
#	.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
#	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-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-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/goal/tool-goal/README.md
2026-07-20 11:41:53 +08:00
Tianyi Cui ee1af10c52 docs(acp): note per-model compaction config 2026-07-20 11:38:55 +08:00
Turtle 4d037613b1 Drop worktree/branch mechanics from the delegation instruction; just use a subagent 2026-07-20 11:31:27 +08:00
Tianyi Cui 2dd3b1dfba fix(commands): harden registry and UI ordering 2026-07-20 11:27:10 +08:00
NI0317 e9b76e40e1 Revert "docs(ui): add desktop workbench screenshots for PR review"
This reverts commit 723f0b96b2afbb7bc11a7687a736eca4521798fa.
2026-07-20 11:23:47 +08:00
kingwl 48f19044de Merge remote-tracking branch 'origin/master' into chore/import-landlock-run
Conflict: doc-budgets manifest — master raised the AGENTS.md ceiling to 1600
(superseding this branch's 1377 bump for the native/ line), take master's
values.
2026-07-20 11:11:09 +08:00
NI0317 a321567473 docs(ui): add desktop workbench screenshots for PR review 2026-07-20 11:05:28 +08:00
NI0317 37a03df733 fix(ui): pin dock rows, verb labels on live tools, dedupe reject
Auto placement floated the new docks to the top of the main pane; every
dock now owns an explicit grid row (and the layout regression guards
them). Live tool rows use the streamed kind verb like persisted rows,
and the approval card's fallback reject is omitted when the request
already carries a reject option.
2026-07-20 10:58:21 +08:00
Turtle f2206a3f28 Address review: fix exception path, recursion stop, terminology, anchor, description 2026-07-20 10:55:03 +08:00
Turtle 3a20b4c551 dsh-translate-docs: delegate translation writing to a subagent worktree with a draft PR 2026-07-20 10:48:58 +08:00
NI0317 d3ac437616 feat(ui): queue prompts, in-conversation approval cards, docked plan
Prompts submitted while a turn runs queue above the composer (edit,
remove, auto-send on completion; interruption or a failure pauses the
queue with an explicit resume). Permission requests and elicitations
route from the ACP client in main to renderer cards with the request
options — pending cards replay when the renderer reloads, replacing
the blocking OS dialogs. The task plan docks above the composer instead
of scrolling inside the thread, multi-line user bubbles trim their
padding lines, and a turn that ends abnormally shows an inline error
line in the transcript.
2026-07-20 10:46:00 +08:00
NI0317 91554b05f1 test(ui): cover seqless todo/write snapshots in the trace graph 2026-07-20 10:27:59 +08:00
NI0317 cdb5524632 feat(ui): render todo plans and streamed tool kinds in both views
todo/write events fold into plan targets: the chat transcript and
trajectory show a checklist card (done counts, active item), and live
ACP plan updates render the same card while the turn streams — the
task list was previously invisible on both paths. Tool rows label
themselves with the streamed ACP kind verb (read/edit/search/run…)
instead of a generic noun, and touched-file locations open in the OS
editor from the expanded row.
2026-07-20 10:25:11 +08:00