Commit Graph
5560 Commits
Author SHA1 Message Date
Yichen Jiang 6f624c67c4 feat(web): render assistant Markdown 2026-07-23 19:18:05 +08:00
Turtle 44fd93fd06 feat(agent): unify send(target × wakeup), coalesce context/message into user/message
Replace send/steer/inject with one Agent.send primitive over the
(target × wakeup) matrix; followup/steer/inject become fixed-preset
alias methods on the now-abstract Agent class. Coalesce context/message
into user/message (injected context is a non-user source). Replace
agent/queued with agent/inbox/enqueue/dequeue/discard, add cancel
keepInbox, and add a FIFO-conservation invariant.
2026-07-23 19:15:45 +08:00
Tianyi Cui e701364753 Merge branch 'worktree/pr343-retarget-latest-master' into worktree/pr344-retarget-stack
# Conflicts:
#	docs/core-data-structures/code-runtime.md
#	scripts/type-equiv.manifest.json
2026-07-23 19:10:25 +08:00
Tianyi Cui 3bd27df5a2 Merge remote-tracking branch 'origin/master' into worktree/web-session-titles 2026-07-23 19:06:03 +08:00
Tianyi Cui 9867575c90 Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master 2026-07-23 19:00:13 +08:00
imccyu 34f0536cfe Merge branch 'worktree/web-carrier-chain' into worktree/web-ask-user-question 2026-07-23 18:56:20 +08:00
Tianyi Cui b4735dbb8c Merge branch 'worktree/pr344-retarget-stack' into worktree/pr345-retarget-stack 2026-07-23 18:54:01 +08:00
imccyu 2b06aa0102 Merge branch 'worktree/web-carrier-chain' into worktree/web-ask-user-question
Restack the ask-user domain layer onto the carrier-chain architecture
branch. Conflict policy: runtime and ui-conversation take the
carrier-chain side (master sessions shape, dual-kind PendingCard,
'internal' envelope shell tests); the 'cancelled' wire code and its
semantics tests stay in apiproxy + ui-question (domain layer); the
smoke fixture keeps the nine-bundle success pass with the resident
question round over the carrier-chain first-describe shape.
2026-07-23 18:50:30 +08:00
imccyu c5f5b29588 Merge pull request #557 from deepseek-harness/fix/web-zstd-session-logs
fix(web): compress session logs by default
2026-07-23 18:49:46 +08:00
imccyu 8e3378d08f Merge branch 'master' into fix/web-zstd-session-logs 2026-07-23 18:46:51 +08:00
Tianyi Cui ba40f906dc docs(i18n): normalize core terminology 2026-07-23 18:45:56 +08:00
Tianyi Cui 45f3e260fd Merge remote-tracking branch 'origin/master' into worktree/ci-subminute-stability 2026-07-23 18:41:43 +08:00
Tianyi Cui 7e27f1b00f Merge remote-tracking branch 'origin/master' into worktree/web-session-titles 2026-07-23 18:40:13 +08:00
Tianyi Cui d2dc618e3f Merge remote-tracking branch 'origin/master' into worktree/web-session-titles
# Conflicts:
#	.agents/notes/implemented/process/2026-07-20-gui-testing-system.i18n.yaml
#	packages/client/ui-conversation/tests/apply-inject.spec.tsx
#	packages/client/ui-conversation/tests/chat-stats-bash-sample.spec.tsx
#	packages/client/ui-conversation/tests/gate-branch-tails.spec.tsx
#	packages/client/ui-conversation/tests/selection-survival.spec.ts
#	packages/client/ui-conversation/tests/skeleton-branches.spec.tsx
#	packages/client/ui-conversation/tests/skeleton.spec.tsx
#	packages/client/ui-layout/tests/service.spec.ts
#	packages/client/ui-sidebar/tests/apply.spec.tsx
#	packages/client/ui-sidebar/tests/store.spec.ts
#	packages/client/ui-trajectory/tests/views.spec.tsx
#	packages/client/web/src/app.tsx
#	packages/client/web/tests/boot.spec.tsx
#	packages/host/runtime/README.md
#	packages/host/runtime/tests/host-runtime.spec.ts
2026-07-23 18:39:48 +08:00
imccyu 45a7f74145 Merge pull request #559 from deepseek-harness/fix/demo-web-build
fix(demo): build client plugin bundles before serving dsh web
2026-07-23 18:37:10 +08:00
imccyu 39a60c0215 style(gui): shorten the ConversationSlotProps doc line for the lint gate 2026-07-23 18:33:33 +08:00
Tianyi Cui 0d87f7ee27 Merge remote-tracking branch 'origin/master' into worktree/ci-subminute-stability 2026-07-23 18:33:04 +08:00
imccyu 97428e9922 Merge branch 'master' into fix/demo-web-build 2026-07-23 18:32:50 +08:00
imccyu d4ec819acb Merge branch 'master' into fix/web-zstd-session-logs 2026-07-23 18:32:47 +08:00
Tianyi Cui a730053cd3 Merge pull request #558 from deepseek-harness/worktree/ci-enterprise-subminute
ci: split enterprise Linux critical paths
2026-07-23 18:32:06 +08:00
_Kerman 7f5ba286fe fix: keep crash repair away from live sessions 2026-07-23 18:31:37 +08:00
imccyu ddd9e4a3bb Merge branch 'master' into fix/demo-web-build 2026-07-23 18:29:57 +08:00
imccyu 5c53af88b3 Merge branch 'master' into fix/web-zstd-session-logs 2026-07-23 18:29:44 +08:00
Tianyi Cui c88fade5b3 Merge branch 'master' into worktree/ci-enterprise-subminute 2026-07-23 18:29:15 +08:00
Tianyi Cui 7e81d9dad2 test: bind webserver fixtures atomically 2026-07-23 18:25:00 +08:00
Tianyi Cui 0ac226e077 Merge pull request #569 from deepseek-harness/codex/code-mode-complete-result-card
feat: add canonical typed Code Mode tool results
2026-07-23 18:21:46 +08:00
Tianyi Cui f666c39379 fix(web): generate model-backed session titles 2026-07-23 18:20:17 +08:00
imccyu 3d80144934 docs(rfc): chinese counterpart for the chain kind addendum 2026-07-23 18:19:07 +08:00
imccyu 0d68f01f4e docs(rfc): chain slot kind addendum to the slot system standard 2026-07-23 18:19:07 +08:00
imccyu c18be97f17 refactor(gui): route the composer chain on PendingWait currency 2026-07-23 18:18:52 +08:00
Tianyi Cui 2c98610601 Merge branch 'master' into codex/code-mode-complete-result-card 2026-07-23 18:18:42 +08:00
Tianyi Cui 41dbd2d539 Merge branch 'worktree/ci-enterprise-subminute' into worktree/ci-subminute-stability 2026-07-23 18:13:12 +08:00
imccyu 408cdf7436 refactor(gui): mint kind-agnostic PendingWait carriers for pending interactions 2026-07-23 18:11:21 +08:00
Tianyi Cui 05aeb243ba Merge remote-tracking branch 'origin/master' into worktree/ci-enterprise-subminute 2026-07-23 18:08:23 +08:00
Yichen Jiang c37892f753 Merge branch 'master' into worktree/tui-file-autocomplete 2026-07-23 18:07:34 +08:00
Tianyi Cui 625e8f0ed2 docs: update tutorial for canonical tool output 2026-07-23 18:04:49 +08:00
imccyu 3826b50b4a feat(gui): chain slot kind with select routing and renderSlotChain 2026-07-23 18:03:44 +08:00
Tianyi Cui 2dc3bf6005 ci: reuse the primary Linux build 2026-07-23 18:02:17 +08:00
_Kerman 022b42a450 Merge origin/master into refactor/eager-session-persistence 2026-07-23 18:00:36 +08:00
Tianyi Cui fa5c3fa0b9 Merge origin/master into codex/code-mode-complete-result-card 2026-07-23 17:59:58 +08:00
Tianyi Cui 0c8b3813fa Merge pull request #536 from deepseek-harness/worktree-webslot
refactor(gui): dissolve the tool and view registries into slots; stage sessions by current
2026-07-23 17:59:48 +08:00
_Kerman 406c82d1a7 refactor: eagerly persist session events 2026-07-23 17:57:26 +08:00
Yichen Jiang d633758a30 fix(tui): keep config schema statically walkable 2026-07-23 17:50:32 +08:00
imccyu bbde18caff refactor(gui): dissolve the tool ring into per-view keyed slots
Four rounds of structural rework on the conversation surface, converging
on one registration model for the whole client:

- Review fixes: open() leaves the inject factory (SessionsService owns
  the semantic); ConversationService mounts via ctx.plugin(); the
  bespoke view registry retires into the 'conversation.view' list slot.
- Ring alignment: createChatView factory retired (components get
  everything through checkable shares at the register call site); the
  hand-rolled t/i18n threading is deleted wholesale — a future
  framework-level i18n will supply t as a standard prop keyed by slot
  name, so no interim manual channel.
- Toolview dissolution: ToolViewRegistry / ToolViewResolver /
  ToolViewOutlet / ctx.toolviews retire. Tool rows are entries of the
  'conversation.chat.toolview' keyed slot (scope: session) declared by
  the chat entry; ToolRowOwnerProps is the unified owner payload;
  GenericToolCard becomes the call-site fallback; registrants are plain
  plugins (inject ['slots','conversation'] as the load-order seam);
  session-dimension dispatch moves into components (useSessions reads
  parentId); trajectory/waterfall gain same-shape slots the day they
  render tool rows (RendersCheck rejects empty declarations). Slot
  names mirror the composition path (<domain>.<entry>.<hole>).
- Staging follows current: cell()/binding() are pure resolution
  (render-safe); the constructor subscribes to the list store and
  followCurrent opens the event window when the current session
  changes — staging IS the open signal, business verbs are the timing,
  React render/commit is decoupled from window lifecycle. A masked
  current (projection gap) keeps the stage untouched so deferred
  teardown semantics survive reconnects.

Agent Note: .agents/notes/implemented/architecture/
2026-07-23-toolview-dissolution.md (bilingual pair) records the
decision, the four rejected alternatives, and the accepted semantic
changes; the web client architecture note and packages/client/AGENTS.md
carry the current-state narrative.

Verified: typecheck 0, duplication 0 clones (478 files), full coverage
run 6190 passed with zero threshold errors, knip 0, doc-sync 24/24,
client aggregate tsc 0, render-count checks (one commit per chunk, zero
row re-renders under streaming) green.
2026-07-23 17:49:47 +08:00
Tianyi Cui fcd9af2033 Merge pull request #498 from deepseek-harness/perf/parallel-built-package-invariants
perf(ci): parallelize packed-companion probes in verify-built-package-invariants
2026-07-23 17:49:22 +08:00
Tianyi Cui 0c678766a4 ci: isolate enterprise Linux critical paths 2026-07-23 17:49:16 +08:00
Tianyi Cui cecd0fedf5 docs(i18n): normalize seam consumer terminology 2026-07-23 17:48:50 +08:00
Yichen Jiang 5395279fe0 Merge remote-tracking branch 'origin/master' into worktree/tui-file-autocomplete 2026-07-23 17:46:27 +08:00
Yichen Jiang efe13c09d6 fix(tui): share config schema fields 2026-07-23 17:46:13 +08:00
Tianyi Cui 6feb5d9294 Merge remote-tracking branch 'origin/master' into worktree/pr498-conflict-20260723 2026-07-23 17:43:00 +08:00