Commit Graph
7110 Commits
Author SHA1 Message Date
Turtle a7fc81d745 docs: replace front door terminology 2026-08-10 13:07:46 +08:00
imccyu 6648ff984a Merge pull request #1817 from deepseek-harness/feat/web-queue-steer-all
feat(web): 空输入时 Ctrl/Cmd+Enter 将当前排队消息全部插话发送
2026-08-10 12:58:20 +08:00
Huanqi Cao c9285753de Merge branch 'merge/1829-master' into merge/1990-1829
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
2026-08-10 12:35:32 +08:00
Huanqi Cao 2a6aba0f48 Merge remote-tracking branch 'origin/master' into merge/1829-master
# Conflicts:
#	apps/cli/package.json
#	pnpm-lock.yaml
2026-08-10 12:32:14 +08:00
Huanqi Cao ad54135d43 fix(sandbox-local): block-body the default rmTempDir fallback
The arrow shorthand implicitly returns rmSync's void, which the
no-confusing-void-expression rule forbids; the block body keeps the
fallback without the violation.
2026-08-10 12:30:39 +08:00
Yichen Jiang b87e2240bf Merge pull request #1543 from deepseek-harness/stack/agent-profiles-8-authoring
feat(web): author agent presets from a settings page
2026-08-10 11:55:58 +08:00
Yichen Jiang 803f1fe876 Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-8-authoring 2026-08-10 11:42:16 +08:00
Yichen Jiang 0d9b97bf7b docs(core): regenerate the cordis catalog for the recompose binding contract
The re-link now runs through the mount-time binding, and the method's
JSDoc says so; the generated core surface and the runtime API catalog
follow it.
2026-08-10 11:42:06 +08:00
Yichen Jiang 2be0e6c522 Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-8-authoring
# Conflicts:
#	packages/preset/agent-presets/src/index.ts
#	packages/preset/agent-presets/tests/mount.spec.ts
2026-08-10 11:25:14 +08:00
Huanqi Cao a3a91aa654 Merge branch 'merge/1829-master' into merge/1990-1829
# Conflicts:
#	vitest.config.ts
2026-08-10 11:24:58 +08:00
Yichen Jiang bdcf940eea fix(agent-presets): re-link recompose through the mount-time binding
The auto-merge kept recompose on the removed open re-link. It now moves
the binding this roster kept from the agent's mount; an agent that never
composed one has nothing to re-link, so the switch is its first bind —
exactly a mount — and once bound only the kept binding can move it.
2026-08-10 11:23:49 +08:00
Huanqi Cao a7b973757b Merge remote-tracking branch 'origin/master' into merge/1829-master 2026-08-10 11:23:08 +08:00
Yichen Jiang 39982843f6 Merge branch 'stack/agent-profiles-3-wire' into stack/agent-profiles-5-web-ui 2026-08-10 11:18:49 +08:00
Yichen Jiang 68f1488770 Merge branch 'stack/agent-profiles-1-seam' into stack/agent-profiles-3-wire
# Conflicts:
#	packages/preset/agent-presets/src/index.ts
2026-08-10 11:18:41 +08:00
Yichen Jiang 1eb9acaba9 refactor(scope): bind the parent link once and gate re-linking behind the binding
setScopeParent could re-link any key from anywhere, leaving the
blank-session-only recompose rule entirely to caller discipline. The
relation now binds once — a second bind throws — and re-linking exists
only on the ScopeParentBinding returned to the original binder, the
private-capability shape the package conventions prescribe for a
single-caller operation. The preset roster keeps each composed agent's
binding in a WeakMap keyed by the agent, making it the sole authority
that can move an agent between standing compositions; the blank-session
contract itself stays with the gateway, which alone can see what a
session logged.
2026-08-10 11:17:04 +08:00
Huanqi Cao ee38c2540b Merge branch 'merge/1829-master' into merge/1990-1829 2026-08-10 11:12:52 +08:00
Huanqi Cao 2474b6e638 Merge remote-tracking branch 'origin/master' into merge/1829-master
# Conflicts:
#	scripts/project-doc-site.spec.ts
2026-08-10 11:12:39 +08:00
_Kerman 2e9f24b58e Merge remote-tracking branch 'github/master' into feat/web-queue-steer-all
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/README.zh.md
#	packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
#	packages/client/ui-conversation/tests/input-bar.spec.tsx
#	packages/client/ui-conversation/tests/service-orchestration.spec.ts
2026-08-10 10:21:56 +08:00
Huanqi Cao 976020f2bb refactor(sandbox): derive the private temp dir; drop the acl-session record
The durable sandbox/acl-session event carried a workspace binding that
always equals the session cwd and a random temp path that only needed
to be stable per session. Both are now derived: the temp subdirectory
is sha256(session id + workspace), created exclusively and removed on
provider dispose, so fork/resume semantics fall out of the derivation
and the record, its fold/provision/tamper validation, the immediate
flush kick, and the session-store dependency all disappear.
2026-08-10 01:03:29 +08:00
Yichen Jiang d2aa66c4d6 fix(agent-presets): unify the session event entrypoint and re-address the hermetic skills probe
The persistence catalog recognizes SessionEventMap augmentations of
'@deepseek-ai/dsh-session/types' alone, so the selected event's old
root-specifier declaration compiled but silently vanished from the
generated catalog. The hermetic scaffold e2e still addressed the skill
registry as a preset-realm service; under the layered host registry the
composed agent's view is a scope read, and the ambient-root isolation it
proves is unchanged.
2026-08-09 23:42:44 +08:00
Tianyi Cui 92a00d6593 Merge remote-tracking branch 'origin/worktree/ci-native-windows-coverage-20260808' into worktree/ci-native-windows-multicore-20260809 2026-08-09 23:27:08 +08:00
Tianyi Cui 5ba7455091 test(settings): make invalid watcher edit atomic 2026-08-09 23:25:38 +08:00
Huanqi Cao a29966b71f Merge branch 'feat/windows-pwsh-default' into feat/windows-acl-sandbox
# Conflicts:
#	.agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.md
#	.agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.zh.md
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	packages/bash/tool-pwsh/README.i18n.yaml
#	packages/bash/tool-pwsh/README.md
#	packages/bash/tool-pwsh/README.zh.md
2026-08-09 23:19:14 +08:00
Yichen Jiang feac8ab1ac fix(agent-presets): declare the selected event on the unified session types entrypoint
The persistence catalog recognizes augmentations of
'@deepseek-ai/dsh-session/types' alone, so the old root-specifier
declaration compiled but silently vanished from the generated catalog; the
Agent Note also drops its internal repository link for the public-links
gate, and the persistence catalog pair re-records with the restored
agent-preset section.
2026-08-09 23:18:05 +08:00
Yichen Jiang d5af34b022 fix(headless): align the one-shot runner with the direct rosterless profile
The shipped headless profile is base + headless (the direct-core front
door), and its installation-owned migration rewrites the old three-bundle
tuple down to that template, so a one-shot run composes no preset roster.
The runner's optional preset composition was compensating in the wrong
direction: it re-added roster reads the shipped profile never satisfies,
and its golden pinned a header field only a roster-bearing deployment
produces. The runner, the headless bundle manifest, and the dsh-run golden
return to the direct shape; skills in a direct run flow through the base
host rows' global layer, which is what the repository-plugin e2e proves.
2026-08-09 23:12:29 +08:00
Yichen Jiang 7dcefeda50 Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-8-authoring
# Conflicts:
#	apps/cli/tests/web-agent-presets.e2e.ts
#	packages/client/connection/README.i18n.yaml
#	packages/client/connection/README.md
#	packages/client/connection/README.zh.md
#	packages/client/ui-conversation/src/client/contract/slots.ts
#	packages/client/ui-primitives/tests/icons.spec.tsx
#	packages/client/ui-settings/src/client/contract/slots.ts
#	packages/host/apiproxy/tests/api-proxy-agent-preset.spec.ts
2026-08-09 23:02:37 +08:00
Huanqi Cao 2720091429 Merge remote-tracking branch 'origin/master' into feat/windows-pwsh-default
# Conflicts:
#	.agents/notes/proposed/feature/2026-08-01-windows-pwsh-default.i18n.yaml
#	.agents/notes/proposed/feature/2026-08-01-windows-pwsh-default.md
#	.agents/notes/proposed/feature/2026-08-01-windows-pwsh-default.zh.md
2026-08-09 22:59:34 +08:00
Yichen Jiang 877364f7a4 Merge branch 'stack/agent-profiles-3-wire' into stack/agent-profiles-5-web-ui
# Conflicts:
#	packages/client/ui-conversation/tests/input-bar.spec.tsx
2026-08-09 22:57:23 +08:00
Yichen Jiang 4926b296c4 Merge branch 'stack/agent-profiles-1-seam' into stack/agent-profiles-3-wire
# Conflicts:
#	docs/persistence-catalog.i18n.yaml
#	docs/persistence-catalog.md
#	docs/persistence-catalog.zh.md
2026-08-09 22:56:44 +08:00
Yichen Jiang 51ca900d4e Merge remote-tracking branch 'origin/master' into stack/agent-profiles-1-seam 2026-08-09 22:54:57 +08:00
Tianyi Cui 81206cd60c Merge remote-tracking branch 'origin/worktree/ci-native-windows-coverage-20260808' into worktree/ci-native-windows-multicore-20260809
# Conflicts:
#	.agents/notes/implemented/process/2026-08-08-native-windows-pull-request-ci.i18n.yaml
2026-08-09 22:50:48 +08:00
Yichen Jiang 0d7106d902 Merge branch 'stack/agent-profiles-3-wire' into stack/agent-profiles-5-web-ui
# Conflicts:
#	apps/cli/tests/web-agent-presets.e2e.ts
#	packages/host/apiproxy/tests/api-proxy-agent-preset.spec.ts
2026-08-09 22:48:47 +08:00
Tianyi Cui 681f7c1315 test(windows): terminate worker fixtures from host 2026-08-09 22:41:38 +08:00
Yichen Jiang 4b628a8703 docs(skill): document the layered registry and record the Agent Note
The skills subsystem page and dsh-skill README describe the host+per-scope
layers, SkillViewOptions joins the type-equiv corpus and the cordis-catalog
type pages, generated catalogs pick up the shifted source refs, and the
architecture Agent Note records the decision, the nearest-layer-wins
precedence choice, and the rejected alternatives.
2026-08-09 22:29:53 +08:00
Yichen Jiang 0b2f32740d Revert "test(repository-plugin): drop the skill contribution from the preset-composed e2e"
This reverts commit f12c131ee9fdbc01b9294c8dc2c73cd36ab717cf.

The layered host skill registry closes the gap the bypass recorded: a
repository plugin's skill root registers into the global layer and reaches
every preset-composed session's catalog, so the fixture declares its skill
root again and the e2e proves the full skill, MCP, and TypeScript
contribution set. The accidental .claude/launch.json from that commit goes
with it.
2026-08-09 22:10:50 +08:00
Yichen Jiang 4788569889 feat(skill): layer the host skill registry per scope like the tools registry
The skills capability moves back to the host plane as one singleton, layered
with the ScopedLayers infrastructure the tools registry established: a
registration files into its calling context's layer (repository plugins and
host rows land global, a preset's skill-local lands in that preset's layer),
and a read merges the global layer with the viewing scope's chain, the
nearest layer winning duplicate names outright while rank keeps deciding
duplicates within one layer.

The web-app bundle re-enables the base skill registry row (skill-local and
tool-skill stay preset-owned), the standard preset drops its isolate skills
realm for bare rows over the host registry, tool-skill passes the calling
agent as the view scope, and the gateway's skills domain reads the host
registry in the presenter scope — a cold session now resolves its recorded
preset's standing key instead of failing.
2026-08-09 22:10:38 +08:00
Tianyi Cui e079304894 Merge branch 'worktree/ci-native-windows-coverage-20260808' into worktree/ci-native-windows-multicore-20260809
# Conflicts:
#	.agents/notes/implemented/process/2026-08-08-native-windows-pull-request-ci.i18n.yaml
2026-08-09 21:56:52 +08:00
Tianyi Cui 525ea43f0b Merge branch 'worktree/ci-native-windows-20260808' into worktree/ci-native-windows-coverage-20260808
# Conflicts:
#	packages/subagent/subagent-codex/README.i18n.yaml
#	packages/subagent/subagent-codex/README.md
#	packages/subagent/subagent-codex/README.zh.md
2026-08-09 21:52:02 +08:00
Tianyi Cui bf38526354 Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808
# Conflicts:
#	.agents/notes/archived/process/2026-07-27-wine-windows-gates-experiment.i18n.yaml
2026-08-09 21:48:01 +08:00
Tianyi Cui 3fb06728be test(windows): cover portable credential stat errors 2026-08-09 21:45:06 +08:00
Yichen Jiang 7ea8bad7ee Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-8-authoring
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	docs/subsystems/tools.i18n.yaml
#	docs/subsystems/tools.md
#	docs/subsystems/tools.zh.md
#	examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
2026-08-09 21:38:26 +08:00
Yichen Jiang 19b6a41564 Merge branch 'stack/agent-profiles-3-wire' into stack/agent-profiles-5-web-ui
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	scripts/doc-budgets.manifest.json
2026-08-09 21:36:55 +08:00
Yichen Jiang 5aa10901ad Merge branch 'stack/agent-profiles-1-seam' into stack/agent-profiles-3-wire
# Conflicts:
#	examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
2026-08-09 21:35:37 +08:00
Yichen Jiang 0eff417b2a Merge remote-tracking branch 'origin/master' into stack/agent-profiles-1-seam 2026-08-09 21:33:45 +08:00
Tianyi Cui 54b898463c fix(rebase): drop transcript-adapter files resurrected over master's deletion
Master's conversation-node engine deleted transcript-adapter.ts and its
spec; the rebase's modify/delete conflicts were staged as keep-ours,
resurrecting both with a stale dsh-compact import. Remove them; the
purge edits they carried died with the files upstream.
2026-08-09 21:20:18 +08:00
Tianyi Cui eeacdd4790 docs: fix round-3 review findings — §/used-to/v1 residuals, zh stamp example, budget freeze honored
Delete the three §-citation residuals (web-app cordis.patch.yml, two
client design.md §-headers); recast the two CSS used-to narrations and
hmr's four v1 labels as current-state prose; narrow the zh exemption
example to 'this cut' (「本版本」 legitimately renders 'This version');
extend the candidate gate list with the post-battery shapes (§\d with a
committed-owner carve-out, 'used to', bare v1) on both sides and
re-record; honor the over-target ceiling freeze — docs/AGENTS.md
condensed to 1320 and the ceiling restored to 1320.
2026-08-09 21:11:59 +08:00
Tianyi Cui e697bb3ca1 docs: fix re-review findings — seat-migration obligation, evidence rule moved into the standard, first-cut family settled
Restore the ReactNode seats' pending-migration obligation the earlier
rewrite had flipped into a permanent exception; state the merged-PR/issue
evidence allowance in docs/AGENTS.md itself so the citations note defers
to the standard instead of overriding it; rewrite the one current-state
'first cut' fact and record the historical-stage-name exemption (with
indexical stamps still banned); pairs re-recorded.
2026-08-09 21:10:59 +08:00
Tianyi Cui ee7458b2df docs: fix review findings — residual ordinals, hypothetical IPC row, citation-rule amendments
Purge the residual task/phase ordinals review caught ((T2), (queue cut 1)
×3, T6, P-I, 'this cut' ×6 including battery-expansion finds in two
untouched notes and a workflow JSDoc); drop the 'externally logged as
Decision 21' parenthetical and rename the remaining bare decision-21
mentions; mark the gui-layering IPC bridge row as a hypothetical example;
restore the GATE_NOTICE doc-typecheck clause and the py-types 'measured'
provenance; say subprocess-backed in filesystem.md; add the picker note
path. Amend the citations note: merged-PR evidence anchors in Agent Notes
are sanctioned, and the candidate gate patterns gain the four shapes the
sweep missed. All nine touched pairs re-recorded.
2026-08-09 21:10:59 +08:00
Tianyi Cui 25dcd7293c docs: purge chain-of-thought leakage from prose
Delete design-session citations (decision/audit/plan ordinals, stack
positions), change narration, review choreography, and reviewer-addressed
justification from comments, JSDoc, docs, READMEs, Agent Notes, tests, and
generator templates; restate every affected fact as current-state contract
prose. Fix generated docs at their sources and regenerate the catalogs and
cordis-surface regions; re-paste type-equiv blocks; update every bilingual
counterpart and re-record the pairs. Record the citation rule in the
committed-artifact-citations Agent Note.
2026-08-09 21:10:59 +08:00
Yichen Jiang 14bd07fd90 fix(headless): compose the one-shot agent from the preset roster again
The agent-default-model refactor moved the headless runner off the
api-proxy create path onto a direct agents.create, which silently dropped
the preset composition the stack had put on every dsh run session: the
header lost its agentPreset and the agent ran on the host composition
alone. Resolve the default preset up front (optional service — a roster-
less composition keeps the pre-preset behavior), record it on the header,
and mount it in setup where a broken composition still fails the run.
2026-08-09 21:05:49 +08:00