8171 Commits

Author SHA1 Message Date
_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
Yif
6ec5a6136b feat(web): show turn run time with hover-revealed time chrome
Derive turn wall time from adjacent logged timestamps (no new session
events): the actions-owning assistant footer gains a localized
"Ran for {duration}" label, and the running TurnStatus label gains a
live elapsed clock anchored to the same logged trigger so a mid-turn
reload keeps the real elapsed time. Message time chrome is now
hover-revealed on hover-capable devices, keeping icons visible and
layout stable.
2026-08-03 19:58:58 +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
Yichen Jiang
edf2cece37 Merge remote-tracking branch 'origin/master' into worktree/custom-deepseek-models
# Conflicts:
#	packages/host/apiproxy/README.i18n.yaml
2026-08-03 19:02:29 +08:00
Chinesezjc
e6d6e192d5 fix(ui-primitives): keep two-digit source markers out of the scroll clip
Making `.sources` a scroll container turned its `padding-left` from spacing
into a correctness constraint. A scroll container clips inline-start overflow
with no way to scroll it back, and `::marker` is right-aligned to the content
edge, so past nine sources the markers rendered as `0.` and `1.` where `10.`
and `11.` belonged.

`searchMaxResults` is an unbounded positive integer, so size the padding in
`em` against the list's own font to hold a three-digit marker. The browser e2e
measures a `999. ` marker in that inherited font and requires the computed
padding to be at least that wide, pinning the room against the widest marker
rather than one fixture's source count.
2026-08-03 18:58:44 +08:00
imccyu
3770d947cf docs(web): correct welcome acknowledgement contract 2026-08-03 18:43:18 +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
33b52502f4 Merge branch 'master' into agent/fix-remote-welcome-onboarding 2026-08-03 18:37:37 +08:00
imccyu
fc5ee9f786 refactor(client): expose loopback state through connection 2026-08-03 18:35:26 +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
e47ad8e393 Merge remote-tracking branch 'origin/master' into agent/fix-remote-welcome-onboarding 2026-08-03 18:19:24 +08:00
Chinesezjc
2b02202ba1 Merge remote-tracking branch 'origin/master' into fix/web-sources-scroll
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-08-03 18:18: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
Hypatia May
295a799785 fix(sandbox): close classifier evidence gaps (round 2) 2026-08-03 17:48:41 +08:00
ZiyaZhang
5884a44e6b docs(ui): clarify approval wait ownership 2026-08-03 02:43:27 -07:00
Turtle
a097e5b9b3 Merge remote-tracking branch 'origin/master' into perf/tui-resume-scan
# Conflicts:
#	packages/ui/tui/README.i18n.yaml
2026-08-03 17:37:49 +08:00
Hypatia May
6343d8f6e6 fix(sandbox): evidence-gate runner failures (round 1) 2026-08-03 17:31:08 +08:00
Turtle
d764cc800a Merge remote-tracking branch 'origin/master' into perf/tui-resume-scan
# Conflicts:
#	packages/ui/tui/README.i18n.yaml
2026-08-03 17:29:18 +08: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
Turtle
f128e126d7 Merge remote-tracking branch 'origin/master' into perf/tui-resume-scan
# Conflicts:
#	packages/ui/tui/README.i18n.yaml
#	packages/ui/tui/src/components/dialogs.ts
2026-08-03 17:06:28 +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
Ziya
aaa2102246 Merge branch 'master' into agent/fix-remote-welcome-onboarding 2026-08-03 04:49:00 -04:00
Chinesezjc
1d3a807e49 Merge remote-tracking branch 'origin/master' into fix/web-sources-scroll 2026-08-03 16:48:14 +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
Turtle
7077d6befc refactor(tui): resume rows fold titles only, timestamp from artifact mtime
Rows no longer read logs for anything but the batch title fold: the
activity timestamp is a live session's last in-memory event time or the
artifact mtime via the optional sessionPersistence.locate(), falling
back to creation time; the last-turn, route, and goal columns are gone.
Route availability moves to the Enter-time preflight, which already
fully reads and replay-validates the one chosen log. The projectSessions
public API this PR had added to session-query is reverted — the change
is now confined to the TUI package.
2026-08-03 16:40:47 +08:00
Chinesezjc
19f2c45bb0 Merge remote-tracking branch 'origin/master' into fix/web-sources-scroll 2026-08-03 16:38:12 +08:00
Chinesezjc
140fdef85e docs(client-web): sync the web card contracts to the scrolling source list
The READMEs of ui-primitives and ui-conversation still documented the
removed maxSources prop, DEFAULT_WEB_MAX_SOURCES, CHAT_WEB_MAX_SOURCES,
and the head/tail collapse; the 2026-07-30 frontend note described the
same as current behavior. Restate all of them as the fixed-height scroll
container and cross-link the two notes both ways.

Bound the model-visible/card-visible correspondence: spill-policy's
tools/post-execute replaces an oversized result's content while leaving
presentationMeta whole, so the card's contract is the view it receives,
not the model's context.

Narrow the unit test's name and header comment to what jsdom establishes
(one <ol>, no expand control); jsdom does not resolve CSS Modules layout,
so the scroll geometry belongs to an assembled browser case.
2026-08-03 16:35:37 +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
Yichen Jiang
e0b70508a1 Merge remote-tracking branch 'origin/master' into worktree/custom-deepseek-models
# Conflicts:
#	apps/web/tests/snapshots/message-actions/ui.expected.md
#	apps/web/tests/snapshots/seeded-history/command-row.expected.md
#	apps/web/tests/snapshots/seeded-history/ui.expected.md
#	packages/client/ui-model/README.i18n.yaml
#	packages/client/ui-model/README.md
#	packages/client/ui-model/README.zh.md
#	packages/client/ui-model/tests/model-select.spec.tsx
#	packages/host/apiproxy/README.i18n.yaml
2026-08-03 16:20:55 +08:00