Commit Graph

11292 Commits

Author SHA1 Message Date
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
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
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
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
imccyu
45befb87e2 Merge branch 'master' into fix/agent-preset-ui-flow 2026-08-11 10:54:13 +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
imccyu
b3d3e423f2 fix(ui-trajectory): retain parallel tool interruptions 2026-08-11 03:29:04 +08:00
imccyu
fc4df896a0 perf(ui-trajectory): index trajectory snapshot assembly 2026-08-11 03:29:04 +08:00
imccyu
3469de58eb fix(ui-trajectory): consume prompt changes once 2026-08-11 03:29:04 +08:00
imccyu
a342b329e3 docs(client): document trajectory conversation assembly 2026-08-11 03:29:04 +08:00
imccyu
c828d38f51 refactor(client-runtime): remove legacy history fold 2026-08-11 03:29:04 +08:00
imccyu
f479c60b6d feat(ui-trajectory): assemble registered conversation nodes 2026-08-11 03:29:04 +08:00
imccyu
3e79f7106e feat(client-runtime): add target-owned conversation snapshots 2026-08-11 03:29:04 +08:00
imccyu
aa6d0b6efd Merge pull request #2220 from deepseek-harness/release/dsh-0.0.1-rc.1
Release: dsh@0.0.1-rc.1
2026-08-11 03:25:09 +08:00
imccyu
b64c3ac1ba release(dsh): 0.0.1-rc.1 2026-08-11 03:20:36 +08:00
imccyu
a5c23dd36a fix: prerelease version 2026-08-11 03:20:34 +08:00
imccyu
41360d98bc Merge pull request #2218 from deepseek-harness/release/cordis-4.0.1-rc.1
Release: cordis 4.0.1 rc.1
2026-08-11 02:52:55 +08:00
imccyu
4cd77a5ad9 release(vendor): cordis 4.0.1-rc.1, cosmokit 1.8.2-rc.1, group 1.0.1-rc.1, hmr 1.0.16-rc.1, include 1.0.5-rc.1, loader 1.0.1-rc.1, logger-console 1.0.1-rc.1, schemastery 3.18.1-rc.1, timer 1.1.3-rc.1 2026-08-11 02:46:10 +08:00
imccyu
9840d39ba0 feat(release): rehearse a vendored publication with a prerelease
release:vendor --prerelease rc.1 appends the identifier to the version each
package would take, so a first publication can be thrown away instead of holding
the stable dist-tag: publish already routes any version with a prerelease
segment to --tag next.

A prerelease does not consume its release numbers, so the stable release that
follows takes the same ones rather than skipping a patch. Deciding that needs
semver precedence, which git's version sort does not provide — it places
4.0.1-rc.1 above 4.0.1 — so the newest published version is chosen by comparing
versions here, numeric prerelease fields numerically.
2026-08-11 02:43:12 +08:00
imccyu
1af1eb84a4 Merge pull request #2212 from deepseek-harness/worktree-npmpub2
build(release): publish as three independent npm sequences
2026-08-11 02:00:52 +08:00
imccyu
ae75aca776 fix(release): supply the Landlock entry tarball to the packed install
dsh-sandbox-local declares @deepseek-ai/node-addon-landlock-run in
dependencies, not optionalDependencies, so omitting optional dependencies left
npm resolving it from a registry that does not carry it. The dsh pack job now
packs that entry for verification; its own platform packages stay out, being
optional and needing a musl toolchain per architecture.

The verification reads each directory by its contents rather than a pack order
file, because a directory packed only to satisfy a cross-sequence dependency has
no release order to describe.
2026-08-11 01:48:56 +08:00
imccyu
21db3220d6 fix(release): omit optional dependencies from the packed install
The Landlock platform packages sit behind optionalDependencies, and npm fails
the install on their 404 rather than skipping them: they belong to the native
sequence, whose pack needs a musl toolchain and one build per architecture, so
this job cannot produce them and holds no credentials to fetch them. A consumer
that cannot install them must still start, which is what optional means here.

The release spec also gains block bodies where the lint rule rejects returning a
void expression from an arrow shorthand.
2026-08-11 01:39:01 +08:00
imccyu
d9dcf5a484 fix(release): close the review findings on the release sequences
The root manifest carries the dsh family version. bump writes it with the
members, because the workspace constraint requires them to match, and that
constraint now accepts a prerelease segment: without both, release:dsh 0.0.2
left the root behind and 0.0.1-rc.1 could satisfy neither check.

The Landlock workflow no longer passes --access public, which overrode the
restricted publishConfig this repository just adopted for those packages.

Vendored change detection reads build inputs when a package publishes build
output, and vendor/cordis publishes the src its export map already pointed at:
its lib/ is untracked, so a real source edit read as 'nothing changed' and the
next publish would fail on a version whose bytes moved. The next version also
takes the last published version as its baseline, so a re-sync that restores a
lower upstream version cannot recompute a version already on the registry, and
bump confirms the registry carries what the newest tag names.

Tag prefixes are constructed rather than recovered from a full tag, which a
hyphenated version defeated. Pack runs group per ref so concurrent pull requests
stop displacing each other, the publish job carries the global group, and the
unused id-token permission is gone.

Every release script sits behind an entry guard, which is what lets the pure
judgements carry tests: tag naming, publish order and cycle reporting, version
arithmetic, payload policy, and the change judgement.

The Agent Note moves to implemented and states what shipped: one probe command,
the registry confirmation that now exists, and byte reproducibility recorded as
assumed rather than measured.
2026-08-11 01:26:36 +08:00
imccyu
bcc4890038 fix(release): follow the workspace protocol in the invariant fixture and knip config
The package-invariant spec built its fixture with the range the rule no longer
accepts. knip stopped needing the tar ignore entry once the tarball helpers
became the one place that spawns it.
2026-08-11 01:01:40 +08:00
imccyu
787443b13f fix(release): verify the packed install against the framework it peers on
The harness packages declare the vendored framework as a peer, so installing
only the dsh tarballs left npm resolving @deepseek-ai/cordis from a private
registry the credential-free pack job cannot reach. The verification now takes
several pack directories and installs every tarball in them, and the dsh
workflow packs the vendored family for that purpose while still publishing only
its own set.

The verification also reads what each tarball declares instead of what the
checkout says, which is what let the process and tarball helpers become one
home each - the three copies of a spawn wrapper were a duplication finding.
2026-08-11 00:51:02 +08:00
imccyu
bb489d1325 fix(release): align the package-invariant and public-link gates
The invariant companion rule pinned @deepseek-ai/dsh-invariants to a ^0.0.1
peerDependency, which the workspace protocol replaces; it now requires
workspace:^ like every other workspace-internal reference.

The release note stated the provenance risk by naming the internal repository,
which the public-link gate rejects in tracked files. It now states the same
constraint without naming it.
2026-08-11 00:46:04 +08:00
imccyu
a943e67798 feat(release): bump and commit a release family in one command
release:dsh takes major, minor, patch, or an explicit version and writes one
version across the family; release:vendor takes none and increments each
package's own patch, but only for packages whose published payload changed since
their vendor-<package>-v* tag. That tag is the record of the commit a package
last published from, so the change judgement needs no state file, and the diff
is filtered through the manifest's files rules - editing a vendored comment does
not trigger a release.

Both refresh the lockfile, commit, and print the tag to create after the commit
merges. --dry-run reports the plan and writes nothing.

Incrementing the release numbers is also what drops an upstream prerelease
segment: cordis 4.0.0-rc.7 publishes as 4.0.1, because a prerelease version
would not satisfy a consumer's plain range.
2026-08-11 00:36:39 +08:00