Commit Graph
5590 Commits
Author SHA1 Message Date
_Kerman 97148182ed chore(ci): regenerate cordis catalog after flush JSDoc change 2026-08-03 20:49:01 +08:00
_Kerman ab56e0df0a fix(agent-loop): park empty turn batches, keep max-tokens sticky, and settle headless at idle
- turn boundary now returns false for an empty admitted batch (claimed
  input removed before the wake) instead of opening a turn and spending a
  model call on nothing; the step boundary already had the symmetric guard.
- a max-token step stays sticky when steering or injected work continues
  the turn: a later completed step no longer downgrades the outcome,
  matching the TurnEndReasonMap contract.
- session/queue wire schema accepts the context placement (previously the
  zod union rejected injected-context snapshots wholesale and the client
  silently dropped the whole frame); schema tests cover all placements.
- headless runs settle at whole-agent idle instead of the first turn/end,
  honoring the one-shot idle-to-idle contract.
- flush JSDoc names the real callers (checkpoint policy, goal-session,
  teardown, self-flushing consumers); apiproxy zh README loses its stale
  duplicate history section; ACP note/README record the delivered error
  rejection and turnless-cancelled behaviors.
2026-08-03 20:36:26 +08:00
_Kerman 81ac6db785 test(session): cover enclosed todo and request events in the invariant
Appending todo/write, request/header, and request/context inside an open
turn now exercises the switch cases and the enclosed-branch of the
invariant, closing the last branch gap.
2026-08-03 20:03:10 +08:00
_Kerman 2e2bcd0e42 test(session): cover the turn/end step invariant and content shape guard
- invariant.spec: a turn/end whose step does not match the last opened
  step fails with 'expected last step'.
- session.spec: a seed message whose content is not an array fails with
  'message has invalid content'.
2026-08-03 19:54:32 +08:00
_Kerman 8ee811e8d9 Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/README.md
#	packages/host/apiproxy/README.zh.md
#	packages/ui/tui/README.i18n.yaml
2026-08-03 18:39:58 +08:00
imccyu 49ede3ebf3 Merge pull request #1333 from deepseek-harness/codex/fix-subagent-catalog-padding
fix(web): align subagent catalog spacing with Figma
2026-08-03 18:34:24 +08:00
kingwl 6585847144 fix(web): preserve subagent catalog styling 2026-08-03 18:24:25 +08:00
imccyu 7f7c86c512 Merge pull request #1174 from deepseek-harness/xtr/trajectory-marker-tooltip-fixes
Fix trajectory request markers and disclosure affordances
2026-08-03 18:17:06 +08:00
kingwl 70ad82ef00 Merge remote-tracking branch 'origin/master' into codex/fix-subagent-catalog-padding 2026-08-03 18:08:15 +08:00
_Kerman ce60304648 chore(ci): regenerate stale catalogs and re-record translation pairs
- gen-cordis-catalog / gen-persistence-catalog / gen-doc-graphs after the
  error-reason and steering/message changes (line anchors and event
  producer/consumer graph drifted).
- verify-translation-pairing --write --all: every bilingual pair touched
  by the PR (agent notes, session/core docs, READMEs) plus the merge.
- queue-actions preserved golden re-recorded against the rebuilt client
  (branch disabled on non-completed-turn tails is back in effect).
2026-08-03 18:06:14 +08:00
imccyu ae5ee37591 Merge remote-tracking branch 'origin/master' into mergebot/pr927-r3
# Conflicts:
#	packages/ui/tui/README.i18n.yaml
#	packages/ui/tui/src/components/dialogs.ts
2026-08-03 17:57:50 +08:00
imccyu 4f68543a29 Merge pull request #965 from deepseek-harness/fix/session-waiting-approval
fix(ui-workspace): distinguish approval-waiting sessions
2026-08-03 17:51:09 +08:00
ZiyaZhang 5884a44e6b docs(ui): clarify approval wait ownership 2026-08-03 02:43:27 -07:00
kingwl 5baa86b97f fix(web): align subagent catalog spacing 2026-08-03 17:22:51 +08:00
_Kerman 6ae82e390e Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
# Conflicts:
#	packages/ui/tui/README.i18n.yaml
2026-08-03 17:22:27 +08:00
imccyu 6b79907ffd Merge remote-tracking branch 'origin/master' into worktree/fix-multi-select-custom-answer 2026-08-03 17:19:53 +08:00
Turtle 3b58ed65b7 feat(tui): wrap and page question dialogs 2026-08-03 17:19:40 +08:00
Ziya 5d9a4d80e4 Merge branch 'master' into fix/session-waiting-approval 2026-08-03 05:16:42 -04:00
_Kerman 734c3d1f65 Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
# Conflicts:
#	apps/cli/tests/snapshots/queued-manual-compact/terminal.expected.txt
#	apps/web/tests/snapshots/queue-actions/preserved.expected.md
#	packages/client/runtime/README.i18n.yaml
#	packages/client/runtime/src/client/sessions/session.ts
#	packages/client/ui-conversation/README.md
#	packages/client/ui-conversation/README.zh.md
#	packages/ui/tui/README.i18n.yaml
#	packages/ui/tui/tests/snapshots/untrusted-controls.expected.txt
2026-08-03 17:15:34 +08:00
imccyu a8670bdec3 Merge remote-tracking branch 'origin/master' into mergebot/pr965 2026-08-03 17:04:00 +08:00
imccyu 070f371370 Merge branch 'master' into worktree/fix-multi-select-custom-answer 2026-08-03 16:55:48 +08:00
imccyu d1dbff66e0 Merge remote-tracking branch 'origin/master' into fix/session-waiting-approval 2026-08-03 16:51:18 +08:00
Turtle 2c78041878 Merge remote-tracking branch 'origin/master' into codex/pr-1037-resolution
# Conflicts:
#	docs/config-catalog.md
#	packages/ui/tui/README.i18n.yaml
2026-08-03 16:49:58 +08:00
Turtle 4edb828364 Merge remote-tracking branch 'origin/master' into codex/pr-1037-resolution
# Conflicts:
#	packages/ui/tui/README.i18n.yaml
2026-08-03 16:49:18 +08:00
_Kerman f0622f3280 refactor(agent-loop): inline the turn error shaping 2026-08-03 16:43:45 +08:00
Yichen Jiang 3009bc5312 Merge pull request #1003 from deepseek-harness/worktree/web-remote-markdown-images
feat(web): render remote Markdown images
2026-08-03 16:41:00 +08:00
_Kerman a597763393 fix(session): type turn/end error as one structured failure
TurnEndReasonMap.error now carries a single `error: LlmFailure` field:
an LlmError keeps its structured facts, any other error flattens to
errorChain text under the UNKNOWN code. Consumers read message/code
directly instead of defending against an unknown union — this also fixes
errorChain() rendering structured failures as '[object Object]' in the
TUI and ACP error paths. Document the turn-stopping contract: a
concludesTurn result never short-circuits already-submitted next-step
work (same-step additionalContexts or racing steering still runs), data
decides.
2026-08-03 16:33:23 +08:00
imccyu 4fd3ef5797 Merge branch 'master' into worktree/fix-multi-select-custom-answer 2026-08-03 16:30:35 +08:00
Yichen Jiang 85b9914934 Merge remote-tracking branch 'origin/master' into worktree/fix-multi-select-custom-answer
# Conflicts:
#	packages/ui/tui/README.i18n.yaml
2026-08-03 16:26:55 +08:00
_Kerman b5f9fcdea4 fix(ui-trajectory): clarify assistant request timing 2026-08-03 16:24:26 +08:00
imccyu fec8339a18 Merge branch 'master' into worktree/web-remote-markdown-images 2026-08-03 16:23:50 +08:00
imccyu a8a97d0202 Merge branch 'master' into codex/fork-real-turn-tail 2026-08-03 16:23:46 +08:00
_Kerman 9c261516ce fix(ui-trajectory): preserve thinking label 2026-08-03 16:22:03 +08:00
kingwl c5050f018e fix(web): keep ineligible message forks disabled 2026-08-03 16:19:49 +08:00
_Kerman c2b0cc7b51 fix(ui-trajectory): clarify collapsed thinking controls 2026-08-03 16:19:41 +08:00
_Kerman 8b975edf44 fix(acp): settle prompts at whole-agent idle, not the first turn/end
A prompt now resolves only when the agent reaches quiescence: the
correlated turn/end arms an endReason instead of settling immediately,
so steering or injected work that runs further turns before idle no
longer splits one prompt across the automation wire. Token-limit turn
endings settle as end_turn per the README contract (they are not
prompt-level stop reasons); model errors still reject immediately, and
explicit ACP cancellation stays 'cancelled'.
2026-08-03 16:16:37 +08:00
_Kerman 3c160e137d fix(apiproxy): stop projecting injected context as user steering
next-step items now split by origin: user-origin messages keep the
'steering' placement, while agent.inject context (approval notices, task
completion notices, attached snapshots) carries a new 'context' placement
that no surface renders until it is claimed as a durable user/message
context card. Widen the placement unions on the wire and in the client
runtime, add a projection test case, and document the split in the
apiproxy/ui-conversation READMEs and the web-steer chrome agent note.
2026-08-03 16:15:07 +08:00
_Kerman 8171936082 docs(agent): align event JSDoc with shipped behavior
- agent/error: drop the stale "(plus the logger)" claim; the machine only
  emits the event.
- agent/inbox/claimed: document that a rejected turn boundary ends the
  claimed message without discard or re-emission, and that a later batch
  may reuse the turn number.
- steer(): document that a rejected step leaves steering parked until the
  next wake.
- Fix stray double-space in the inbox inserted/discarded callbacks.
- Sync core.md/core.zh.md mirrors and regenerate the cordis catalog.
2026-08-03 16:09:58 +08:00
Yichen Jiang 61cba0cda2 Merge remote-tracking branch 'origin/master' into worktree/web-remote-markdown-images
# Conflicts:
#	packages/client/ui-primitives/README.i18n.yaml
#	packages/client/ui-primitives/README.md
#	packages/client/ui-primitives/README.zh.md
#	packages/client/ui-primitives/src/markdown/MarkdownText.tsx
#	packages/client/ui-primitives/tests/markdown.spec.tsx
2026-08-03 16:09:51 +08:00
Yichen Jiang 109d5b5e1c Merge remote-tracking branch 'origin/master' into worktree/fix-multi-select-custom-answer
# Conflicts:
#	apps/web/tests/snapshots/question-composer/answered.expected.md
#	apps/web/tests/snapshots/question-composer/session.jsonl
#	docs/core-data-structures/user-interaction.i18n.yaml
#	packages/client/ui-question/README.i18n.yaml
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/README.md
#	packages/host/apiproxy/README.zh.md
#	packages/ui/tui/README.i18n.yaml
#	packages/ui/user-interaction/README.i18n.yaml
2026-08-03 16:09:17 +08:00
_Kerman cb2f01f48c refactor(agent-loop): drop the steering/message session event
Steer, inject, and followup now land as durable user/message events on the
session surface; the steering/message event type and its ConversationNode
kind are removed from the client projection. Update tests, docs, generated
catalogs, and agent notes to match, and align the steering e2e fixture and
prompt inventory assertions with the durable user/message landing.
2026-08-03 16:04:26 +08:00
kingwl c43eaaec82 Merge remote-tracking branch 'origin/master' into codex/pr-1150-disabled
# Conflicts:
#	packages/client/runtime/README.i18n.yaml
#	packages/client/ui-conversation/README.i18n.yaml
2026-08-03 16:02:33 +08:00
Turtle 4fa1d48bf9 Merge remote-tracking branch 'origin/master' into pr/tui-details-fold 2026-08-03 15:56:02 +08:00
Turtle bea60a430e Merge remote-tracking branch 'origin/master' into pr/tui-details-fold
# Conflicts:
#	docs/cordis-catalog/services.md
#	packages/ui/tui/README.i18n.yaml
#	packages/ui/tui/README.md
#	packages/ui/tui/README.zh.md
#	packages/ui/tui/src/index.ts
2026-08-03 15:55:22 +08:00
Wenlu Wang 6a3caea277 Merge pull request #1160 from deepseek-harness/codex/subagent-token-metrics
Show subagent token metrics
2026-08-03 15:35:17 +08:00
_Kerman 7bb9b85543 Merge branch 'master' into xtr/trajectory-marker-tooltip-fixes 2026-08-03 15:32:49 +08:00
_Kerman 0e05bb81a3 fix(ui-trajectory): offset recovered request boundaries 2026-08-03 15:31:36 +08:00
imccyu 2d31ec5fee Merge pull request #1173 from deepseek-harness/agent/web-bash-error-expand
fix(web): expand aborted Bash rows
2026-08-03 15:30:52 +08:00
kingwl d5583210d4 tighten branchless subagent catalog layout 2026-08-03 15:19:53 +08:00
_Kerman ad6858b6d3 fix(ui-trajectory): limit role tooltips to compact icons 2026-08-03 15:02:05 +08:00