Commit Graph

4275 Commits

Author SHA1 Message Date
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
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
imccyu
408cdf7436 refactor(gui): mint kind-agnostic PendingWait carriers for pending interactions 2026-07-23 18:11:21 +08:00
imccyu
3826b50b4a feat(gui): chain slot kind with select routing and renderSlotChain 2026-07-23 18:03:44 +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
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
6feb5d9294 Merge remote-tracking branch 'origin/master' into worktree/pr498-conflict-20260723 2026-07-23 17:43:00 +08:00
Tianyi Cui
91774001b1 Merge remote-tracking branch 'origin/master' into worktree/pr498-conflict-20260723
# Conflicts:
#	.agents/notes/implemented/process/2026-07-06-parallel-pre-push-gates.md
#	.github/workflows/ci.yml
#	scripts/verify-built-package-invariants.mjs
2026-07-23 17:42:30 +08:00
imccyu
8e0f0961d9 docs(rfc): chinese counterpart for the chain kind addendum 2026-07-23 17:41:29 +08:00
Tianyi Cui
4a3e46d698 Merge pull request #563 from deepseek-harness/worktree/record-browser-gif-skill
feat(skill): record browser demo GIFs
2026-07-23 17:41:06 +08:00
Tianyi Cui
9fcafb9ca7 Merge branch 'master' into worktree/record-browser-gif-skill 2026-07-23 17:37:42 +08:00
Tianyi Cui
1eecf025ff Merge pull request #514 from deepseek-harness/worktree/pr504-vendored-cordis-hot-reload
fix(vendor/include): keep config reloads resilient
2026-07-23 17:33:14 +08:00
imccyu
24e404b25a docs(rfc): chain slot kind addendum to the slot system standard 2026-07-23 17:24:07 +08:00
imccyu
07bdfbce9b refactor(gui): route the composer chain on PendingWait currency 2026-07-23 17:23:17 +08:00
imccyu
de36006956 refactor(gui): mint kind-agnostic PendingWait carriers for pending interactions 2026-07-23 17:20:46 +08:00
imccyu
58cdc21431 feat(gui): chain slot kind with select routing and renderSlotChain 2026-07-23 17:19:59 +08:00
Tianyi Cui
9ab407fdd6 Merge branch 'master' into worktree/pr504-vendored-cordis-hot-reload 2026-07-23 17:19:42 +08:00
Tianyi Cui
1e84c7e3de Merge remote-tracking branch 'origin/master' into worktree/record-browser-gif-skill 2026-07-23 17:18:49 +08:00
Tianyi Cui
c02eb6d941 fix(skill): preserve GIF palette and paths 2026-07-23 17:18:18 +08:00
Tianyi Cui
189219871b Merge pull request #560 from deepseek-harness/worktree/debug-endpoint-e2e-20260723
test(acp): require a real sandbox denial
2026-07-23 17:15:17 +08:00
Tianyi Cui
f02c847ecb Merge branch 'master' into worktree/debug-endpoint-e2e-20260723 2026-07-23 17:14:52 +08:00
Ziya
1e1e05d35a Merge pull request #541 from deepseek-harness/feat/tui-extension-service
feat(tui): add interactive extension service
2026-07-23 05:06:30 -04:00
Tianyi Cui
f7103c833c feat(skill): record browser demo GIFs 2026-07-23 17:04:33 +08:00
Ziya
2f13de1d8f Merge branch 'master' into feat/tui-extension-service 2026-07-23 04:43:55 -04:00
Tianyi Cui
be62eecc60 test(acp): require a real sandbox denial 2026-07-23 16:39:02 +08:00
Tianyi Cui
7c0c516f60 Merge pull request #554 from deepseek-harness/worktree/ci-enterprise-32core-required
Use enterprise 32-core runners for complete CI
2026-07-23 16:20:45 +08:00
Tianyi Cui
b918743dd1 Merge branch 'master' into worktree/ci-enterprise-32core-required 2026-07-23 16:06:32 +08:00
Ziya
7fdf685e5c Merge branch 'master' into feat/tui-extension-service 2026-07-23 04:02:19 -04:00
imccyu
2c8e013d69 Merge pull request #548 from deepseek-harness/codex/gui-context-polish
feat(gui): add workspace context and polish tool rows
2026-07-23 15:31:17 +08:00
Tianyi Cui
464065cce2 Use enterprise 32-core runners for complete CI 2026-07-23 15:06:23 +08:00
imccyu
62b62ac9d5 Merge remote-tracking branch 'origin/master' into codex/gui-context-polish
# Conflicts:
#	apps/web/tests/smoke-fixture.e2e.ts
2026-07-23 15:03:26 +08:00
Tianyi Cui
89bff10146 Merge pull request #547 from deepseek-harness/worktree/ci-standard-runner-fallback
ci: keep required PR checks on portable runners
2026-07-23 14:47:46 +08:00
Dudu-0223
0301b7fda8 feat(gui): add write tool row variant 2026-07-23 14:46:07 +08:00
Dudu-0223
aee859841b test(gui): cover edit tool row 2026-07-23 14:38:27 +08:00
Tianyi Cui
fc1b308266 ci: keep required PR checks on portable runners 2026-07-23 14:31:01 +08:00
Tianyi Cui
c5ebcef8af test(ui-sidebar): cover expanded search control 2026-07-23 14:30:43 +08:00
imccyu
1210735959 refactor(gui): rework ui-question to the terminal slot standard
Contract face moves to contract/slots.ts (PropsRuntime composition off the
conversation SlotMap entry, flat answer/cancel injected share); apply takes
the ui-sidebar terminal form (strict need() service reads, ctx.effect-wrapped
single register, framework-resolved sessionId); tests upgrade to the terminal
style (props-direct component specs with standard-kit stubs, real-registry
apply spec with children-declared slot, fiber-teardown case).
2026-07-23 14:23:10 +08:00
Tianyi Cui
fe22e5e955 Merge pull request #544 from deepseek-harness/revert-543-worktree/comprehensive-pre-push
Revert "chore: run primary CI before push"
2026-07-23 14:11:39 +08:00
Dudu-0223
1ba00bf80c feat(web): inject workspace instructions 2026-07-23 14:11:25 +08:00
Dudu-0223
edb999fd0f test(gui): cover thinking row disclosure 2026-07-23 14:11:25 +08:00
Dudu-0223
d7d8650600 fix(gui): expand thinking rows on click 2026-07-23 14:11:25 +08:00
Dudu-0223
691efb0025 feat(gui): add 'edit' variant for tool row, showing as 'Edit · path' like Read
- Add 'edit' to ToolRowVariant type and TOOL_VARIANTS mapping
- Add 'edit' title and summary key preference (path/file_path)
- Add IconEditOutline16 as the leading icon for edit variant
2026-07-23 14:11:25 +08:00
imccyu
61dc4b6b99 Merge remote-tracking branch 'origin/master' into worktree/web-ask-user-question 2026-07-23 14:05:08 +08:00
Tianyi Cui
c79b34bda5 Revert "chore: run primary CI before push" 2026-07-23 14:02:58 +08:00
Tianyi Cui
9c01696a7e Merge pull request #523 from deepseek-harness/worktree/fix-collapsed-sidebar-rail
fix(gui): keep sidebar controls when collapsed
2026-07-23 13:47:13 +08:00
imccyu
d430744dd8 Merge branch 'master' into worktree/fix-collapsed-sidebar-rail 2026-07-23 13:45:14 +08:00
imccyu
dd7d198c0d Revert "fix(gui): keep the label fade and pin the rail icons to one axis"
This reverts commit a4ae2f6c21c1eeed2495481a55a39762f4e64ccb.
2026-07-23 13:37:54 +08:00