_Kerman
90e69a3123
refactor(agent): minimize inbox message contract
2026-07-24 17:00:42 +08:00
_Kerman
b3c1abac67
refactor(agent-loop): rely on eager session persistence
2026-07-24 16:40:33 +08:00
_Kerman
6945a2c37d
Merge remote-tracking branch 'origin/feat/send-unify' into xtr/agent-loop-message-machine
2026-07-24 16:31:49 +08:00
Turtle
bb124c2869
Merge branch 'master' into feat/send-unify
2026-07-24 16:31:00 +08:00
_Kerman
66645638fb
Merge remote-tracking branch 'origin/feat/send-unify' into xtr/agent-loop-message-machine
...
# 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/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/core-data-structures/core.md
# packages/context/session-reference/README.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/agent.ts
# packages/core/agent-loop/src/inbox.ts
# packages/core/agent-loop/tests/agent.spec.ts
# packages/core/agent-loop/tests/cancel.spec.ts
# packages/core/agent-loop/tests/contract-regressions.spec.ts
# packages/core/agent-loop/tests/coverage-edges.spec.ts
# packages/core/agent-loop/tests/interception.spec.ts
# packages/core/agent-loop/tests/loop.spec.ts
# packages/core/agent/README.md
# packages/core/agent/src/types.ts
# packages/core/agent/tests/agent.spec.ts
# packages/ui/acp/src/index.ts
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/harness.ts
2026-07-24 16:25:53 +08:00
_Kerman
45fc7fda3d
refactor(agent-loop): separate injected context from turns
2026-07-24 16:05:52 +08:00
Turtle
b02b438667
refactor(agent): align delivery method names
2026-07-24 15:08:36 +08:00
_Kerman
fdeadc9dda
Merge remote-tracking branch 'origin/feat/send-unify' into xtr/agent-loop-message-machine
...
# 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
# packages/context/workspace-context/README.md
# packages/core/agent-loop/src/agent.ts
# packages/core/agent-loop/src/inbox.ts
# packages/core/agent-loop/tests/agent.spec.ts
# packages/core/agent-loop/tests/inbox.spec.ts
# packages/goal/goal/README.md
2026-07-24 14:14:12 +08:00
_Kerman
5c7505b208
refactor(agent): remove message metadata channel
2026-07-24 14:05:33 +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
_Kerman
7d5c8b12c0
fix(agent-loop): preserve unified send contracts
2026-07-24 13:20:51 +08:00
Tianyi Cui
086e454931
refactor(agent): name delivery methods by intent
2026-07-24 12:27:20 +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
f7c68394a5
Merge branch 'master' into docs/i18n-prompt-v4
2026-07-23 23:26:29 +08:00
Tianyi Cui
f27f8f6162
Merge commit 'refs/codex-unblock/20260723/pr570-master-initial' into worktree/pr570-merge-master-20260723
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-18-shared-persistence-write-coordinator.md
# docs/core-data-structures/persistence.md
# packages/session-persistence/session-persistence/README.md
2026-07-23 23:21:08 +08:00
Tianyi Cui
6e05708ef4
Merge remote-tracking branch 'origin/master' into worktree/pr348-retarget-latest-master
2026-07-23 23:13:43 +08:00
Tianyi Cui
d1b5f5c64f
Merge remote-tracking branch 'origin/master' into worktree/pr348-retarget-latest-master
...
# Conflicts:
# vitest.snapshot.config.ts
2026-07-23 22:46:19 +08:00
Turtle
d5f88f1221
Merge remote-tracking branch 'origin/master' into feat/send-unify
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/pty/pty-local/tests/index.spec.ts
# packages/session-query/session-query/tests/tracing.spec.ts
2026-07-23 22:41:45 +08:00
Tianyi Cui
7a09ca8cd2
Merge remote-tracking branch 'origin/master' into worktree/pr540-merge-master-20260723
2026-07-23 22:34:49 +08:00
Turtle
1f9a3e1bee
fix(agent-loop): second review pass — late-steering discard, dead-branch, catalog leaks
...
Address a second fresh-eye review of the review fixes:
- MAJOR: late steering that lands after runTurn returns terminally
stopped (e.g. during the post-turn flush) was drained by runLoop and
dropped without a discard, leaving a dangling outstanding id the
negative-only invariant can't catch. Emit agent/inbox/discard for it,
symmetric with the in-turn terminal-stop drop.
- remove the dead cancel() idle-settle branch: whenIdle's fast path
already resolves for a lone quiet item, so no waiter is ever left for
it to settle. Document why.
- gen-cordis-api classShape now drops private/protected/#private members
and strips getter/setter bodies, so Session no longer leaks private
fields and getter bodies into the model catalog.
- document that AgentMessage intentionally omits meta (durable-only).
Adds a regression test for the late-steering discard.
2026-07-23 22:33:12 +08:00
Tianyi Cui
9fdbae66e7
Merge remote-tracking branch 'origin/master' into worktree/pr576-merge-master-20260723
2026-07-23 22:18:30 +08:00
Tianyi Cui
c688aa486c
Merge remote-tracking branch 'origin/master' into worktree/remove-expose-internals
2026-07-23 22:08:44 +08:00
Tianyi Cui
ce232f8e28
Merge remote-tracking branch 'origin/master' into worktree/web-session-titles
2026-07-23 22:07:31 +08:00
Tianyi Cui
85335acd10
Merge remote-tracking branch 'origin/master' into worktree/web-session-titles
2026-07-23 22:00:59 +08:00
Tianyi Cui
404da65595
Merge branch 'master' into worktree/web-session-titles
...
# Conflicts:
# apps/web/tests/smoke-real.e2e.ts
# packages/client/connection/tests/fixture.spec.ts
# packages/host/runtime/README.md
# packages/host/runtime/src/api-proxy.ts
2026-07-23 22:00:17 +08:00
Tianyi Cui
db99f6881d
Merge remote-tracking branch 'origin/master' into worktree/pr348-retarget-latest-master
2026-07-23 21:56:10 +08:00
Hypatia May
00191e75dd
Merge remote-tracking branch 'origin/master' into session-query-search
2026-07-23 21:55:59 +08:00
Tianyi Cui
89ae483af9
fix(i18n): make unlisted terms target-aware
2026-07-23 21:55:07 +08:00
Tianyi Cui
64eebc1b35
Merge branch 'master' into codex/plan-mode-active-exit
2026-07-23 21:52:23 +08:00
Tianyi Cui
6046a13a29
fix(i18n): harden prompt v4 contract
2026-07-23 21:44:41 +08:00
Hypatia May
72fdf57c00
Merge remote-tracking branch 'origin/session-query-search' into session-query-search
2026-07-23 21:34:23 +08:00
Hypatia May
9482affc48
fix(session-query): make persisted observation non-mutating
2026-07-23 21:33:28 +08:00
_Kerman
c596dddfe1
fix: return stored metadata from live loads
2026-07-23 21:28:52 +08:00
Tianyi Cui
454f3ffb21
Merge remote-tracking branch 'origin/master' into worktree/pr348-retarget-latest-master
2026-07-23 21:21:53 +08:00
Tianyi Cui
216b0bfb6c
Merge remote-tracking branch 'origin/master' into worktree/pr348-retarget-latest-master
...
# Conflicts:
# docs/i18n/README.i18n.yaml
# docs/i18n/translation-prompt.md
# pnpm-lock.yaml
2026-07-23 21:18:14 +08:00
Tianyi Cui
f9120a944c
Merge master into session-query-search
2026-07-23 21:18:05 +08:00
Hypatia May
c1fa985c20
Merge remote-tracking branch 'origin/master' into session-query-search
...
# Conflicts:
# docs/architecture.i18n.yaml
# packages/client/ui-sidebar/tests/sidebar-root.spec.tsx
# packages/session-persistence/session-persistence-jsonl/src/index.ts
# packages/session-persistence/session-persistence/README.md
2026-07-23 21:13:29 +08:00
Tianyi Cui
bd04f759a0
Merge master into worktree/pty-review-fixes
2026-07-23 21:09:10 +08:00
fz
8e4f666238
feat(plan): add direct plan exit command
2026-07-23 21:06:03 +08:00
_Kerman
4e5166828b
fix: reserve cold loads across repair
2026-07-23 20:58:20 +08:00
Turtle
a3ad5241ba
Merge remote-tracking branch 'origin/master' into feat/send-unify
...
# Conflicts:
# docs/persistence-catalog.md
# 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/cordis-inspect-jsdoc/stdout.expected.jsonl
# packages/context/time-context/tests/time-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
2026-07-23 20:54:48 +08:00
Tianyi Cui
26bfd37da0
Merge commit 'refs/codex-unblock/20260723/master' into worktree/pty-review-fixes
...
# Conflicts:
# .agents/notes/implemented/feature/2026-06-30-interception-seams.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/tools.md
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/tools/README.md
# packages/core/tools/src/index.ts
# packages/core/tools/src/schema.ts
# packages/core/tools/tests/tools.spec.ts
# packages/pty/tool-pty/README.md
# packages/pty/tool-pty/src/index.ts
# packages/pty/tool-pty/src/render.ts
# packages/tasks/tool-tasks/README.md
# packages/tasks/tool-tasks/src/index.ts
2026-07-23 20:50:45 +08:00
Turtle
866b543700
docs(agent): fix stale 'info' param name in agent/inbox/enqueue JSDoc
...
The @param was renamed info→message; the body sentence still named info.
Found by fresh-eye review. Regenerated the catalog/graph docs.
2026-07-23 20:50:13 +08:00
Turtle
3fd72f7c74
feat(agent): rename InboxItemInfo to AgentMessage with an id; send returns it
...
Add a branded AgentMessageId assigned to each accepted send message and
returned from send/followup/steer/inject (was void). Rename the inbox
event payload InboxItemInfo to AgentMessage, carrying that id so a caller
can correlate a queued item with its enqueue/dequeue/discard events.
2026-07-23 20:45:29 +08:00
imccyu
8f54ccae7f
Merge branch 'worktree/web-carrier-chain' into worktree/web-ask-user-question
2026-07-23 20:36:20 +08:00