Commit Graph

10086 Commits

Author SHA1 Message Date
Tianyi Cui
ed808adef3 Merge remote-tracking branch 'refs/remotes/origin/master' into worktree/fix-pr1145-revised-guard-20260808 2026-08-08 15:30:59 +08:00
Tianyi Cui
dc64c5f1c2 fix: guard human interaction by runtime ownership 2026-08-08 15:30:08 +08:00
Tianyi Cui
408de0f588 docs: propose semantic composer chain phases 2026-08-08 15:29:53 +08:00
Tianyi Cui
ec556b7ced docs: refresh replay config source link 2026-08-08 15:29:36 +08:00
Tianyi Cui
49dff10abd fix(workspace-context): commit projections after tool steps 2026-08-08 15:29:36 +08:00
Tianyi Cui
37e4e1585b fix(compact): enforce replay provenance 2026-08-08 15:28:35 +08:00
Tianyi Cui
8dcfe5c406 fix(replay): mark local compaction calls 2026-08-08 15:28:35 +08:00
Tianyi Cui
d301dbdc7d Merge pull request #1995 from deepseek-harness/worktree/remove-dsh-cli-demo
cleanup(cli): remove separate dsh-cli-demo app
2026-08-08 15:26:56 +08:00
Yichen Jiang
ebd3a87834 fix(web): stabilize compact card snapshots 2026-08-08 15:24:50 +08:00
Tianyi Cui
90f9038061 docs(graph): refresh loader-smoke dependencies 2026-08-08 15:14:59 +08:00
Yichen Jiang
b3a53c1e51 fix(client): address sidebar activity review 2026-08-08 15:14:29 +08:00
Tianyi Cui
1107db0fbb Merge pull request #1989 from deepseek-harness/worktree/fix-typert-source-plane-20260808
fix(typert): prepare Remote contracts before source gates
2026-08-08 15:13:06 +08:00
Tianyi Cui
be3e4ac455 fix(test): address cli demo cleanup review feedback 2026-08-08 15:08:07 +08:00
Tianyi Cui
dc57f7d854 cleanup(cli): remove dsh-cli-demo 2026-08-08 15:08:07 +08:00
Tianyi Cui
bdd2f49df7 fix(cli): address dsh run review feedback 2026-08-08 15:05:50 +08:00
Tianyi Cui
65e5513a28 Merge remote-tracking branch 'origin/master' into worktree/fix-pr1145-revised-guard-20260808
# Conflicts:
#	packages/ui/tool-ask-user/README.i18n.yaml
#	packages/ui/user-interaction/README.i18n.yaml
2026-08-08 15:03:53 +08:00
Tianyi Cui
0411196489 fix(gates): address TypeRT review gaps 2026-08-08 15:03:23 +08:00
Tianyi Cui
4b73aa153e test(gates): isolate TypeRT graph assertions 2026-08-08 15:03:23 +08:00
Tianyi Cui
00ed703c21 test(i18n): refresh development prompt snapshot 2026-08-08 15:03:23 +08:00
Tianyi Cui
f91fd2269d fix(typert): prepare remote contracts for source gates 2026-08-08 15:03:23 +08:00
Yichen Jiang
7aca4c6b94 Merge branch 'master' into worktree/merge-compact-card 2026-08-08 14:45:55 +08:00
Yichen Jiang
e9103ad5ee Merge branch 'master' into worktree/sidebar-subagent-activity 2026-08-08 14:44:48 +08:00
Tianyi Cui
7ab20890e6 Merge pull request #2036 from deepseek-harness/worktree/harden-private-repository-link-gate-20260808
ci: harden private repository link gate
2026-08-08 14:42:45 +08:00
Yichen Jiang
04e6a98064 feat(client): surface subagent activity in sidebar 2026-08-08 14:42:14 +08:00
Yichen Jiang
63f88997bb fix(web): preserve compact icon until hover 2026-08-08 14:36:03 +08:00
Huanqi Cao
91d3ed6c5a fix(sandbox): address the ACL backend review findings — quoting, DACL merge+lock, failure paths
quoteArg doubles end-of-string backslashes (real CommandLineToArgvW round-trip test; first-token exemption noted); grantWrite merges into the current DACL instead of replacing it, and both grant/revoke hold a LockFileEx per-path lock under GetTempPathW/dsh-acl-locks (koffi crashes on NULL lpOverlapped — a zeroed OVERLAPPED is used); GRANT_MASK gains DELETE|FILE_DELETE_CHILD (never WRITE_DAC/WRITE_OWNER) though the win32 26200 second check only constrains the WRITE bit; failure paths close all handles (CreateProcessAsUserW pipe set, ResumeThread thread/process/job) with stub-api tests; getTempPathW refuses undersized buffers; drainPipe backs off; runner.spec pwshAvailable uses the resolvePwshPath probe; NTSTATUS exit codes mirror bit-exact (verified end-to-end); WinLocalSid JSDoc re-attributed to WinLocalLogonSid. All gates green: 42 passed/2 skipped, typecheck, oxlint, 0 clones, constraints, knip.
2026-08-08 14:32:01 +08:00
Tianyi Cui
a8879430f0 ci: harden private repository link gate 2026-08-08 14:24:28 +08:00
Yichen Jiang
915a56208d Merge pull request #1977 from deepseek-harness/worktree/pi-ai-per-model-reasoning
feat(llm-pi-ai): per-model reasoning efforts, dialect switches, and modelOverrides in settings.yaml
2026-08-08 14:23:07 +08:00
Tianyi Cui
e8ee305b7b test(snapshot): refresh dsh run translation prompt fixture 2026-08-08 14:21:42 +08:00
Tianyi Cui
33a7b1284e test(snapshot): keep dsh run plugin metadata static 2026-08-08 14:21:42 +08:00
Tianyi Cui
21c380be52 docs(agent-notes): archive superseded dsh entrypoint decision 2026-08-08 14:21:42 +08:00
Tianyi Cui
f32aa54aeb feat(cli)!: make dsh run the headless entrypoint 2026-08-08 14:21:42 +08:00
Yichen Jiang
f50521ac4c Merge pull request #2002 from deepseek-harness/feature/issue-1470-skill-invoke
feat(skill): deterministic user-explicit skill invocation at the pre-step gesture boundary
2026-08-08 14:17:52 +08:00
Tianyi Cui
02d81f8178 Merge pull request #1974 from deepseek-harness/worktree/retire-fixmes-20260807
cleanup: retire FIXMEs without private repository links
2026-08-08 14:14:14 +08:00
Yichen Jiang
1db327ea6c feat(web): merge compact status and summary cards 2026-08-08 14:11:26 +08:00
Tianyi Cui
cc407a2672 Merge pull request #1982 from deepseek-harness/worktree/dedupe-issue-lifecycle-reviews-20260808
cleanup: skip redundant Issue lifecycle ready runs
2026-08-08 14:04:57 +08:00
Yichen Jiang
18dee248a6 Merge remote-tracking branch 'origin/master' into feature/issue-1470-skill-invoke
# Conflicts:
#	docs/module-graph.md
2026-08-08 14:03:29 +08:00
Yichen Jiang
ed492077a5 test(tool-skill): cover reject passthrough and non-text block scanning 2026-08-08 14:03:03 +08:00
Tianyi Cui
67a92226cf Merge pull request #961 from deepseek-harness/worktree/stable-snapshot-message-ids-20260730
fix(snapshot): retain unchanged message IDs
2026-08-08 14:01:07 +08:00
Yichen Jiang
7f138f3f5c test(examples): re-record catalog stitch sentence in agent-spine inline snapshot 2026-08-08 13:52:47 +08:00
Huanqi Cao
fa591b5ebd docs(sandbox): record the DACL churn limitation and the win32 snapshot substitution
Known Limitations gains the per-command DACL mutation entry (inheritance is lazy, not a per-file walk; per-session grant reuse is deferred work); the design note gains a Testing section stating why the win32-only roster flip cannot ride macOS/Linux snapshot fixtures and naming the substitute evidence.
2026-08-08 13:44:10 +08:00
Huanqi Cao
2ecfe383c7 fix(cli): resolve the pwsh-sandbox layer row from the cold-start module closure
The launcher's healProfilesModuleFallback BFS-links the apps/cli dependency closure into the profile's node_modules (the pwsh-local precedent): without dsh-pwsh-sandbox in apps/cli dependencies, a fresh Windows host cannot resolve the inserted row. Assert the closure reaches both inserted packages in the real-layers composition; rewrap the windows-shell layer comment.
2026-08-08 13:44:05 +08:00
Yichen Jiang
2b6836a6fe fix(vendor): widen include's writeTask for exactOptionalPropertyTypes
The debounced writer assigns undefined on flush, which a plain optional
NodeJS.Timeout rejects under exactOptionalPropertyTypes; the error had
been masked by stale build state until a residue cleanup invalidated it.
Logged as local modification 14 in the vendor manifest.
2026-08-08 13:16:27 +08:00
Yichen Jiang
0d53752c49 refactor(host)!: retire the skill.invoke RPC for the gesture boundary
Invocation is an ordinary session.prompt again: the pre-step gesture
boundary makes it deterministic host-side for every front end, so the
dedicated RPC (handler, wire schema, error codes, client face, fixtures)
and ui-skill's claim machinery are net deletions. The menu keeps decision
21 exactly — a pick lands literal /name text — plus the user-only marker
from skill.list's modelInvocable flag.
2026-08-08 13:15:52 +08:00
Yichen Jiang
c08fa27e5c feat(tool-skill): inject user-invoked skills at the pre-step gesture boundary
A whitespace-bounded /name token anywhere in a claimed user message,
naming a user-invocable skill in the workspace directory, now injects that
skill's renderSkillContent as instructions context appended after every
other injection of the step — the same agent/pre-step seam the catalog,
workspace instructions, and the runtime snapshot ride. Closed-set matching
mirrors the command registry (a miss stays plain prose), only user-source
messages are scanned, the policy check runs on the loaded definition, and
this is the sole entry point for disable-model-invocation skills. The
catalog's no-reload sentence now names the gesture boundary.
2026-08-08 13:14:49 +08:00
imccyu
0284e9c0b6 Merge pull request #1997 from deepseek-harness/feat/tsbuild2
build: order Host-generated Remote contracts before Client compilation
2026-08-08 12:53:01 +08:00
imccyu
8fc9032d71 test: refresh translation prompt snapshot 2026-08-08 12:36:50 +08:00
Huanqi Cao
83f288993f fix(sandbox): mark the pwsh-sandbox executor's deliberate twin mirror for the clone gate
The duplication gate flags the call-for-call mirror of bash-sandbox's executor (the pwsh-tool-and-executor decision): wrap the class body in jscpd ignore markers, the same convention the invariant companions use.
2026-08-08 12:35:27 +08:00
imccyu
863abcb427 build: enforce split project reference faces 2026-08-08 12:25:41 +08:00
Huanqi Cao
e660ec8cf5 fix(sandbox): pack the windows-acl rung in the publish-path rehearsal
sandbox-local now depends on @deepseek-ai/dsh-sandbox-windows-acl, so the packed-install e2e must carry its tarball in the workspace closure — npm cannot resolve the private package from the registry. koffi and the shared peers (dsh-invariants, cordis) already resolve from the registry or the existing closure.
2026-08-08 12:20:49 +08:00