12410 Commits

Author SHA1 Message Date
Turtle
fc2adf8c6b fix(ci): isolate source launcher build smoke 2026-08-11 11:22:08 +08:00
Turtle
9d79da0c62 test(cli): pin source build-first launch 2026-08-11 11:22:08 +08:00
Turtle
d8e50c2c0b fix(review): address source-run feedback 2026-08-11 11:22:08 +08:00
Turtle
01257351d9 fix(ci): recognize root dsh script 2026-08-11 11:22:08 +08:00
Turtle
e59af75554 fix(cli): keep source launch output clean 2026-08-11 11:22:08 +08:00
Turtle
2765de87c8 fix(ci): await math snapshot metrics 2026-08-11 11:22:08 +08:00
Turtle
7e77fcb52b fix(ci): stabilize snapshot checks 2026-08-11 11:22:08 +08:00
Turtle
c9e14307b8 docs: simplify source-run instructions 2026-08-11 11:22:08 +08:00
Turtle
ee9465e4b3 build before source dsh launch 2026-08-11 11:22:08 +08:00
Turtle
34abf69730 cleanup: remove managed source installer 2026-08-11 11:22:08 +08:00
creatixchu
a82253bb36 Merge remote-tracking branch 'origin/master' into feat/read-image-context 2026-08-11 11:20:47 +08:00
hypatiamay
fea054a1bd Merge pull request #2127 from deepseek-harness/fix/subagent-empty-terminal-message-output
fix(subagent): keep output past an empty terminal message with one selection rule
2026-08-11 11:19:44 +08:00
Turtle
f5ac90412c Merge branch 'master' into codex/remove-experimental 2026-08-11 11:17:09 +08:00
Yichen Jiang
ca119b0e10 fix(web-plugin-config): address review — one options snapshot per search, no public value exports
Three findings from review survived against the staged-save head:

The search provider read its options thunk per property, so a settings write
landing inside credential resolution sent the key resolved from the old
section to the endpoint named by the new one. Each operation now snapshots
once at its entry and threads that snapshot into credential resolution; a
regression test drives a commit into the middle of a search and pins that the
endpoint, model, and key all come from the section the search started on.

The /client entry exported components, controllers, and namespace constants
with no consumer, which the client export discipline allows only with sign-off.
Only types remain. The duplicate per-card Injected/Face interface pairs are
one declaration each now, so a member added to one side cannot silently miss
the other.

The credential state carries the reference it describes and its writability: a
reference change no longer projects the old answer onto the new name, an
out-of-order response for a stale reference is dropped, and a key that a
deployment sources from the process environment disables the control instead
of inviting a write the Host must refuse.

Also corrected three prose claims against the code they describe: the card's
fields do not differ by platform (the served schema does), the section's empty
line counts registered rather than visible cards and is read once, and the
search README overstated what a configuration surface learns about a key.
2026-08-11 11:16:42 +08:00
Yichen Jiang
fdd64e9283 Merge origin/master into worktree/web-plugin-config
Master moved every workspace edge to workspace:^ and added release-member
fields; this branch's manifests follow, keeping only the dependency edges it
contributes. The client-runtime README keeps this branch's paragraph: master
did not touch it, and the base/user layers and `unset` it describes are what
this branch added.
2026-08-11 11:16:29 +08:00
Tianyi Cui
8521bfe606 Merge pull request #2211 from deepseek-harness/worktree/event-driven-issue-review-status-20260810
feat: direct Issue status from PR review events
2026-08-11 11:15:16 +08:00
Chinesezjc
cc455c4f5a docs(agent-notes): frame telemetry default-off as public beta transition
Problem now explains that DSH is entering public beta and default-off is
the appropriate stance for that phase — consistent with internal testing
having default-on for diagnostics. Update Consequences to match.
2026-08-11 11:12:46 +08:00
NI0317
eb386b5e02 Merge remote-tracking branch 'origin/master' into feature/workspace-picker-composer 2026-08-11 11:11:46 +08:00
Chinesezjc
0d3a8b758b Merge pull request #1994 from deepseek-harness/feat/session-feedback-web-ack
feat(feedback): disclose session sharing in the /feedback acknowledgement
2026-08-11 11:10:08 +08:00
NI0317
90a2a67b7e Merge remote-tracking branch 'origin/master' into feature/workspace-picker-composer 2026-08-11 11:09:36 +08:00
NI0317
1ac522ab5a docs(web): clarify workspace picker accessibility state 2026-08-11 11:08:14 +08:00
imccyu
3fcf947765 Merge pull request #2200 from deepseek-harness/fix/agent-preset-ui-flow
fix(web): Some UI problem: agent preset UI fix, subagent badge flash fix
2026-08-11 11:04:04 +08:00
Chinesezjc
bb40c2b079 docs: re-record module-graph translation pairing after rebase 2026-08-11 11:02:05 +08:00
Chinesezjc
893228b190 test(feedback): refresh ack golden for master banner locale 2026-08-11 11:01:48 +08:00
Chinesezjc
4786b3be89 ci: trigger 2026-08-11 11:01:48 +08:00
Chinesezjc
725f0639ef ci: retrigger after rebase onto master 2026-08-11 11:01:48 +08:00
Chinesezjc
806f6d625f fix(web): accept sharing disclosure suffix in seeded-history feedback test
The /feedback acknowledgement now appends a sharing-policy sentence after the
anonymous user id. The seeded-history e2e regex anchored on the end of the
User line, and the golden snapshot did not include the disclosure. Update both
to match the new format, and re-record the module-graph translation-pairing
hash after rebasing onto master (which picked up the windows-native ACL
coverage fix in #2182).
2026-08-11 11:01:48 +08:00
Chinesezjc
d9f8270cc3 docs: sync sharing-disclosure catalogs and module graph after rebase
Regenerates the ack golden for the merged acknowledgement format, records
the zh counterparts and pairing hashes for the telemetry and catalog
pages, and restores the command-feedback to session-telemetry edge and
dependency in the module graph.
2026-08-11 11:01:48 +08:00
Chinesezjc
ac7c44a5df fix(feedback): drop rebase residue from the sharing acknowledgement
The post-rebase cleanup removes leftover conflict-marker lines and the
superseded acknowledgement text from the command source, re-adds the
session-telemetry project reference, and restores the lockfile importer
link for the sharing dependency.
2026-08-11 11:01:48 +08:00
Chinesezjc
6a6148a08c test(feedback): fix the assembled e2e record path and teardown restore
The feedback-command e2e now drives the recorded prompt through a separate
all-modes test that arms whenTurnSettled before sending and writes the
fixture back via recordFixture in record mode; the acknowledgement golden
test runs only in replay/refresh. The scaffold restores the pinned DSH_HOME
on the persistence-root setup failure path, and the telemetry subsystems
page links the README's sharing-disclosure anchor.
2026-08-11 11:01:48 +08:00
Chinesezjc
3f9d0436eb feat(feedback): disclose session sharing in the /feedback acknowledgement
The /feedback acknowledgement now echoes the receiving session id and
reports the mounted telemetry backend's sharing policy: the telemetry seam
exposes a backend-independent TelemetrySharingStatus through a required
abstract sharing member on the Telemetry service, the OTel backend maps its
mode onto it, and the command appends one policy-only sharing sentence
(full / feedback-only / disabled / not configured) to the acknowledgement.
The web client renders the text through the existing command row without a
client change; a new assembled-browser e2e mounts the shipped telemetry row
in FULL mode against a local dead endpoint and pins the shipped default
sentence as a keyless golden.
2026-08-11 11:01:43 +08:00
Turtle
94abd8631a fix(feedback): include session id in acknowledgement 2026-08-11 11:01:43 +08:00
Yichen Jiang
5c081a0094 Merge remote-tracking branch 'origin/master' into worktree/preset-plane-fallout-p1
Master moved peerDependencies to `workspace:^`; this branch's two added peers
(`dsh-agent`, `dsh-system-prompt`) take the same form. `docs/module-graph.*`
is generated; regenerated after the merge.

Hook bypassed for the same reason as the previous merge: the staged-pairing
check hands an archived note path to `verify-translation-pairing`. The
full-corpus gate passes.
2026-08-11 11:01:12 +08:00
imccyu
45befb87e2 Merge branch 'master' into fix/agent-preset-ui-flow 2026-08-11 10:54:13 +08:00
Yichen Jiang
61d5cb9e41 fix(apiproxy): serve history events and projections from one log position
Review found two defects in the previous commit's ordering fix.

@pku-xht: `historyStateFor` copied the attached session's events, the handler
then awaited `presenterScopeFor`, and only then read the projection baseline
off the still-live Session. An append during that await served events cut at N
beside a baseline folded to N+1 — one response describing two moments. The
same restructure had also moved the baseline read outside the `try`, so a
failing snapshot escaped the structured `internal` error.

Both awaits now happen before the cut: `historySourceFor` resolves which
session serves the read, `presenterScopeFor` ensures the recorded composition,
and `historyCutOf` then reads events and baseline adjacently with nothing
between them. The whole sequence is back inside the try.

The invariant judged any scoped assembly with a chain of one as an unjoined
agent, which rejects a legitimate assembly in a standing preset key (that key
has no parent of its own). It now gates on `context.agent` — a scope-only read
is not an agent and is out of range by construction rather than by a premise
about who else calls `assemble` — and asks the roster's own
`composedPreset()` instead of introspecting chain length. The advisory warning
uses the same relation.

Also from review: the `2026-08-05-per-agent-tool-presentation` note still
described `presentAs` as per-agent, which standing mounts made false and this
branch's own rewording contradicts; the duplicated "process-wide unit table"
argument collapses to the Agent Note with pointers from the five copies; a
dead `.sort()` before `arrayContaining`; and change-history narration in the
tool-cordis README.
2026-08-11 10:45:15 +08:00
Turtle
fd5365e374 chore(packages): remove empty experimental group 2026-08-11 10:44:09 +08:00
NI0317
e3b4196ca0 Merge master into feature/workspace-picker-composer 2026-08-11 10:32:28 +08:00
creatixchu
6f9e62d24b fix(examples): follow Cordis package rescope 2026-08-11 10:30:04 +08:00
creatixchu
c1f0a6a683 Merge remote-tracking branch 'origin/master' into feat/read-image-context
# Conflicts:
#	apps/cli/tests/web-agent-presets.e2e.ts
#	packages/fs/tool-fs/package.json
2026-08-11 10:12:14 +08:00
imccyu
db1028a84d Merge pull request #2188 from deepseek-harness/feat/trajectory-conversation-nodes
refactor(ui-trajectory): assemble registered conversation nodes
2026-08-11 04:20:45 +08:00
imccyu
3f7c2a25b6 docs: record trajectory context assembly 2026-08-11 03:29:04 +08:00
imccyu
1af8c96682 perf(ui-trajectory): avoid locale formatting in hot path 2026-08-11 03:29:04 +08:00
imccyu
d66e693c63 fix(ui-trajectory): place steering before request boundary 2026-08-11 03:29:04 +08:00
imccyu
98a4cc6569 style(ui-trajectory): align presentation render tree 2026-08-11 03:29:04 +08:00
imccyu
2695f31edb test(ui-trajectory): assert deferred preview sources 2026-08-11 03:29:04 +08:00
imccyu
e27dba8457 perf(ui-trajectory): defer trajectory text processing 2026-08-11 03:29:04 +08:00
imccyu
58ea69f64f build(ui-trajectory): use rescoped cordis package 2026-08-11 03:29:04 +08:00
imccyu
cc25bceec8 fix(ui-trajectory): simplify terminal contribution branch 2026-08-11 03:29:04 +08:00
imccyu
556b11ef56 docs: refresh module graph 2026-08-11 03:29:04 +08:00
imccyu
62f5d05039 fix(ui-trajectory): tighten conversation assembly contracts 2026-08-11 03:29:04 +08:00