Hypatia May
16378e4ba7
Merge remote-tracking branch 'origin/fix/human-transcript-projection' into fix/web-transcript-projection
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-30 17:33:55 +08:00
imccyu
34c124585a
fix: test
2026-07-30 16:46:50 +08:00
Hypatia May
3b3d5579cb
Merge remote-tracking branch 'origin/fix/human-transcript-projection' into fix/web-transcript-projection
...
# Conflicts:
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/src/client/sessions/fold-adapter.ts
# packages/client/runtime/tests/fold-adapter.spec.ts
# packages/client/ui-trajectory/src/client/layout.ts
# packages/client/ui-trajectory/src/client/spans.ts
# packages/compact/compact/README.i18n.yaml
2026-07-30 16:37:22 +08:00
kingwl
17893c503e
feat(web): match context injection disclosure design
2026-07-30 16:20:34 +08:00
Yichen Jiang
483199d47a
Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config
...
# Conflicts:
# apps/cli/cordis.yml
# apps/web/tests/snapshots/code-mode-round/session.jsonl
# apps/web/tests/snapshots/cordis-tool-round/session.jsonl
# apps/web/tests/snapshots/fresh-round-trip/session.jsonl
# apps/web/tests/snapshots/lifecycle-chrome/session.jsonl
# apps/web/tests/snapshots/live-interactions/session.jsonl
# apps/web/tests/snapshots/navigation-panes/seed.jsonl
# apps/web/tests/snapshots/question-composer/session.jsonl
# apps/web/tests/snapshots/seeded-history/seed.jsonl
# apps/web/tests/snapshots/steering/session.jsonl
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/settings.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# packages/client/connection/README.i18n.yaml
# packages/client/connection/src/index.ts
# packages/client/connection/tests/node-half.spec.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/tests/fake-api.ts
# packages/client/ui-models/README.i18n.yaml
# packages/examples/tui-demo/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/package.json
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/rpc.schema.ts
# packages/host/apiproxy/src/api/rpc.ts
# packages/llm/llm-deepseek/README.i18n.yaml
# packages/llm/llm-deepseek/README.zh.md
# packages/llm/llm-pi-ai/README.i18n.yaml
# packages/llm/llm/README.i18n.yaml
# packages/llm/llm/README.zh.md
# packages/sdk/sdk-client/README.i18n.yaml
# packages/settings/settings/README.i18n.yaml
# packages/settings/settings/README.md
# packages/settings/settings/README.zh.md
# packages/subagent/subagent-dsh-sdk/README.i18n.yaml
# packages/subagent/subagent-dsh-sdk/README.zh.md
# packages/support/llm-replay/README.i18n.yaml
# packages/ui/jsonrpc/README.i18n.yaml
# packages/ui/jsonrpc/README.zh.md
# packages/ui/tui/tests/snapshots/model-selector.expected.txt
# packages/ui/tui/tests/snapshots/model-switching.expected.txt
# packages/ui/tui/tests/snapshots/resume-sessions.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics-narrow.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics.expected.txt
# packages/ui/tui/tests/tui.snapshot.ts
# pnpm-lock.yaml
# python/sdk/README.i18n.yaml
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-07-30 15:18:26 +08:00
imccyu
291fe1e823
test(web): refresh composer stats expected outputs
2026-07-30 13:15:57 +08:00
imccyu
e80d7bce17
test(web): refresh message action expected outputs
2026-07-30 11:50:12 +08:00
imccyu
2fa26cd140
test(web): refresh localized expected outputs
2026-07-30 11:39:40 +08:00
imccyu
0dbe631c3a
test(web): refresh browser expected outputs
2026-07-30 10:23:23 +08:00
Hypatia May
8e5c792b50
round 1: project the web transcript from append-origin events
...
Replace the surface-ordered fold with a log-ordered human transcript:
append-origin surface events at their own log positions plus one marker per
landed compaction checkpoint. Command folding, the tool-call index, and the
rev-keyed memo carry over unchanged.
Removes foldDegraded, the padding sentinels, baseSeq, and degradedSeqs() --
they existed only to satisfy the core fold's seq === index assertion. That
also closes the pagination hole A1 exposed: a page can carry a checkpoint
whose shadowed range fell outside the window, and nothing resolves
surfaceOp.start anymore.
2026-07-30 10:18:24 +08:00
_Kerman
859452d807
Merge remote-tracking branch 'github/master' into xtr/trajectory-inspection-ui
...
# Conflicts:
# apps/web/tests/snapshots/code-mode-round/ui.expected.md
# apps/web/tests/snapshots/cordis-tool-round/ui.expected.md
# apps/web/tests/snapshots/fresh-round-trip/ui.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/hero.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/reloaded.expected.md
# apps/web/tests/snapshots/live-interactions/cancel.expected.md
# apps/web/tests/snapshots/live-interactions/error-auth.expected.md
# apps/web/tests/snapshots/live-interactions/retry.expected.md
# apps/web/tests/snapshots/question-composer/answered.expected.md
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# apps/web/tests/snapshots/steering/mid-steer.expected.md
# apps/web/tests/snapshots/steering/settled.expected.md
# packages/client/runtime/src/client/contract/session.ts
# packages/client/ui-conversation/README.i18n.yaml
2026-07-29 17:31:33 +08:00
Yichen Jiang
fee12f1af0
refactor(llm-deepseek)!: rename the provider route to deepseek-official
...
The native adapter's route was named deepseek, colliding with pi-ai's
catalog provider of the same name, so the two DeepSeek paths could never
be mounted side by side. The web settings page needs both configurable at
once. Compositions, fixtures, goldens, scaffolding defaults, and docs all
move together (pre-release, no shim); TUI/session-query-spill/
missing-credential goldens re-recorded through their keyless refresh
modes because provider-name length shifts box padding and spill
truncation points.
2026-07-29 16:36:07 +08:00
07akioni
4aa1aa4a66
test(web): refresh aria goldens for message IconActions and clocks
...
Settled history now exposes user/assistant chrome (including date-aware
clocks) in the accessibility tree; collapse clocks via scaffold and update
keyless scenario goldens.
2026-07-29 14:30:09 +08:00
_Kerman
62dd2ab38e
Merge remote-tracking branch 'github/master' into xtr/trajectory-inspection-ui
...
# Conflicts:
# packages/client/runtime/src/client/sessions/fold-adapter.ts
# packages/compact/compact-basic/src/summarizer.ts
2026-07-28 21:56:02 +08:00
_Kerman
1d4a6149cc
feat(client): add trajectory timing overview
2026-07-28 16:28:57 +08:00
Yichen Jiang
bde5e26a96
Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector
...
# Conflicts:
# apps/cli/package.json
# apps/web/tests/smoke-real.e2e.ts
# apps/web/tests/snapshots/fresh-round-trip/ui.expected.md
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# docs/config-catalog.md
# packages/client/connection/tests/fake-api.ts
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/runtime/tests/fake-api.ts
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/src/client/index.ts
# packages/client/ui-conversation/src/client/skeleton/ConversationRoot.tsx
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-conversation/tests/chat-stats-bash-sample.spec.tsx
# packages/client/ui-conversation/tests/chat-toolview-slot.spec.tsx
# packages/client/ui-conversation/tests/chat-view.spec.tsx
# packages/client/ui-conversation/tests/gate-branch-tails.spec.tsx
# packages/client/ui-conversation/tests/input-bar.spec.tsx
# packages/client/ui-conversation/tests/skeleton.spec.tsx
# packages/host/apiproxy/README.md
# packages/host/apiproxy/src/api-proxy.ts
# pnpm-lock.yaml
# scripts/verify-package-readme-model-experience.ts
# tsconfig.base.json
2026-07-27 12:17:38 +08:00
imccyu
1b49666cd5
Merge branch 'master' into worktree-slash-split
2026-07-27 08:54:56 +08:00
imccyu
ecdaf0dc24
test(web): connect a Workspace in the e2e boot path and refresh goldens
...
The startup-selection flow leaves a fresh world (no Workspace) in the
locked view state, so every e2e scenario that types into the composer
now connects one first via the shared connectFreshWorkspace helper
(hero picker create-by-name dialog; the default 'workspace' name keeps
the session-header cwd assertions intact).
Golden refreshes carry the current composer chrome: the plan/model
control seats are empty until their owning plugins register (the seats
shipped without occupants on this branch), the sidebar shows the
connected workspace group pre-send, and the bash details material
renders Input/code/Output as separate nodes. The cancel scenario polls
the frozen-partial swap instead of counting synchronously — the abort
frame reaches the browser over SSE after the host settles.
2026-07-27 08:25:00 +08:00
Tianyi Cui
a20cf88928
test(session): canonicalize fixtures as packed rows
2026-07-26 23:45:14 +08:00
Yichen Jiang
cba0948604
Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-15-llm-model-catalog-and-acp-selection.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-23-client-plugin-loading-model.i18n.yaml
# apps/cli/src/web.ts
# apps/web/tests/session-title.snapshot.ts
# apps/web/tests/smoke-fixture.e2e.ts
# packages/client/connection/src/client/api.ts
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/src/client/index.ts
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/runtime/tests/fake-api.ts
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/src/client/index.ts
# packages/client/ui-conversation/src/client/skeleton/ConversationRoot.tsx
# packages/client/ui-conversation/src/client/skeleton/InputBar.module.css
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-conversation/tests/chat-stats-bash-sample.spec.tsx
# packages/client/ui-conversation/tests/chat-toolview-slot.spec.tsx
# packages/client/ui-conversation/tests/chat-view.spec.tsx
# packages/client/ui-conversation/tests/gate-branch-tails.spec.tsx
# packages/client/ui-conversation/tests/skeleton-branches.spec.tsx
# packages/client/ui-conversation/tests/skeleton.spec.tsx
# packages/host/apiproxy/README.md
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/rpc.schema.ts
# packages/host/apiproxy/src/api/rpc.ts
# packages/host/apiproxy/tests/api-proxy-models.spec.ts
# packages/host/apiproxy/tests/rpc-schemas.spec.ts
# packages/host/runtime/README.md
# packages/llm/llm-deepseek/README.md
# scripts/translation-pairing.manifest.json
# tsconfig.client.json
2026-07-26 13:13:53 +08:00
Tianyi Cui
f1577d620e
test(web): harden replay scaffold lifecycle
2026-07-26 00:33:46 +08:00
Tianyi Cui
ee25ccf38b
Merge remote-tracking branch 'origin/master' into web-e2e-lane
...
# Conflicts:
# vitest.web.config.ts
2026-07-25 18:19:22 +08:00
Tianyi Cui
fb17d5ec49
Merge remote-tracking branch 'origin/master' into web-e2e-lane
...
# Conflicts:
# docs/config-catalog.md
# docs/testing.i18n.yaml
# docs/testing.md
# docs/testing.zh.md
# packages/host/runtime/src/start.ts
# packages/support/acp-snapshot/README.md
2026-07-25 14:20:19 +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