Yichen Jiang
1b5f06ed0b
fix(web): render CJK-adjacent strong emphasis
2026-08-06 11:41:46 +08:00
creatixchu
d0d8cd5365
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
2026-08-06 11:29:50 +08:00
creatixchu
6747c2d44d
Merge remote-tracking branch 'origin/master' into worktree/context-source-cards
...
# Conflicts:
# .agents/notes/implemented/simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.md
# .agents/notes/implemented/simplification/2026-07-31-web-ui-no-steer-entry-or-interjection-chrome.zh.md
# apps/web/tests/seeded-history.e2e.ts
# apps/web/tests/snapshots/queue-actions/layout.expected.md
# docs/core-data-structures/core.i18n.yaml
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/tests/history-fold.spec.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/tests/chat-branch-tails.spec.tsx
# packages/context/workspace-context/src/index.ts
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/skill/tool-skill/README.i18n.yaml
# packages/skill/tool-skill/README.md
# packages/skill/tool-skill/README.zh.md
# packages/skill/tool-skill/src/index.ts
# packages/skill/tool-skill/tests/tool-skill.spec.ts
2026-08-06 11:28:48 +08:00
imccyu
86965b053c
feat(client): inject slot declaration lifetimes
2026-08-06 11:28:46 +08:00
GeeeekExplorer
ffdcafb45f
feat(web): done dot on sessions that finished while unviewed
...
A session that stops running while it is not the selected session arms a
green 'done' reminder dot on its sidebar row, so the operator notices a
finished background session and returns to it; opening the session clears
the dot, and a re-run re-arms it on completion.
SessionManager owns the reminder set (a sibling of the waiting-approval
bit): a running->idle edge of a non-selected session arms it, select()
consumes it, removal prunes it, and it survives connection generations.
The bit rides SessionListEntry/SessionSummary into the workspace browser
rows, which render the existing StateDot done state (running keeps the
spinner) and label the hover card '已完成/Completed'.
2026-08-06 11:12:48 +08:00
Yichen Jiang
4bd66d8e7c
Merge branch 'claude/web-llm-pi-ai-config-385e24' into claude/pi-ai-model-discovery
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/core-data-structures/core.i18n.yaml
# docs/event-producer-consumer.md
# packages/host/apiproxy/README.i18n.yaml
# packages/llm/llm/README.i18n.yaml
2026-08-06 10:50:20 +08:00
Yichen Jiang
17c86bbb25
Merge remote-tracking branch 'origin/master' into claude/web-llm-pi-ai-config-385e24
...
# Conflicts:
# packages/llm/llm-pi-ai/tests/adapter.spec.ts
# packages/llm/llm/README.i18n.yaml
2026-08-06 10:47:36 +08:00
imccyu
c93438e6b3
docs(jsonl): align restore slice interval
2026-08-06 10:40:32 +08:00
imccyu
82eb1dde46
fix(jsonl): avoid duplicate decoder control flow
2026-08-06 10:40:32 +08:00
imccyu
e89b1e612f
fix(session): address restore review feedback
2026-08-06 10:40:32 +08:00
imccyu
2551b757fb
perf(jsonl): shorten cooperative decode slices
2026-08-06 10:40:31 +08:00
imccyu
03bb663966
test(jsonl): cover reusable decoder branches
2026-08-06 10:40:31 +08:00
imccyu
456d4319bf
fix(subagent): skip ordinary forks during child listing
2026-08-06 10:40:31 +08:00
imccyu
02c61d4481
fix(jsonl): preserve private decoder checksum validation
2026-08-06 10:40:31 +08:00
imccyu
d19e598d5e
test(jsonl): cover reusable decoders in node matrix
2026-08-06 10:40:31 +08:00
imccyu
9cd2a20141
perf(session): streamline restored event admission
2026-08-06 10:40:31 +08:00
imccyu
03983ff986
perf(jsonl): scan decoded frames incrementally
2026-08-06 10:40:31 +08:00
imccyu
353226246e
perf(jsonl): add reusable zstd frame decoders
2026-08-06 10:40:31 +08:00
imccyu
e37aa41f87
fix(session-persistence): close preparation races
2026-08-06 10:19:51 +08:00
imccyu
2f98f29992
fix(session): address restore review feedback
2026-08-06 05:13:26 +08:00
imccyu
f0868d6a70
test(session): cover remaining preparation races
2026-08-06 04:29:39 +08:00
imccyu
bb5e9ea1c7
test(session): cover persistence revision races
2026-08-06 04:11:58 +08:00
imccyu
ede74b1926
fix(session-persistence): invalidate stale preparations
2026-08-06 04:11:58 +08:00
imccyu
5e317371e5
test(session): accept pre-epoch event timestamps
2026-08-06 04:11:58 +08:00
imccyu
feb2c35cef
fix(session-persistence): address preparation review feedback
2026-08-06 04:11:58 +08:00
imccyu
466390c1af
test: cover restored suffix init failure
2026-08-06 04:11:57 +08:00
imccyu
beb9b2a7fa
test: close session preparation CI gaps
2026-08-06 04:11:57 +08:00
imccyu
2b9428f35d
fix(session-persistence): satisfy preparation gates
2026-08-06 04:11:57 +08:00
imccyu
c026ad61a9
fix(session): reconcile restore after rebase
2026-08-06 04:11:57 +08:00
imccyu
e089ef92d8
docs: document session preparation flow
2026-08-06 04:11:57 +08:00
imccyu
deefceaf8a
test: cover session preparation lifecycle
2026-08-06 04:11:57 +08:00
imccyu
0afc42309d
feat: add reusable session preparation
2026-08-06 04:11:57 +08:00
imccyu
a9167280ac
fix(fixture): restore the extended-block pricing fallback
...
The client graph's ContentBlock narrows to the base four members, but
fixture turns carry merge-extended blocks at runtime, so removing the
JSON fallback crashed pricing on them. Keep the fallback and suppress
the narrowing-based lint finding with the reason inline.
2026-08-06 03:30:16 +08:00
imccyu
553898e529
fix(fixture): drop the unreachable merge-extension pricing fallback
...
Fixture-authored content is the closed base vocabulary, so after the
text/reasoning/tool-call arms only tool-result remains; the literal
comparison and its JSON fallback were dead and failed oxlint.
2026-08-06 03:20:41 +08:00
imccyu
297edd512d
fix(token-meter): drop the dead deep-compare from claim bookkeeping
...
A defined fold claim is always freshly built and adjacent metering events
cannot repeat, so presence alone decides the claim transition; the value
comparison was unreachable and failed the per-file branch gate.
2026-08-06 03:20:34 +08:00
imccyu
59df683ef1
fix(token-meter): bound projection state via logged shadow prices
...
The contextBreakdown and contextPressure units carried the full priced
surface, so each session's persisted projection checkpoint grew without
bound. A surface replacement is now priced by the shadow-price event
logged directly before it — compact/summary for compaction, the new
compact/prune from tool-result pruning (priced through the injected
token meter) — and the unit states shrink to a fixed handful of numbers.
Regenerate the persistence/cordis/module/config catalogs.
2026-08-06 02:50:38 +08:00
imccyu
6400e521ba
fix(fixture): avoid duplicated token estimator shape
2026-08-06 00:29:40 +08:00
imccyu
a17eebcaca
docs(metrics): clarify projection and latency contracts
2026-08-06 00:22:09 +08:00
imccyu
aaca2fa52f
fix(web): localize stats and close stale context meter
2026-08-06 00:21:34 +08:00
imccyu
e94d539de1
fix(fixture): mirror context breakdown projection
2026-08-06 00:21:17 +08:00
imccyu
b0d1d9445e
Merge remote-tracking branch 'origin/master' into mergebot/pr1667
...
# Conflicts:
# apps/web/tests/snapshots/queue-actions/preserved.expected.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/session.i18n.yaml
# packages/client/runtime/src/client/session-history/history-fold.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/core/session/src/index.ts
2026-08-05 22:56:57 +08:00
Huanqi Cao
17ff1e0d4a
Merge pull request #1624 from deepseek-harness/feat/pwsh-ui-parity
...
feat(pwsh): render pwsh calls as bash-shaped terminal cards in the Web UI
2026-08-05 22:20:11 +08:00
Huanqi Cao
ca65cf1e14
Merge remote-tracking branch 'origin/master' into feat/pwsh-ui-parity
...
# Conflicts:
# apps/web/tsconfig.json
2026-08-05 21:51:31 +08:00
_Kerman
dc2e2821b9
Merge follow-up: re-record translation hashes and fix e2e fixture shape
2026-08-05 21:42:59 +08:00
_Kerman
207e32493c
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
Resolve translation-pairing hashes after the merge and adapt the
math-rendering e2e fixture to the simplified turn/start event shape.
2026-08-05 21:42:33 +08:00
_Kerman
d3249f096b
refactor(agent): publish agent/inbox/claimed from Inbox.claim
...
Move the claimed-message notification loop out of the loop's pre-step
into Inbox.claim(target, turn), so the step-boundary operation publishes
its own claimed notifications like insertions and discards do.
2026-08-05 21:36:51 +08:00
Yichen Jiang
66c2cb81d3
fix(llm): let an interrogation use the credential its route already stored
...
A configuration surface never holds a stored secret — it edits a redacted
descriptor — so once a key is saved, the draft it sends carries the route and
the endpoint and no credential at all. The interrogation went out
unauthenticated and the endpoint's 401 came back as "check the API key",
pointing at the one thing that was fine.
A named route now supplies its own credential, resolved exactly as a request
to it would be. A key typed into the form still wins: it is the one under
test, and may be the replacement for the stored one that is failing.
Resolution is a callback the probe invokes past the catalog short-circuit and
the protocol check, so a route answered from the installed registry costs no
credential lookup — and cannot fail over a credential the question never
needed.
2026-08-05 20:55:39 +08:00
fz
7604e82bf0
Merge remote-tracking branch 'origin/master' into codex/fix-math-rendering
2026-08-05 20:51:06 +08:00
fz
e0328fc44d
Merge remote-tracking branch 'origin/master' into codex/fix-math-rendering
...
# Conflicts:
# packages/client/ui-primitives/README.i18n.yaml
2026-08-05 20:50:50 +08:00
_Kerman
488b8df547
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.i18n.yaml
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/cookbook/extension-cookbook.md
# docs/cookbook/extension-cookbook.zh.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/defensive-patterns.i18n.yaml
# packages/acp/acp/README.i18n.yaml
# packages/client/runtime/README.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-goal/README.i18n.yaml
# packages/compact/compact-basic/README.i18n.yaml
# packages/context/README.i18n.yaml
# packages/context/README.md
# packages/context/README.zh.md
# packages/context/session-reference/README.i18n.yaml
# packages/context/session-reference/README.md
# packages/context/session-reference/README.zh.md
# packages/context/tmux-context/README.i18n.yaml
# packages/core/session/README.i18n.yaml
# packages/core/session/README.md
# packages/core/session/README.zh.md
# packages/goal/command-goal/README.i18n.yaml
# packages/goal/goal-session/README.i18n.yaml
# packages/goal/goal-session/README.zh.md
# packages/guard/README.i18n.yaml
# packages/guard/README.md
# packages/guard/README.zh.md
# packages/guard/repeat-tool-guard/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/plan/plan-mode/README.i18n.yaml
# packages/sdk/sdk-client/README.i18n.yaml
# packages/sdk/sdk-client/README.md
# packages/sdk/sdk-client/README.zh.md
# packages/session-persistence/session-persistence/README.i18n.yaml
# packages/subagent/subagent-dsh-sdk/README.i18n.yaml
# python/sdk/README.i18n.yaml
2026-08-05 20:43:30 +08:00