Commit Graph

2533 Commits

Author SHA1 Message Date
Tianyi Cui
e4553deced docs(i18n): re-record testing.md pair after merging master's bilingual split
The merge added the web-browser-snapshot bullet to both sides of the now
bilingual docs/testing.md; the pair record needs the post-merge hashes.
2026-07-24 23:13:03 +08:00
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
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
46dfd503e0 Merge origin/master into codex/sqlite-metadata-contracts 2026-07-24 21:07:23 +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
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
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
6865b861d8 docs(site): preserve translated core fragment ids 2026-07-24 18:32:31 +08:00
Tianyi Cui
b7a8a97034 Merge refreshed #343 into docs/i18n-batch-cds-postmortem 2026-07-24 17:39:54 +08:00
Tianyi Cui
305930712b docs(i18n): bind authority terminology 2026-07-24 17:39:11 +08:00
Tianyi Cui
6b686aa832 docs(i18n): refresh session query snapshot contract 2026-07-24 17:07:23 +08:00
Turtle
d2b2539f3e Merge remote-tracking branch 'origin/feat/send-unify' into feat/send-unify
# Conflicts:
#	docs/architecture.i18n.yaml
#	docs/architecture.md
2026-07-24 16:58:32 +08:00
Tianyi Cui
c962db28da Merge refreshed #343 into docs/i18n-batch-cds-postmortem 2026-07-24 16:57:46 +08:00
Tianyi Cui
b040c6a1c9 Merge latest master into docs/i18n-batch-core 2026-07-24 16:55:08 +08:00
Turtle
80bbe959a7 Merge remote-tracking branch 'origin/master' into feat/send-unify 2026-07-24 16:52:46 +08:00
Turtle
bb124c2869 Merge branch 'master' into feat/send-unify 2026-07-24 16:31:00 +08:00
ZiyaZhang
33ee34b58e fix(tui): make resume picker full-screen 2026-07-24 01:29:35 -07:00
Turtle
c440217fde refactor(tui): defer cross-process resume locking 2026-07-24 01:29:35 -07:00
NI0317
54d986ed87 fix(tui): close resume handoff races 2026-07-24 01:29:35 -07:00
NI0317
2ae9f4fdf3 feat(tui): add safe session resume flow 2026-07-24 01:29:35 -07:00
Tianyi Cui
46a71ecf22 docs(i18n): address final core-data review 2026-07-24 16:21:48 +08:00
Tianyi Cui
c53f9324bc Merge #343 into #344 2026-07-24 15:51:35 +08:00
Tianyi Cui
445bb89f03 docs(i18n): complete core batch review contract 2026-07-24 15:51:06 +08:00
Tianyi Cui
3122548be8 Merge #343 into #344 2026-07-24 15:16:55 +08:00
Tianyi Cui
bc329a962b docs(i18n): codify review terminology 2026-07-24 15:16:18 +08:00
Turtle
b02b438667 refactor(agent): align delivery method names 2026-07-24 15:08:36 +08:00
Tianyi Cui
1b0988c92a docs(i18n): address core translation review 2026-07-24 14:56:48 +08:00
Tianyi Cui
8345a73d97 Merge commit 'c3d9023fa' into worktree/pr344-retarget-stack 2026-07-24 14:43:09 +08:00
Tianyi Cui
9b38ccad54 docs(i18n): clarify optional rounds and test layout 2026-07-24 14:42:36 +08:00
Tianyi Cui
eceacca432 Merge commit '84ac8a3f9' into worktree/pr344-retarget-stack 2026-07-24 14:22:38 +08:00
Tianyi Cui
86d3bd6b9b docs(i18n): clarify review terminology 2026-07-24 14:21:36 +08:00
Tianyi Cui
6e4aa13632 docs(i18n): clarify Cordis and test wording 2026-07-24 14:21:15 +08:00
Tianyi Cui
9848a9542b docs: restore architecture headroom 2026-07-24 14:02:53 +08:00
Tianyi Cui
b01fc33492 Merge remote-tracking branch 'origin/feat/send-unify' into worktree/agent-message-intents
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md
#	.agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md
#	docs/cordis-catalog/events.md
#	docs/event-producer-consumer.md
#	packages/core/agent-loop/src/agent.ts
2026-07-24 13:59:37 +08:00
Tianyi Cui
d6d50deb24 refactor(agent): expose resolved input acceptance 2026-07-24 13:52:25 +08:00
Turtle
d613fdb073 fix(agent-loop): third review pass — disposal discard ordering, flush guard, docs
Address a fresh-eye review of the disposal/injection fixes:
- disposal now snapshots, clears, and marks disposed BEFORE emitting
  agent/inbox/discard (mirroring cancel's snapshot→clear→emit), so a
  re-entrant send/cancel from a discard listener throws 'disposed' or
  finds an empty inbox instead of leaking or double-discarding an id.
  The discard is unconditional (even on unpublished setup-rollback) to
  match send's unconditional enqueue, keeping every id balanced.
- restore the turnRecorded guard on the idle-injection flush: a
  turn/start rejected pre-commit (append reentrancy / internal-dispatch
  veto) records nothing and owes no flush; the previous unconditional
  flush emitted a phantom-turn agent/error. The isTurnOpen/turnRecorded
  branches are reachable (reentrant inject from a session/event
  listener) and now covered by a regression test rather than v8-ignored.
- rewrite the agent/inbox/discard event JSDoc to enumerate all three
  emitters (cancel, terminal turn-stop, disposal) — every enqueued id
  gets exactly one terminal dequeue-or-discard.

Per-file coverage stays 100%.
2026-07-24 13:39:06 +08:00
Tianyi Cui
086e454931 refactor(agent): name delivery methods by intent 2026-07-24 12:27:20 +08:00
Tianyi Cui
a96582e47a Merge docs/i18n-batch-core into docs/i18n-batch-cds-postmortem 2026-07-24 12:12:45 +08:00
Tianyi Cui
250162a2fc docs: align core catalog translations 2026-07-24 12:11:58 +08:00
Tianyi Cui
46ab745198 docs: align Goal Round step cardinality 2026-07-24 12:10:40 +08:00
Tianyi Cui
5c893bcda1 Merge docs/i18n-batch-core into docs/i18n-batch-cds-postmortem 2026-07-24 11:56:13 +08:00
Tianyi Cui
d45d999bb2 Merge latest master into docs/i18n-batch-core 2026-07-24 11:48:27 +08:00
Hypatia May
19b96037f6 fix(sqlite): enforce integer session metadata 2026-07-24 10:35:09 +08:00
imccyu
a7699cdeb1 ci: coverage/knip 2026-07-24 02:09:43 +08:00
imccyu
02c7236c91 docs(gui): client plugin loading RFC — final-state rewrite, bilingual pair
The loading-chain RFC (2026-07-23-client-plugin-loading-model, en/zh)
states the shipped model in its final form: two package kinds (dshClient
means plugin), one module system + one plugin governor, the end-to-end
loading flow, and hot reload with its support boundary — written for a
first-time reader, no intermediate-design narration. The two 2026-07-19
GUI RFCs defer their loading-chain sections to it and drop stale
vocabulary. config-catalog regenerated for the package rename; pairing
manifest tracks the renamed pair.
2026-07-24 02:09:42 +08:00
imccyu
e903a864f7 fix(gui): reconcile the rebase — ui-question joins the client roster
ui-question landed on master as a full dshClient plugin package (composer
question flow); it enters the flat roster, apps/cli deps/refs, and the
smoke graph. Restore the workspace-context and user-interaction host deps
the conflict resolution had dropped.
2026-07-24 02:09:42 +08:00
Tianyi Cui
ed3a6ca295 Merge remote-tracking branch 'origin/docs/i18n-batch-core' into worktree/pr344-retarget-stack
# Conflicts:
#	docs/core-data-structures/session-query.md
#	scripts/type-equiv.manifest.json
2026-07-24 00:00:04 +08:00
Tianyi Cui
e6bd126ef3 Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master
# Conflicts:
#	docs/i18n/README.i18n.yaml
#	docs/i18n/README.zh.md
2026-07-23 23:43:08 +08:00