Yichen Jiang
a12d30df2a
refactor(llm-pi-ai): reuse settings validation for startup recovery
2026-09-08 10:47:05 +08:00
Yichen Jiang
642b538fe0
Merge remote-tracking branch 'origin/master' into worktree/pi-ai-settings-recovery
2026-09-08 10:34:14 +08:00
Yichen Jiang
fe03b0686d
fix(llm-pi-ai): keep catalog-invalid settings repairable
2026-09-08 10:28:45 +08:00
imccyu
77690644b5
fix(sidebar): show full file paths and refine split and fullscreen controls
2026-09-07 22:37:45 +08:00
imccyu
4fef2786a9
chore: regenerate catalogs, dependency lock, and translation hashes
2026-09-07 21:29:49 +08:00
imccyu
508831624f
chore(web): assemble Sidebar domains and register workspace packages
2026-09-07 21:29:41 +08:00
imccyu
b67e0a838c
feat(sidebar): add tab navigation, injected information, and fullscreen shell
2026-09-07 21:29:40 +08:00
imccyu
3a85ac6d81
feat(resources): add Client resource registry and retained subscriptions
2026-09-07 21:29:39 +08:00
_Kerman
b0a7d2ce3b
Merge pull request #2672 from deepseek-harness/xtr/durable-inbox-recovery
...
refactor(agent): keep projection-backed Inbox loop-internal
2026-09-07 21:24:32 +08:00
_Kerman
0348599f04
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/acp/acp/tests/harness.ts
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/tests/commands-queue-attachment.host.spec.ts
# packages/context/agent-instructions/tests/agent-instructions.e2e.ts
# packages/fs/tool-fs/tests/harness.ts
# packages/preset/agent-presets/tests/invariant.spec.ts
# packages/preset/agent-presets/tests/mount.spec.ts
# packages/preset/agent-presets/tests/remote.spec.ts
# packages/test-support/agent-loop-testkit/package.json
2026-09-07 20:22:24 +08:00
07akioni
8d0d729091
Merge master native containment updates into feat/electron
2026-09-07 19:45:55 +08:00
pku-xht
e9f1b6c53e
Merge remote-tracking branch 'origin/master' into codex/subprocess-native-containment
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.md
# .agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.zh.md
# .agents/notes/implemented/architecture/2026-09-05-canonical-feedback-log.i18n.yaml
# .agents/notes/implemented/architecture/2026-09-05-nonofficial-feedback-otel.i18n.yaml
# .agents/notes/implemented/architecture/2026-09-06-embedded-stream-record-readers.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-09-03-normalized-unread-fs-tool-diagnostic.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-09-06-windows-python-console-spawn-wait.i18n.yaml
# .agents/notes/implemented/feature/2026-08-26-generic-file-upload.i18n.yaml
# .agents/notes/implemented/feature/2026-09-07-model-switch-notice.i18n.yaml
# .agents/notes/implemented/process/2026-09-03-semantic-issue-templates-and-policy.i18n.yaml
# packages/shell/bash-local/tests/executor.spec.ts
# packages/subprocess/subprocess-local/README.i18n.yaml
# packages/subprocess/subprocess-local/README.md
# packages/subprocess/subprocess-local/README.zh.md
# packages/subprocess/subprocess-local/src/spawn.ts
# packages/subprocess/subprocess-local/tests/spawn.spec.ts
# packages/subprocess/win32-process/package.json
2026-09-07 17:43:45 +08:00
07akioni
5fd247f64c
Merge latest master into feat/electron
2026-09-07 16:02:13 +08:00
Dudu-0223
96ead6091d
feat(subagent): align human inbox controls ( #3223 )
...
* feat(subagent): align continuable human inbox controls
* fix: repair rebase documentation and close test persistence
* docs: refresh rebased module dependency graph
2026-09-07 07:39:39 +00:00
07akioni
6d55da993d
Merge master into feat/electron after scope cleanup
2026-09-07 13:21:45 +08:00
07akioni
31b3f3bc44
Merge remote-tracking branch 'origin/master' into feat/electron
...
# Conflicts:
# .agents/notes/archived/manifest.json
# .agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.i18n.yaml
# .agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.md
# .agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.zh.md
# .agents/notes/implemented/architecture/2026-09-05-canonical-feedback-log.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-09-05-nested-terminal-cards.i18n.yaml
# docs/config-catalog.i18n.yaml
# docs/config-catalog.zh.md
# packages/boot/app-boot/README.i18n.yaml
# packages/boot/app-boot/README.md
# packages/boot/app-boot/README.zh.md
# packages/client/connection/src/index.ts
# packages/client/connection/tests/node-half.host.spec.ts
# packages/shell/tool-pwsh-persistent/README.i18n.yaml
# packages/shell/tool-pwsh-persistent/README.md
# packages/shell/tool-pwsh-persistent/README.zh.md
# pnpm-lock.yaml
# tsconfig.host.json
2026-09-07 11:10:46 +08:00
Tianyi Cui
40792330c0
fix(system-prompt): keep model persona prefix and place cwd in suffix
2026-09-06 20:35:42 +08:00
Tianyi Cui
81dcacbb44
Merge pull request #3537 from deepseek-harness/perf/03-client-stream-fold
...
perf: read embedded Assistant streams per compact record
2026-09-06 13:17:51 +08:00
Tianyi Cui
165cc31eb8
perf(llm,host): read embedded Assistant streams per compact record
...
Session format v2 embeds each attempt's compact stream in
assistant/message and assistant/attempt, but Host and client consumers
still expanded it into per-member TimedStreamChunk arrays and did
per-member work; expandAssistantStream materializes the full array before
find/toReversed/break can answer. Session Stats (the projection phase of
every Session open), the token meter's usage and provider-assembly folds,
the subagent output fold, and the Session Controller image lookup still
paid O(members) allocation and time per settlement.
The Chat and Trajectory definitions were already settled from
message.content on master; the remaining per-member folds stay.
dsh-llm now exports record-level readers (first token, visible content,
visible text, last raw chunk of a type, raw chunks of a type, joined
text, run-aware assembly, per-run first-token/first-visible times) that
scan the compact records once with early exit. Session Stats reads
assistantStreamFirstTokenTime, the token meter reads
lastAssistantStreamChunk(stream, 'usage') and assembles through
assembleAssistantStream, the subagent output fold appends
joinAssistantStreamText, and the Session Controller scans
assistantStreamChunks(stream, 'block-end').
expandAssistantStream is deliberately not memoized: retaining expansions
costs roughly ten times the compact stream for the Session's lifetime.
It remains the validating path at durable boundaries.
Synthetic 200-turn v0 migration benchmark, median of five: first-open
projection 28.0 ms -> 5.4 ms, first-open total 76.9 -> 50.0 ms, peak RSS
137.2 -> 94.9 MB; reopen projection 17.8 -> 5.6 ms; all phase budgets and
the 128 MB heap constraint keep passing.
2026-09-06 12:41:25 +08:00
Tianyi Cui
52475cbf50
fix: spill truncated session-reference captures for retrieval
2026-09-06 12:17:12 +08:00
Tianyi Cui
72ce6964ac
fix(session-reference): retain fallback for adapterless routes
2026-09-06 12:17:11 +08:00
Tianyi Cui
36a3a1188d
fix(session-reference): size default budget from selected model
2026-09-06 12:17:11 +08:00
imccyu
591d12ce86
docs(session): document preparation-first restoration
2026-09-06 02:10:28 +08:00
Tianyi Cui
9ffe85a512
OTel uploads explicit feedback for all users by default
2026-09-05 23:21:23 +08:00
Chinesezjc and Tianyi Cui
02a029e679
Feedback is recorded in the session log and delivered through DeepSeek
...
Co-authored-by: Tianyi Cui <53024+tianyicui@users.noreply.github.com >
2026-09-05 23:21:22 +08:00
Tianyi Cui
a7a5be1703
docs(notes): archive low-future-value Agent Notes
...
Run the dsh-archive-agent-notes audit over every active Agent Note on
current master, judging each record by whether its rationale still guides
work rather than by size or age.
- Archive 453 implemented bilingual triplets (417,882 English words):
completed UI chrome, narrow adapters, closed bug fixes, implementation
walkthroughs whose package READMEs, docs pages, generators, or successor
notes now carry the useful behavior, and 51 records fully superseded by
a later active note. Keep 201 implemented notes whose ownership rules,
negative guarantees, durable or wire semantics, security rules,
reintroduction conditions, or still-tempting rejected alternatives
remain useful.
- Reject 7 proposals whose premise is gone or whose work shipped in
amended form under other records; delete 2 rejected notes that no
longer prevent a plausible mistake.
- Retarget every remaining inbound link to the archived path, and repair
active prose that named an archived record as the owner of a live fact:
parenthetical citations drop, ownership sentences redirect to the
README, docs page, or active note that states the fact, and history
citations say so. Chinese files link the English archived path because
the pairing gate treats the frozen tree as outside the bilingual corpus.
- Seal 1,359 new frozen artifacts; existing seals are unchanged and
outbound links from archived notes are neither inspected nor repaired.
- Regenerate docs/config-catalog.md after the hook-bridge comment edits
shifted two source line numbers.
2026-09-05 14:37:32 +08:00
07akioni
75c7bbb88d
Merge remote-tracking branch 'origin/master' into feat/electron
...
# Conflicts:
# packages/client/connection/README.i18n.yaml
# packages/client/connection/README.md
# packages/client/connection/README.zh.md
2026-09-04 16:23:37 +08:00
07akioni
ff146b84a3
Merge remote-tracking branch 'origin/master' into feat/electron
...
# Conflicts:
# pnpm-lock.yaml
2026-09-04 15:11:38 +08:00
creatixchu
b4517feed5
Merge remote-tracking branch 'origin/master' into worktree/2984-generic-file-upload
2026-09-04 14:46:36 +08:00
07akioni
1553862ac1
Merge remote-tracking branch 'origin/master' into feat/electron
2026-09-04 14:26:23 +08:00
Turtle
c58097a826
feat(session-persistence-jsonl): cross-process write-ownership lease
...
Write handles now hold a durable lease (session.lock.json beside the
log): a random owner token, diagnostic pid, and an expiry. Acquisition
wins by exclusive create; a second process's create or write open rejects
while the record is unrenewed for less than leaseTtlMs (default 5 min),
and takes over after that — a crashed holder is waited out, never
reclaimed by pid. The holder renews every leaseRenewIntervalMs (default
4 min); a renewal that finds a foreign, vanished, or expired record — or
fails outright — marks the lease lost permanently, so every later
append/flush rejects with SessionOwnershipLostError while reads continue.
Close releases the record; read handles never touch it. Takeover of an
expired record is eventually exclusive: a replaced holder stops within
one renewal interval.
Refs #3245
2026-09-04 14:12:14 +08:00
creatixchu
268cf0101e
Merge remote-tracking branch 'origin/master' into worktree/2984-generic-file-upload
2026-09-04 13:08:41 +08:00
creatixchu
f0e52c2731
refactor(file-upload): tighten service boundaries
2026-09-04 13:08:25 +08:00
_Kerman
891f07a2d0
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/tests/session-projections.host.spec.ts
# packages/bundle/headless/tests/headless.spec.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/core/agent/src/runtime-types.ts
# packages/fs/tool-str-replace-editor/tests/tools.spec.ts
# packages/llm/llm-retry/tests/retry.spec.ts
# packages/llm/llm-retry/tests/transport-recovery.spec.ts
# packages/shell/tool-bash-persistent/tests/loader-composition.spec.ts
# packages/shell/tool-bash-persistent/tests/tools.spec.ts
# packages/shell/tool-pwsh-persistent/tests/loader-composition.spec.ts
# packages/shell/tool-pwsh-persistent/tests/tools.spec.ts
# packages/terminal/terminal-bash/tests/index.spec.ts
# packages/test-support/agent-loop-testkit/package.json
2026-09-04 12:18:37 +08:00
Turtle
9656a1742b
Merge pull request #3521 from deepseek-harness/turtle/issue-2349-windows-root-workspace
...
fix(workspace): preserve Windows drive roots
2026-09-04 11:10:27 +08:00
creatixchu
fb743759a7
Merge remote-tracking branch 'origin/master' into worktree/2984-generic-file-upload
...
# Conflicts:
# apps/web/tests/scaffold.ts
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/llm/token-meter/src/index.ts
# packages/session-query/session-log-export/README.i18n.yaml
# packages/session-query/session-log-export/README.md
# packages/session-query/session-log-export/README.zh.md
# packages/session-query/session-log-export/src/archive.ts
# scripts/package-dependency-policy.ts
2026-09-04 10:12:19 +08:00
pku-xht
cffb09b02c
Merge commit '0d361e6eede9e8a739e776949aa7d5e3de4472da' into codex/subprocess-native-containment
...
# Conflicts:
# snapshots/session/cordis-inspect-jsdoc/session.v2.jsonl
2026-09-04 00:56:00 +08:00
Tianyi Cui
d58964a010
Merge commit 'be5db297c7' into worktree/session-format-05-v1-v2-chunk-migration
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.md
# .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.zh.md
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/src/assistant-stream.ts
# packages/api/session-controller/src/client/sessions/assistant-stream.ts
# packages/api/session-controller/src/types.ts
# packages/api/session-controller/tests/assistant-stream.client.spec.ts
# packages/api/session-controller/tests/session-history-journal.host.spec.ts
# packages/api/session-controller/tests/sessions-service.client.spec.ts
# packages/api/session-controller/tests/transport.client.spec.ts
# packages/core/agent/README.i18n.yaml
# packages/core/agent/README.md
# packages/core/agent/README.zh.md
# packages/extensions/tool-cordis/src/api-catalog.ts
# scripts/package-dependency-policy.ts
2026-09-03 22:09:31 +08:00
Tianyi Cui
fe9c2d7053
refactor(agent, session-controller): drop the unread startedTime frame field
...
The `start` frame and the reconnect baseline attempt carried a wall-clock
`startedTime` that no Host or Client consumer read: the Host accumulator
and the Client reconciler copied it into their attempt maps and nothing
looked at it again. Presentation frames now carry only the coordinates
consumers use (attempt, revision, turn, step, chunk index, and v1 seq
provenance); the type-equivalence block, event graph, READMEs, and the
live-stream Agent Note follow the type.
2026-09-03 21:58:34 +08:00
creatixchu
ea669428be
refactor(attachment): unify prompt content admission
2026-09-03 20:53:29 +08:00
creatixchu
3eb9736eb6
refactor(file-upload): scope prompt binding rollback
2026-09-03 20:15:18 +08:00
Turtle
e609fd73a3
fix(workspace): harden qualified path handling
2026-09-03 19:01:30 +08:00
creatixchu
b2c4483c9d
refactor(attachment): own prompt admission on service
2026-09-03 18:18:32 +08:00
Turtle
d33fe767c1
fix(workspace): preserve Windows drive roots
2026-09-03 17:14:02 +08:00
creatixchu
8fc9a11c5e
refactor(attachment): isolate file upload service
2026-09-03 16:10:24 +08:00
07akioni
3e526474a3
Merge remote-tracking branch 'origin/master' into feat/electron
...
# Conflicts:
# pnpm-lock.yaml
# scripts/gen-cordis-catalog.ts
2026-09-03 13:46:37 +08:00
Tianyi Cui
67c8a58854
fix(session): address v2 migration review
2026-09-03 04:45:41 +08:00
Tianyi Cui
a88ef734cc
Merge remote-tracking branch 'origin/worktree/session-format-04-live-assistant-stream' into worktree/session-format-05-v1-v2-chunk-migration
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.md
# .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.zh.md
# .agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.i18n.yaml
# .agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.md
# .agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.zh.md
# apps/web/tests/scaffold.ts
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/src/client/sessions/assistant-stream.ts
# packages/core/agent-loop/src/agent.ts
# packages/core/agent-loop/src/assistant-stream.ts
# packages/core/agent-loop/tests/loop.spec.ts
# packages/core/agent/src/runtime-types.ts
# packages/session/session-telemetry/tests/telemetry.spec.ts
# packages/test-support/llm-replay/README.i18n.yaml
# packages/test-support/llm-replay/README.md
# packages/test-support/llm-replay/README.zh.md
# packages/test-support/llm-replay/src/alpha-refusal-fixtures.ts
# packages/test-support/llm-replay/src/index.ts
# packages/test-support/llm-replay/tests/llm-replay.spec.ts
# packages/test-support/session-snapshot/README.i18n.yaml
# packages/test-support/session-snapshot/README.md
# packages/test-support/session-snapshot/README.zh.md
# packages/test-support/session-snapshot/src/suite.ts
# packages/test-support/session-snapshot/tests/suite.spec.ts
# snapshots/sdk/sdk.snapshot.ts
# snapshots/session/headless.snapshot.ts
2026-09-03 03:10:05 +08:00
Tianyi Cui
a65edc4810
fix(agent): terminate live assistant attempts
2026-09-03 02:25:25 +08:00
Tianyi Cui
a5c24f204d
Merge remote-tracking branch 'origin/worktree/session-format-03-v0-v1-migration' into worktree/session-format-04-live-assistant-stream
2026-09-03 02:02:47 +08:00