Yichen Jiang
7f4905c4bf
Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector
...
# Conflicts:
# packages/client/runtime/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
2026-07-27 17:18:29 +08:00
imccyu
a020400286
Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector
2026-07-27 17:01:42 +08:00
imccyu
0052ea49ff
Merge branch 'master' into feature/delete-workspace
2026-07-27 16:59:28 +08:00
imccyu
f3ce520317
Merge branch 'master' into worktree/web-session-model-selector
2026-07-27 16:58:35 +08:00
imccyu
cbcb911781
Merge branch 'master' into feat/todo-tool-ui
2026-07-27 16:55:35 +08:00
imccyu
50ec3b1db0
Merge branch 'master' into feat/todo-tool-ui
2026-07-27 16:54:34 +08:00
imccyu
5b81025b58
Merge branch 'master' into feature/delete-workspace
2026-07-27 16:52:24 +08:00
Tianyi Cui
6e3f498f49
Merge remote-tracking branch 'origin/master' into worktree/pr683-retarget-20260727
2026-07-27 16:44:45 +08:00
Tianyi Cui
aa95a3007f
Merge remote-tracking branch 'origin/master' into worktree/pr683-retarget-20260727
2026-07-27 16:40:42 +08:00
Tianyi Cui
9801a0d102
fix(tool-web): bound HTML conversion work
2026-07-27 16:40:02 +08:00
Tianyi Cui
0cc1ad4d90
Merge branch 'master' into exp/wine-windows-ci
2026-07-27 16:39:49 +08:00
Tianyi Cui
321fda950f
Merge branch 'master' into nih-imp-gates
2026-07-27 16:30:44 +08:00
Tianyi Cui
5e13376cbc
Merge remote-tracking branch 'origin/master' into exp/wine-windows-ci
2026-07-27 16:27:25 +08:00
07akioni
900e45b365
feat: optimize todo tool ui
2026-07-27 16:24:30 +08:00
imccyu
62a37ba38a
Merge branch 'master' into worktree/web-session-model-selector
2026-07-27 16:19:40 +08:00
imccyu
9249c5504e
Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector
2026-07-27 16:16:17 +08:00
Yichen Jiang
0d084ab6ff
feat(web): support reasoning effort selection
2026-07-27 16:12:40 +08:00
Tianyi Cui
ab25c34ea0
Merge remote-tracking branch 'origin/master' into worktree/fix-ci-timing-flakes-20260727
2026-07-27 16:09:50 +08:00
NI0317
c171ecc60b
Merge remote-tracking branch 'origin/master' into feature/delete-workspace
2026-07-27 16:07:11 +08:00
Tianyi Cui
ae18216199
Merge remote-tracking branch 'origin/master' into worktree/pr683-retarget-20260727
2026-07-27 16:03:33 +08:00
Tianyi Cui
9b8e6e6548
Merge remote-tracking branch 'origin/master' into worktree/fix-ci-timing-flakes-20260727
2026-07-27 15:58:37 +08:00
imccyu
52985d688d
Merge branch 'master' into markdown-ui
2026-07-27 15:58:13 +08:00
Tianyi Cui
98877ca326
ci: drop recovered-runner fallback from retarget
2026-07-27 15:55:21 +08:00
NI0317
dcf06e8272
Merge remote-tracking branch 'origin/master' into feature/delete-workspace
...
# Conflicts:
# packages/client/runtime/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
2026-07-27 15:54:51 +08:00
Tianyi Cui
77a85f9b1a
Merge remote-tracking branch 'origin/master' into worktree/fix-ci-timing-flakes-20260727
2026-07-27 15:53:08 +08:00
NI0317
4701373fc2
fix(workspace): remove transient duplicate warning
2026-07-27 15:52:35 +08:00
Yichen Jiang
39c60d5d64
Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.md
# .agents/notes/implemented/architecture/2026-07-20-routed-model-context-and-compaction-policy.zh.md
# packages/llm/llm-deepseek/README.i18n.yaml
# packages/llm/llm-deepseek/tests/adapter.spec.ts
2026-07-27 15:49:09 +08:00
Tianyi Cui
bfdaf7600b
Merge remote-tracking branch 'origin/master' into worktree/pr674-retarget-20260727
...
# Conflicts:
# docs/cookbook/adding-an-llm-adapter.i18n.yaml
# docs/core-data-structures/llm-streaming.i18n.yaml
# packages/llm/llm-deepseek/README.i18n.yaml
# packages/llm/llm/README.i18n.yaml
2026-07-27 15:48:17 +08:00
imccyu
b8d7938498
Merge branch 'master' into markdown-ui
2026-07-27 15:44:30 +08:00
Yichen Jiang
181ac52f8e
Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector
...
# Conflicts:
# packages/client/connection/src/client/fixture.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/tests/fake-api.ts
# packages/client/runtime/tests/session.spec.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
2026-07-27 15:41:01 +08:00
Tianyi Cui
9c53cd7d07
test: stabilize timing-sensitive terminal checks
2026-07-27 15:33:36 +08:00
Tianyi Cui
f6de42a886
Merge remote-tracking branch 'origin/master' into worktree/pr674-retarget-20260727
2026-07-27 15:30:30 +08:00
Yichen Jiang
c3dfed668d
Merge branch 'master' into worktree/llm-reasoning-effort
2026-07-27 15:30:00 +08:00
imccyu
b241d4332c
Merge branch 'master' into markdown-ui
2026-07-27 15:23:13 +08:00
NI0317
7bd96af5eb
fix(workspace): make deletion recoverable
2026-07-27 14:37:04 +08:00
Tianyi Cui
ef8d82c65f
Merge standard-runner fallback into status aggregator stack
2026-07-27 14:37:04 +08:00
Tianyi Cui
761eeb7c55
ci: restore standard runners for primary checks
2026-07-27 14:15:46 +08:00
Tianyi Cui
7ca13198de
ci: keep required status aggregator portable
2026-07-27 14:05:32 +08:00
Yichen Jiang
21aeff3029
Merge remote-tracking branch 'origin/master' into worktree/llm-reasoning-effort
...
# Conflicts:
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
# docs/config-catalog.md
# docs/core-data-structures/session.i18n.yaml
# scripts/type-equiv.manifest.json
2026-07-27 13:35:10 +08:00
Tianyi Cui
cff614d37d
ci: run the pull-request Windows blocking gates under Wine on hosted Linux
...
The required windows job moves from windows-2025 to ubuntu-latest, running
checksum-verified Windows Node under Wine at Linux-job wall clock (2m46s
warm vs 7-9min); master's serial-windows native-kernel reference is
untouched, and a new master-only wine-apt-cache job seeds the apt cache
every pull request restores. The experiment workflow folds into ci.yml,
the Agent Note moves to implemented with measured results, and the two CI
topology notes update to the shipped facts.
2026-07-27 13:17:12 +08:00
Tianyi Cui
73d2a787a7
Merge branch 'master' into nih-imp-sse
2026-07-27 13:13:57 +08:00
07akioni
0d2a8a3090
Merge branch 'master' into markdown-ui
2026-07-27 12:59:37 +08:00
07akioni
55fc87a7a0
fix: cr
2026-07-27 12:58:20 +08:00
Tianyi Cui
109b469a7e
fix(tool-web): bound conversion depth and complete fetch output
...
Two review findings on the turndown swap, both verified empirically:
- Unclosed-tag nesting makes the synchronous turndown/domino walk
superlinear (measured: depth 512 ~0.15s, 2k ~2s, 20k ~5s), during
which the cooperative fetchTimeoutMs timer cannot fire. renderBody
now preflights nesting depth with a linear tag scan and passes
bodies past 512 levels through raw; the try/catch stays for markup
the scan cannot see (comment-hidden tags), simulated in tests via a
converter throw.
- Markdown escaping can expand converted HTML ~2x (100k underscores
render as 200k chars), so provider body caps no longer bounded the
model-visible result. formatFetchOutput now caps the complete output
(header + body + footer) under new fetchMaxOutputChars config
(default 200000 = 2x the local provider's default body cap), reusing
the truncation notice.
README EN+ZH, config catalog, Agent Note EN+ZH updated; the new
web-fetch fixture is migrated to the packed layout master now
requires; tool-web coverage stays 100% per-file.
2026-07-27 12:41:36 +08:00
Tianyi Cui
b052cd1161
docs(exp-wine): record measured warm-cache result and the queued 8-core leg
2026-07-27 12:39:29 +08:00
NI0317
187cf6f804
feat(web): delete workspace registrations
2026-07-27 12:38:11 +08:00
Yichen Jiang
bde5e26a96
Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector
...
# Conflicts:
# apps/cli/package.json
# apps/web/tests/smoke-real.e2e.ts
# apps/web/tests/snapshots/fresh-round-trip/ui.expected.md
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# docs/config-catalog.md
# packages/client/connection/tests/fake-api.ts
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/runtime/tests/fake-api.ts
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/src/client/index.ts
# packages/client/ui-conversation/src/client/skeleton/ConversationRoot.tsx
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-conversation/tests/chat-stats-bash-sample.spec.tsx
# packages/client/ui-conversation/tests/chat-toolview-slot.spec.tsx
# packages/client/ui-conversation/tests/chat-view.spec.tsx
# packages/client/ui-conversation/tests/gate-branch-tails.spec.tsx
# packages/client/ui-conversation/tests/input-bar.spec.tsx
# packages/client/ui-conversation/tests/skeleton.spec.tsx
# packages/host/apiproxy/README.md
# packages/host/apiproxy/src/api-proxy.ts
# pnpm-lock.yaml
# scripts/verify-package-readme-model-experience.ts
# tsconfig.base.json
2026-07-27 12:17:38 +08:00
Tianyi Cui
3649df1407
ci(exp-wine): speed rework — pnpm store + wine apt caches, concurrent provisioning and gates, checksum-pinned Node, 8-core dispatch leg; fold PR #689 lessons into the note
2026-07-27 12:11:27 +08:00
Chinesezjc
d2bb2a809b
fix(web-todo): dock-owned selection, keyboard-openable row, documented tail todos field
...
Three ds-review-bot round-8 findings on the todo display surfaces.
TodoPanel took the whole `useSession` hook and cast the snapshot to reach
`todos`, which put slot plumbing and an unchecked cast inside the presentation
component. The panel now takes `todos: readonly TodoItem[]`; TodoDock does the
selecting, matching the QueueDock posture the dock slot already establishes.
The todo row carried `onClick` with no keyboard route, so its details panel was
mouse-only. It now takes ToolRow's route verbatim: `role="button"`,
`tabIndex={0}`, and an Enter/Space handler that claims the event. The row stays
a `<div>` because a `<button>` flattens its inline spans.
`session.history`'s tail-only `todos` field was documented at the TS signature
but not in the apiproxy README pair, and the Agent Note claimed the feature
added no new wire vocabulary. Both README sides now state the tail/omission
semantics (an omitted field on a tail response is the empty plan, not unchanged
state), and the note records the one added field instead of denying it.
Tests: TodoPanel specs render the plain list; new TodoDock specs cover selection,
live follow, rollback-to-empty, and the registration shape; a new row spec pins
Enter/Space activation and non-activating keys.
2026-07-27 12:08:46 +08:00
07akioni
3ee2982f85
optimize chat ui
2026-07-27 12:04:12 +08:00