Commit Graph
4933 Commits
Author SHA1 Message Date
Tianyi Cui 8a7472d11d Merge remote-tracking branch 'origin/master' into web-e2e-lane
# Conflicts:
#	docs/testing.md
2026-07-24 23:11:00 +08:00
Tianyi Cui 1e78054a78 ci: retrigger workflows (push event for 7a4cd7857 was dropped by Actions) 2026-07-24 23:04:57 +08:00
Tianyi Cui 13345fdadc docs(i18n): re-record web e2e note pair after the scaffold rename
The rename commit edited both sides of the bilingual pair but missed the
re-record; the pairing gate compares blob hashes and went red.
2026-07-24 22:46:04 +08:00
Tianyi Cui b97b1b4a3f Merge pull request #343 from deepseek-harness/docs/i18n-batch-core
docs(i18n): publish Chinese core documentation and Agent Notes
2026-07-24 22:28:46 +08:00
Tianyi Cui 6d3c25f494 refactor(web-e2e): rename harness -> scaffold; add interaction coverage
The shared test module was named harness.ts inside a repo whose product
IS a harness — hopelessly ambiguous. Renamed to scaffold.ts with
launchWebScaffold/WebScaffold; tsconfig plane-split entries, the seam
JSDoc/README mentions, and both Agent Note languages updated.

Both scenarios gain a Playwright interaction step over the settled
transcript (after the golden capture, so committed aria surfaces stay
untouched): replay-round-trip clicks the reasoning fold open/closed over
wire-delivered state; seeded-history expands a read tool row rebuilt from
the cold log and asserts the recorded result text appears (read rows are
expand-in-place — rowExpands routes the click to the inline fold, not the
details column). test:web 30 passed | 1 skipped.
2026-07-24 22:18:19 +08:00
Tianyi Cui 158c5e913a docs(i18n): refresh persistence docs after master merge 2026-07-24 21:27:22 +08:00
Tianyi Cui d847b48479 Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master 2026-07-24 21:21:22 +08:00
Tianyi Cui 2584f029bc Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master
# Conflicts:
#	docs/cookbook/extension-cookbook.i18n.yaml
#	docs/cookbook/extension-cookbook.zh.md
2026-07-24 21:20:17 +08:00
Tianyi Cui 478d9c17b2 Merge pull request #582 from deepseek-harness/codex/sqlite-metadata-contracts
fix(sqlite): preserve session metadata contracts
2026-07-24 21:14:06 +08:00
Tianyi Cui 46dfd503e0 Merge origin/master into codex/sqlite-metadata-contracts 2026-07-24 21:07:23 +08:00
Tianyi Cui 8f97f95d7b docs(i18n): bilingual pair for the web e2e lane Agent Note
Chinese counterpart translated per the terminology table and the
2026-07-18 TUI note's register; switcher lines added on both sides; pair
recorded. doc-sync 24/24.
2026-07-24 21:06:54 +08:00
Tianyi Cui 199f59dc5e Merge pull request #344 from deepseek-harness/docs/i18n-batch-cds-postmortem
docs(i18n): core-data-structures and postmortem batch — 22 bilingual pairs
2026-07-24 20:58:42 +08:00
Tianyi Cui 19117d68f1 Merge pull request #345 from deepseek-harness/docs/i18n-batch-rfc
docs(i18n): RFC tree batch — 146 bilingual pairs via the committed pipeline
2026-07-24 20:58:25 +08:00
Tianyi Cui aef844e2e6 Merge pull request #591 from deepseek-harness/fix/goal-completion-strict-fields
fix(goal): loosen restriction for toolcall arguments
2026-07-24 20:52:23 +08:00
Tianyi Cui 9e691d54c0 fix(goal): normalize strict-schema fillers 2026-07-24 20:45:23 +08:00
Tianyi Cui 145ba169f6 Merge commit 'refs/codex-unblock/20260724/pr591-base-current' into worktree/unblock-pr-591-ci-20260724 2026-07-24 20:32:02 +08:00
Tianyi Cui d08050ab69 chore(web-e2e): gate fixes — catalog, budgets, knip
Regenerate config-catalog for the llm-replay paceMs row; condense the
testing.md web-lane entry to pointer form and raise its ceiling 1020->1060
(the two-sentence tier entry for a genuinely new surface does not fit the
old ceiling after relocation-first trims); internalize two harness helpers
knip flagged (rawSessionLog/normalizeAria are module-internal).
2026-07-24 20:30:33 +08:00
Tianyi Cui 15eb71fd7f Merge pull request #575 from deepseek-harness/feat/send-unify
feat(agent): unify send(target × wakeup) and coalesce context/message into user/message
2026-07-24 20:19:53 +08:00
Tianyi Cui 6a78b2cb2e Merge branch 'master' into feat/send-unify 2026-07-24 20:07:46 +08:00
_Kerman 6cb6d87ff3 Merge pull request #602 from deepseek-harness/xtr/rfc-context-injection-semantics
docs(agent): propose context injection semantics
2026-07-24 20:06:24 +08:00
Tianyi Cui 2cd37e2765 docs(testing): web e2e lane docs + Agent Note to implemented
testing.md gains the web browser snapshot tier entry (divergent
DSH_SNAPSHOT=... test:web commands) and names apps/web/tests/snapshots/
as the web surface's snapshot home. The GUI testing note's tier map and
lane map gain the e2e scenarios (both languages, pair re-recorded) and
drop the stale verify-session-real references (those scripts left with
the missions/ tree). packages/client/AGENTS.md check ladder covers the
wire-carriage trigger and refresh/record commands. acp-snapshot README
stops claiming the whole package is ACP-specific — its normalizers are
transport-neutral with three consumers now. vitest.web.config.ts header
carries TODO(ci-browser) with the staged-reversal pointer.

The design-study Agent Note moves proposed/ -> implemented/ rewritten in
present tense: all review decisions recorded (llm:false seam over the
placeholder-key hack, providers-mode replay, whenIdle barrier stack,
single aria golden + anchors, TUI-style inline modes over a suite
factory, scrub-only header stance, CI deferral) with re-entry triggers
under Deferred.
2026-07-24 19:57:27 +08:00
Tianyi Cui 46b9a91e55 test(web): keyless browser e2e lane — replayed round trip + seeded cold resume
apps/web/tests/harness.ts boots the real web assembly in-process
(startHost llm:false -> installLlmReplay providers-mode -> mountWebPlugins
-> startWebServer) under DSH_SNAPSHOT replay/record/refresh. Barrier
stack: in-process turn/end -> agent.whenIdle (covers the persistence
flush) -> browser settled-poll. Seeding goes through the real persistence
API (semantic-checkpoint precedent); record harvests fixtures from live
session memory and tokenizes {{sessionId}}/{{cwd}}; refresh is the sole
golden writer. Console tripwires fail scenarios on reconnect/gap-repair
self-healing; harness close asserts full replay-fixture consumption.

Scenarios, each with fixtures recorded against THIS assembly via a live
model run: replay-round-trip (real composer -> real bash echo -> settled
markdown + aria golden + world-state event asserts) and seeded-history
(cold sidebar list -> implicit resume on open -> history tool cards from
the log, zero model calls). apps/web/tests are host-plane programs:
excluded from the client-registered apps/web project, included in
tsconfig.host.json (one program cannot hold both Context merge sides).
2026-07-24 19:49:02 +08:00
Tianyi Cui 985aceaa75 Merge branch 'master' into feat/send-unify 2026-07-24 19:40:38 +08:00
Tianyi Cui 51f697db50 test(tui): wait for scoped file completion
The fake terminal retains earlier autocomplete frames, so the directory follow-up assertion could pass before the scoped lookup completed. Wait for the quoted file mention to be applied before submitting.
2026-07-24 19:38:31 +08:00
_Kerman 8d30062a17 Merge branch 'master' into xtr/rfc-context-injection-semantics 2026-07-24 19:37:30 +08:00
Tianyi Cui f1fd9940c3 Merge commit 'de939d19b95074595910f2e53e463810094a297c' into worktree/pr345-retarget-stack 2026-07-24 19:33:08 +08:00
Tianyi Cui 0c8733bf47 Merge commit 'fd85df3d7f1c4904b9efd2066af230957b6c468b' into worktree/pr344-retarget-stack 2026-07-24 19:32:53 +08:00
Tianyi Cui 86d16d15b6 Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master 2026-07-24 19:32:25 +08:00
Tianyi Cui fe84b446b0 Merge pull request #584 from deepseek-harness/worktree/fix-python-sdk-nested-subagent-notifications
fix(python-sdk): track recursive subagent notifications
2026-07-24 19:30:48 +08:00
Tianyi Cui a229b095d6 Merge branch 'master' into fix/goal-completion-strict-fields 2026-07-24 19:19:57 +08:00
Tianyi Cui e14bac2692 Merge branch 'master' into worktree/fix-python-sdk-nested-subagent-notifications 2026-07-24 19:17:03 +08:00
Tianyi Cui 1731243fa0 Merge branch 'master' into feat/send-unify 2026-07-24 19:13:11 +08:00
Tianyi Cui 9ef0193dd5 feat(host-runtime,llm-replay): keyless llm seam + replay pacing/consumption handle
BootHostOptions.llm: 'deepseek' | false — false mounts no adapter, boots
keyless, and leaves the llm capability seam open for the embedder to fill
on RunningHost.ctx (now the third sanctioned ctx use, JSDoc + README
amended); an unfilled seam fails loud with NO_ADAPTER at the first stream.

dsh-llm-replay grows two additive surfaces for the web browser e2e lane:
paceMs (validated per-chunk delay so a real transport shows incremental
delivery; abort during a pace wait cancels promptly) and a ReplayHandle
return — dispose() plus assertConsumed(), the teardown check that every
recorded script bound and drained, converting silent fixture underruns
into diagnostics. Existing callers updated; config catalog regenerated.
2026-07-24 19:08:10 +08:00
Tianyi Cui e51ba79e53 Merge remote-tracking branch 'origin/docs/i18n-batch-cds-postmortem' into worktree/pr345-retarget-stack 2026-07-24 19:06:12 +08:00
Tianyi Cui 40ebf2e97f Merge remote-tracking branch 'origin/docs/i18n-batch-core' into worktree/pr344-retarget-stack 2026-07-24 19:05:26 +08:00
Tianyi Cui 572352fa0f Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master 2026-07-24 19:01:57 +08:00
Tianyi Cui fd6713b496 docs(testing): propose keyless browser e2e lane for the web GUI
Design study for a deterministic, keyless browser e2e lane over the real
assembled web chain (chromium -> SSE/HTTP wire -> apiproxy -> agent loop ->
persistence), replayed through dsh-llm-replay from recorded session-log
fixtures, with aria-tree goldens plus in-process world-state assertions.

Synthesized from an OSS prior-art survey (LibreChat, ai-chatbot, lobe-chat,
OpenHands, cline, aimock...), a repo seam deep-dive, and three adversarial
critiques (doctrine, flakiness, YAGNI). Records the settled shape (no new
package, no suite factory, seed via the real persistence API, whenIdle
barrier stack, no transient-DOM assertions) and the open questions (LLM
seam, Loader-izing dsh web, header pin, golden breadth, settled signal).
2026-07-24 18:55:37 +08:00
Turtle 8975f12272 Merge pull request #593 from deepseek-harness/feat/examples-third-party-llm-docs
chore(examples): declare @deepseek-ai/dsh-llm-pi-ai as an example dep
2026-07-24 18:54:33 +08:00
Turtle e525b68106 Merge branch 'master' into feat/examples-third-party-llm-docs 2026-07-24 18:48:01 +08:00
Tianyi Cui 1769fae588 Merge remote-tracking branch 'origin/docs/i18n-batch-cds-postmortem' into worktree/pr345-retarget-stack 2026-07-24 18:38:52 +08:00
Tianyi Cui b65421431b docs(i18n): complete Agent Note translation fidelity 2026-07-24 18:38:27 +08:00
Tianyi Cui 6865b861d8 docs(site): preserve translated core fragment ids 2026-07-24 18:32:31 +08:00
Tianyi Cui cf1fcd6871 Merge remote-tracking branch 'origin/docs/i18n-batch-cds-postmortem' into worktree/pr345-retarget-stack 2026-07-24 18:12:45 +08:00
Tianyi Cui da3c12e548 docs(i18n): clarify subagent shutdown escalation 2026-07-24 18:12:16 +08:00
Tianyi Cui ac93d00541 docs(site): publish translated core data pages 2026-07-24 18:07:56 +08:00
Tianyi Cui da01b91c63 Merge refreshed #344 into docs/i18n-batch-rfc 2026-07-24 17:42:04 +08:00
Tianyi Cui b7a8a97034 Merge refreshed #343 into docs/i18n-batch-cds-postmortem 2026-07-24 17:39:54 +08:00
Tianyi Cui 0191a014dd docs(i18n): preserve authority constraints 2026-07-24 17:39:22 +08:00
Tianyi Cui 305930712b docs(i18n): bind authority terminology 2026-07-24 17:39:11 +08:00
Turtle 081bb1a8fd Merge remote-tracking branch 'origin/master' into feat/send-unify
# Conflicts:
#	packages/client/runtime/src/client/sessions/fold-adapter.ts
2026-07-24 17:17:35 +08:00