Yichen Jiang
3957ce007a
Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config
...
# Conflicts:
# apps/cli/cordis.yml
# apps/cli/package.json
# apps/cli/tests/tui-keyless-smoke.e2e.ts
# apps/web/tests/details-session-lifecycle.e2e.ts
# 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/message-actions/ui.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
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/user/guide/config.i18n.yaml
# docs/user/guide/config.md
# docs/user/guide/config.zh.md
# docs/user/guide/index.i18n.yaml
# docs/user/guide/index.md
# docs/user/guide/index.zh.md
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/cordis-agent/cordis.yml
# examples/cordis-agent/tests/cordis-tools.e2e.ts
# examples/headless-agent/tests/semantic-checkpoint-snapshots/tool-outcome-unknown/session.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
# examples/tui-agent/code-mode.cordis.yml
# examples/tui-agent/cordis.yml
# packages/examples/tui-demo/README.md
# packages/examples/tui-demo/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# packages/pty/tool-bash-persistent/README.i18n.yaml
# packages/ui/tui/tests/snapshots/status-diagnostics-narrow.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics.expected.txt
# pnpm-lock.yaml
# scripts/snapshots/python-sdk-single-exe/advanced/result.json
# scripts/snapshots/python-sdk-single-exe/advanced/session.1.jsonl
# scripts/snapshots/python-sdk-single-exe/advanced/session.2.jsonl
# scripts/snapshots/python-sdk-single-exe/advanced/session.jsonl
2026-07-30 20:15:40 +08:00
Turtle
42ba71b4f2
test(tui): pin transient query access
2026-07-30 15:37:03 +08:00
Turtle
0b1aaa4b12
test(tui): remove erased enum import
2026-07-30 15:30:59 +08:00
Turtle
d0bf9091f1
fix(cli): preserve active query access
2026-07-30 15:28:58 +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
Turtle
36f6d8fd05
Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
...
# Conflicts:
# packages/ui/tui/README.i18n.yaml
2026-07-30 14:58:10 +08:00
Turtle
a51143bded
fix(cli): close shared config review gaps
2026-07-30 14:56:39 +08:00
imccyu
432a64ef2f
Merge branch 'master' into worktree/short-default-labels
2026-07-30 12:56:11 +08:00
Yichen Jiang
15eaac6af5
fix(ui): shorten default reasoning labels
2026-07-30 00:57:38 +08:00
kingwl
c97b1d025e
Merge remote-tracking branch 'origin/master' into codex/web-queue-actions
...
# Conflicts:
# apps/web/tsconfig.json
# docs/architecture.i18n.yaml
# docs/event-producer-consumer.md
# packages/client/runtime/README.i18n.yaml
# packages/client/tsdown.client.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent/README.i18n.yaml
# packages/core/agent/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# tsconfig.host.json
2026-07-30 00:30:38 +08:00
kingwl
f893e2281d
feat(agent): add addressable queue operations
2026-07-30 00:05:00 +08:00
Tianyi Cui
fca0c05155
Merge remote-tracking branch 'origin/master' into worktree/pr823-retarget-latest-20260729
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/skills.i18n.yaml
# docs/core-data-structures/skills.md
# docs/core-data-structures/skills.zh.md
# packages/host/apiproxy/README.i18n.yaml
# packages/skill/skill-local/README.i18n.yaml
# packages/skill/skill/README.i18n.yaml
# packages/skill/skill/README.md
# packages/skill/skill/README.zh.md
# packages/skill/skill/src/index.ts
# packages/skill/skill/tests/skill.spec.ts
# packages/skill/tool-skill/README.i18n.yaml
# packages/skill/tool-skill/src/index.ts
# packages/ui/tui/README.i18n.yaml
# packages/ui/tui/README.md
# packages/ui/tui/README.zh.md
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/tui.spec.ts
2026-07-29 23:36:49 +08:00
Tianyi Cui
1619d7686b
test(skill): close invocation policy coverage gaps
2026-07-29 23:17:07 +08:00
Tianyi Cui
12832886c5
refactor(skill): canonicalize invocation policy
2026-07-29 22:51:47 +08:00
Tianyi Cui
66072285c8
fix(skill): enforce invocation policy before load
2026-07-29 21:48:15 +08:00
Tianyi Cui
5bf93e4229
Merge origin/master into worktree/skill-catalog-hot-refresh
2026-07-29 16:40:40 +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
Yichen Jiang
8f9535af87
Merge remote-tracking branch 'origin/master' into worktree/skill-invocation-controls
...
# Conflicts:
# docs/cordis-catalog/services.md
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/src/api-proxy.ts
# packages/ui/tui/README.i18n.yaml
2026-07-29 12:58:10 +08:00
Turtle
31cb340c36
feat(tui)!: consolidate terminal UI improvements
2026-07-29 10:00:29 +08:00
Tianyi Cui
979fa8ab33
refactor(skill): scope provider invalidation
2026-07-29 02:06:07 +08:00
Tianyi Cui
07d61ee992
Merge latest master into skill invocation controls
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/host/apiproxy/src/api-proxy.ts
# packages/skill/tool-skill/src/index.ts
# packages/ui/tui/README.i18n.yaml
2026-07-29 01:29:39 +08:00
_Kerman
9220dbd271
Merge remote-tracking branch 'origin/master' into xtr/identified-immutable-messages
...
# Conflicts:
# docs/event-producer-consumer.md
# packages/client/connection/src/client/fixture.ts
# packages/goal/command-goal/tests/command-goal.spec.ts
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/events.schema.ts
# packages/host/apiproxy/src/api/events.ts
# packages/host/apiproxy/tests/api-proxy-view.spec.ts
# packages/host/apiproxy/tests/rpc-schemas.spec.ts
# tsconfig.base.json
2026-07-28 18:11:13 +08:00
Yichen Jiang
1fd06eae89
Merge remote-tracking branch 'origin/master' into worktree/skill-invocation-controls
...
# Conflicts:
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/host/apiproxy/src/api-proxy.ts
2026-07-28 18:00:40 +08:00
Yichen Jiang
babb8f1496
fix(skill): normalize invocation policy
2026-07-28 17:55:49 +08:00
Yichen Jiang
3764778be3
Merge remote-tracking branch 'origin/master' into worktree/skill-invocation-controls
2026-07-28 17:22:56 +08:00
Yichen Jiang
e133e4bddb
feat(skill): add invocation controls
2026-07-28 17:22:41 +08:00
Tianyi Cui
def1b5c55a
Merge remote-tracking branch 'origin/master' into worktree/pr742-retarget-20260728
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-28 16:59:10 +08:00
imccyu
de56936c87
docs: fix test and docs conflicts
2026-07-28 16:50:07 +08:00
imccyu
9ce201e490
Merge remote-tracking branch 'origin/master' into worktree-guifork
2026-07-28 16:12:12 +08:00
_Kerman
019b0abb68
Merge remote-tracking branch 'origin/master' into xtr/identified-immutable-messages
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.i18n.yaml
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# packages/core/session/README.i18n.yaml
# packages/session-title/session-title/tests/persistence.spec.ts
2026-07-28 15:45:53 +08:00
_Kerman
b1af35145b
fix: enforce message snapshot invariants
2026-07-28 15:33:00 +08:00
Tianyi Cui
fa18977ebd
Merge remote-tracking branch 'origin/master' into worktree/pr742-retarget-20260728
2026-07-28 14:51:20 +08:00
Tianyi Cui
eeaf4c7220
fix(ci): stabilize readiness timing boundaries
2026-07-28 14:49:59 +08:00
_Kerman
971f20b66e
fix: restore message migration CI coverage
2026-07-28 14:29:54 +08:00
_Kerman
350c296cff
fix: complete immutable message migration
2026-07-28 14:15:23 +08:00
_Kerman
f5ec71f5b1
Merge remote-tracking branch 'origin/master' into xtr/identified-immutable-messages
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
# packages/context/session-reference/README.i18n.yaml
# packages/context/session-reference/README.md
# packages/context/session-reference/README.zh.md
# packages/context/session-reference/src/index.ts
2026-07-28 13:58:06 +08:00
_Kerman
fbf87e660c
refactor: identify and freeze messages at creation
2026-07-28 13:55:59 +08:00
imccyu
91045a467b
Merge branch 'master' into worktree-guifork
2026-07-28 11:50:56 +08:00
Yichen Jiang
968e4d5312
Merge remote-tracking branch 'origin/master' into worktree/tui-session-title-search
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.md
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md
# packages/context/session-reference/README.i18n.yaml
# packages/context/session-reference/README.md
# packages/context/session-reference/README.zh.md
# packages/context/session-reference/src/index.ts
2026-07-28 11:11:57 +08:00
Yichen Jiang
a43a2032ec
fix(tui): search session references by title
2026-07-28 11:05:53 +08:00
imccyu
a3bdec4450
Merge remote-tracking branch 'origin/master' into worktree-guifork
2026-07-28 10:23:48 +08:00
Tianyi Cui
2612a4b587
Merge latest master into skill catalog hot refresh
2026-07-28 01:10:33 +08:00
Tianyi Cui
f6a450102e
Merge updated origin/master into feat/tui-master-port
2026-07-27 23:55:53 +08:00
Tianyi Cui
f843d2b238
Merge origin/master into feat/tui-master-port
2026-07-27 23:34:56 +08:00
Tianyi Cui
29619eda77
Merge remote-tracking branch 'origin/master' into worktree/pr628-merge-20260727
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.zh.md
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/cordis-catalog/events.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/llm-streaming.md
# docs/core-data-structures/llm-streaming.zh.md
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/empty-response-retry/session.jsonl
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/core/agent-loop/src/loop.ts
# packages/core/agent-loop/tests/request-recovery.spec.ts
# packages/core/agent/src/types.ts
# packages/core/scope/tests/invariant.spec.ts
# packages/llm/llm-retry/README.i18n.yaml
# packages/llm/llm-retry/README.md
# packages/llm/llm-retry/README.zh.md
# packages/llm/llm-retry/src/index.ts
# packages/llm/llm-retry/src/invariant.ts
# packages/llm/llm-retry/tests/invariant.spec.ts
# packages/llm/llm-retry/tests/retry.spec.ts
# packages/plan/plan-mode/src/index.ts
# packages/plan/plan-mode/tests/integration.spec.ts
# packages/plan/plan-mode/tests/plan-mode.spec.ts
2026-07-27 23:29:26 +08:00
imccyu
4e50369eb6
feat: durable command lifecycle logging in the executor (command/run + command/done)
...
CommandService.execute appends the log-only pair around every resolved
handler — run before invocation, done at settlement, including thrown and
aborted handlers (kind:'error'); admission misses log nothing. commandId is
minted monotonically per instance; per-session appends serialize through a
tail queue over SessionStore.appendOutOfBand (zero-step wrap on an idle log,
direct join inside an open turn). The invariant companion now asserts the
pairing relation (unique run ids; a done requires a prior in-log run).
CommandSource is a minimal merge-extensible map (user variant only).
Dependent benches mount SessionStore; TUI/e2e snapshots re-recorded for the
executor's durable-append timing and the /status event counts.
2026-07-27 23:04:57 +08:00
Tianyi Cui
8a952ab433
Merge remote-tracking branch 'origin/master' into worktree/pr628-merge-20260727
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md
# docs/architecture.i18n.yaml
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/llm-streaming.md
# docs/core-data-structures/llm-streaming.zh.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/headless-agent/tests/headless.snapshot.ts
# packages/compact/compact-basic/tests/compact-loop-repro.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/loop.ts
# packages/examples/agent-spine-demo/README.md
# packages/llm/README.md
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-pi-ai/src/adapter.ts
# packages/llm/llm-retry/README.md
# packages/llm/llm/README.md
# packages/llm/llm/src/index.ts
# packages/llm/llm/tests/service.spec.ts
# packages/support/llm-replay/src/index.ts
# packages/support/llm-replay/tests/llm-replay.spec.ts
2026-07-27 22:44:43 +08:00
_Kerman
ed67ad53d2
refactor(agent): return request retry action
2026-07-27 21:17:49 +08:00
Turtle
46bbbce109
refactor(tui): split createTuiChat into chat/ sub-controllers
...
Extract model-command, questions, and resume sub-machines from the
~1600-line createTuiChat closure into src/chat/ factories that take
explicit dependency bundles (shared ChatChannelDeps/ChannelNotice).
Reorganize src/ so chat/ holds all chat-channel concerns (former input
and session/ files move under it); xml-tool-output moves to components/;
TuiRuntime/TuiResumeHost move to runtime.ts. index.ts drops 2067->~1530
lines. Behavior identical: 167 tests and all TUI snapshots pass unchanged.
2026-07-27 21:04:11 +08:00
Turtle
84fe617a01
fix(tui): breathe running glyph symmetrically instead of blanking at the trough
...
The running status glyph clipped its cosine throb to a blank column below
STATUS_FADE_MIN_OPACITY, so each breath read as bold->dim->disappear rather
than bold->dim->bold. Remove the cutoff and the constant; the trough now
renders as the dimmest gray, giving a symmetric breathe. Turn-boundary
appear/disappear is unchanged (fade envelope and non-truecolor visible
threshold).
2026-07-27 19:36:39 +08:00