_Kerman
fbf87e660c
refactor: identify and freeze messages at creation
2026-07-28 13:55:59 +08:00
NI0317
4b5b22d42f
Merge remote-tracking branch 'origin/master' into feature/directory-listing-tool
...
Master had advanced 392 commits. Every conflict was a derived artifact both
sides had regenerated — `docs/tool-catalog.md`, four recorded headless
session logs, and one TUI terminal expectation — so each was resolved by
taking master's version and re-running the generator and the keyless
snapshot refresh on the merged tree. No source file conflicted.
The new `examples/jsonrpc-agent` fixtures keep master's scrubbed
`{{system}}` / `{{tools}}` headers: that suite scrubs request headers, so a
new tool changes nothing there and the refresh output was discarded.
2026-07-28 13:48:28 +08:00
NI0317
717852423f
fix(fs): harden directory listing and glob sampling
2026-07-28 13:01:26 +08:00
Chinesezjc
46e40719d1
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
...
# Conflicts:
# apps/web/tests/todo-display.snapshot.ts
# packages/client/ui-conversation/src/client/toolviews/todo-row.tsx
2026-07-28 12:27:14 +08:00
Hypatia May
9ca0241d5d
feat(web): add durable session metrics (round 1)
2026-07-28 12:10:48 +08:00
imccyu
bce9910b47
docs: regenerate cordis catalog line anchors
2026-07-28 12:09:48 +08:00
NI0317
9b9b45e65e
fix(fs-search): sample an over-cap glob result across the tree
...
Asked what a workspace contained, an agent described one subfolder as the
whole project. `glob {"pattern": "*"}` matched 10030 paths across 22
top-level entries and the inline page was the first 100 of them, all under a
single unpacked archive.
Three properties compose into that page: a pattern with no `/` matches
basenames at any depth, so `*` means the whole tree rather than its top
level; `--sort=modified` orders oldest first, and unpacking an archive
restores timestamps that predate everything the user wrote; and the page was
the head of that order. Each is defensible alone, and together they make the
most ordinary request an agent receives produce a confident wrong answer.
A result within `globMaxResults` is unchanged — shown whole, in
modification-time order. Beyond it the page is filled round-robin across the
complete result's top-level entries, so one subtree cannot own every slot,
and the footer states that the page was sampled rather than taken in
modification-time order. Measured on a 24-entry, 716-file reproduction, the
head of 100 reaches 7 top-level names and the sampled page reaches 21. The
spill artifact still holds the complete sorted list.
The guidance and schema stop steering away from `ls`, state the any-depth
pattern rule, say results are files and never directories, and point at
`list` for a directory's contents.
2026-07-28 12:05:36 +08:00
NI0317
d4614f92d6
feat(fs): add a model-facing directory listing tool
...
`ctx.fs.listDir` has shipped since the filesystem seam gained it, with skill
discovery as its only consumer; the model-facing tool was deferred to a
separate decision. Nothing else could answer "what is in this directory":
`rg --files` backs glob and grep and never emits a directory entry, so an
empty directory is invisible, no output says which names are directories,
and no output gives an entry count.
`list` takes an optional `path`, defaulting to the session workspace so the
common question needs no argument, and returns the direct children of one
directory with their type. Two presentation rules carry it: directories sort
first, then files, then non-regular children, each alphabetically — so
truncation loses leaves rather than the tree — and the footer always states
the complete listing's size and composition, so a capped view can never read
as a whole directory.
It emits no `fs/observed`: seeing a filename is not reading a file, and a
listing must never satisfy the read-before-write gate.
2026-07-28 11:59:52 +08:00
imccyu
91045a467b
Merge branch 'master' into worktree-guifork
2026-07-28 11:50:56 +08:00
Yichen Jiang
004f598917
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/config-catalog.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/README.i18n.yaml
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/src/index.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-trajectory/tests/views.spec.tsx
# packages/compact/compact-basic/README.i18n.yaml
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/src/api/sessions.ts
# packages/host/apiproxy/src/index.ts
# packages/host/apiproxy/tests/fetch-carrier.spec.ts
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-deepseek/tests/adapter.spec.ts
# packages/llm/llm-deepseek/tests/serialize.spec.ts
# packages/llm/llm-pi-ai/README.i18n.yaml
# packages/llm/llm-pi-ai/src/adapter.ts
# packages/llm/llm-pi-ai/src/index.ts
# packages/llm/llm-pi-ai/tests/adapter.spec.ts
# packages/llm/llm/src/types.ts
# packages/ui/tui/README.i18n.yaml
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/tui.spec.ts
2026-07-28 11:41:40 +08:00
_Kerman
5fc9a041ba
Merge remote-tracking branch 'github/master' into xtr/trajectory-inspection-ui
2026-07-28 11:41:14 +08:00
_Kerman
3f7760717d
cleanup(session): isolate trajectory inspection
2026-07-28 11:39:53 +08:00
Yichen Jiang
1dede11506
Merge remote-tracking branch 'origin/master' into worktree/web-model-request-retry
...
# 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
# apps/web/tests/session-title.snapshot.ts
# docs/config-catalog.md
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/tests/chat-view.spec.tsx
# packages/llm/llm-retry/README.i18n.yaml
# packages/llm/llm-retry/README.md
# packages/llm/llm-retry/README.zh.md
2026-07-28 11:39:42 +08:00
Yichen Jiang
1d3b36d0a6
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
...
# 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
2026-07-28 11:37:59 +08:00
Yichen Jiang
2a549c244c
Merge remote-tracking branch 'origin/master' into worktree/web-file-session-references
...
# 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
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/client/connection/src/client/api.ts
# packages/client/connection/src/client/index.ts
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.module.css
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/tests/chat-branch-tails.spec.tsx
# packages/context/file-reference-local/src/search.ts
# packages/context/file-reference-local/tests/search.spec.ts
# packages/core/session/src/index.ts
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/fetch/handler.ts
# packages/ui/tui/src/chat/file-autocomplete.ts
# packages/ui/tui/src/file-autocomplete.ts
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/tui.spec.ts
# scripts/verify-package-readme-model-experience.ts
# tsconfig.client.json
2026-07-28 11:33:33 +08:00
kingwl
bc3e776225
Merge remote-tracking branch 'origin/master' into feature/subagent-policy-inheritance
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# docs/cordis-catalog/services.md
# docs/persistence-catalog.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/core/session/README.i18n.yaml
# packages/subagent/subagent-inprocess/README.i18n.yaml
# packages/ui/user-approval/src/index.ts
2026-07-28 11:19:46 +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
5cb3b5595a
ci: close the post-merge gate debt — runtime closure, dead dep, regenerated artifacts, coverage deferrals
...
The master merge left the generated catalogs/module graph stale, the
python runtime closure missing dsh-session-projection (now reached
through session-title and tool-todo), and apiproxy holding a dead
session-title dependency (the bespoke title frame is retired). The four
files the merge pushed under the per-file coverage floor (commands
executor + invariant, projection registry drive tails, TUI) join the
existing TODO(gui) deferral block per the GUI-lane policy; the remaining
coverage-run failures reproduce identically on pure origin/master
(environment-bound suites: sdk process exit, TUI PTY timing, workflow
worker timing, title loader slow-boot) and are not this branch's debt.
2026-07-28 10:54:35 +08:00
_Kerman
71f1f36175
fix(ui): align trajectory CI contracts
2026-07-28 10:34:47 +08:00
_Kerman
b483d8fef2
docs: sync compaction inspection contracts
2026-07-28 10:28:25 +08:00
imccyu
a3bdec4450
Merge remote-tracking branch 'origin/master' into worktree-guifork
2026-07-28 10:23:48 +08:00
Hypatia May
05d4c19085
Merge remote-tracking branch 'origin/master' into codex/basic-session-search
...
# Conflicts:
# apps/web/tests/snapshots/question-composer/answered.expected.md
# packages/client/connection/tests/fake-api.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/tests/fake-api.ts
# packages/client/ui-workspace/README.i18n.yaml
# packages/client/ui-workspace/README.md
# packages/client/ui-workspace/README.zh.md
# packages/client/ui-workspace/src/client/WorkspaceBrowser.tsx
# packages/client/ui-workspace/tests/apply.spec.ts
# 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/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/src/api/sessions.schema.ts
# packages/host/apiproxy/src/fetch/client.ts
# packages/host/apiproxy/src/fetch/handler.ts
# packages/host/apiproxy/tests/fetch-carrier.spec.ts
# packages/host/apiproxy/tests/rpc-schemas.spec.ts
# packages/session-query/session-query/tests/search-helpers.spec.ts
2026-07-28 09:27:28 +08:00
Tianyi Cui
a7cbdd83d7
Merge newer master into skill catalog hot refresh
2026-07-28 01:57:14 +08:00
Chinesezjc
fb7fa4f1dd
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
2026-07-28 01:28:29 +08:00
Tianyi Cui
b5930f4aa5
Merge latest master into skill catalog hot refresh
2026-07-28 01:23:10 +08:00
Tianyi Cui
9ebd0075e9
Merge master into fix/pty-handoff-grace
2026-07-28 01:19:58 +08:00
Chinesezjc
d0be242138
Merge branch 'master' into fix/worker-timer-clamp
2026-07-28 01:12:16 +08:00
Tianyi Cui
b557bfbde5
Merge newer master into skill catalog hot refresh
2026-07-28 01:12:11 +08:00
Tianyi Cui
2612a4b587
Merge latest master into skill catalog hot refresh
2026-07-28 01:10:33 +08:00
imccyu
c10edbbc85
docs: regenerate catalogs and graphs for the projection seam; classify its types
...
gen-cordis-catalog type-link rows for the ProjectionDefinition surface and
CommandExecution; a sessionProjections service-role row for gen-doc-graphs;
regenerated module graph, persistence/config/cordis catalogs and api-catalog;
packages/README rows condensed back under the word ceiling; the RFC's sketch
fences marked ignore-check on both language sides (pairing re-recorded).
2026-07-28 01:09:55 +08:00
Chinesezjc
a14dfdea17
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-28 01:07:09 +08:00
Chinesezjc
ca676178b5
Merge branch 'master' into fix/worker-timer-clamp
2026-07-28 01:06:22 +08:00
Tianyi Cui
2a562236d0
Merge remote-tracking branch 'origin/master' into worktree/pr784-merge-20260728
2026-07-28 01:02:49 +08:00
imccyu
730657375f
Merge branch 'master' into worktree/web-session-model-selector
2026-07-28 00:56:56 +08:00
Tianyi Cui
c0b9734494
Merge remote-tracking branch 'origin/master' into worktree/pr784-merge-20260728
2026-07-28 00:52:23 +08:00
Tianyi Cui
9c6de3644e
Merge branch 'master' into archive-agent-notes-sweep-2
2026-07-28 00:49:13 +08:00
Chinesezjc
c136fa6f58
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
2026-07-28 00:42:37 +08:00
imccyu
af70af4020
Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector
2026-07-28 00:39:24 +08:00
Tianyi Cui
88aa3f8959
Merge remote-tracking branch 'origin/master' into worktree/pr703-ci-fix-20260727
2026-07-28 00:33:36 +08:00
Chinesezjc
30f0ac90f7
Merge remote-tracking branch 'origin/master' into fix/worker-timer-clamp
2026-07-28 00:33:02 +08:00
Tianyi Cui
cc8f6a30c0
Merge remote-tracking branch 'origin/master' into worktree/pr703-ci-fix-20260727
...
# Conflicts:
# docs/architecture.i18n.yaml
# packages/core/agent-loop/src/agent.ts
2026-07-28 00:23:27 +08:00
Chinesezjc
5d6a547d62
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
...
# Conflicts:
# examples/acp-agent/tests/snapshots/bash-spill/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/ui-conversation/README.i18n.yaml
2026-07-28 00:21:43 +08:00
Chinesezjc
3dc3e59b38
Merge remote-tracking branch 'origin/master' into fix/pty-handoff-grace
2026-07-28 00:17:25 +08:00
Tianyi Cui
cc5201a408
Merge remote-tracking branch 'origin/master' into worktree/worktree-local-lefthook-20260727
2026-07-28 00:08:43 +08:00
Chinesezjc
0982cc4fc0
Merge remote-tracking branch 'origin/master' into fix/worker-timer-clamp
2026-07-28 00:08:32 +08:00
Tianyi Cui
59122b9e85
Merge remote-tracking branch 'origin/master' into worktree/worktree-local-lefthook-20260727
2026-07-28 00:06:16 +08:00
Tianyi Cui
c982cf7805
refactor(dev-infra): narrow worktree hook safety checks
2026-07-28 00:05:31 +08:00
Tianyi Cui
4a45981e76
Merge remote-tracking branch 'origin/master' into worktree/pr743-merge-20260727
...
# Conflicts:
# examples/tui-agent/tests/snapshots/cordis-dynamic-toolchain/terminal.expected.txt
# packages/ui/tui/tests/snapshots/cordis-tools-pending.expected.txt
2026-07-28 00:03:56 +08:00
Chinesezjc
88f6da2350
Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
2026-07-28 00:02:44 +08:00