_Kerman
2154034a0b
fix(agent-loop): let a concluding tool result beat same-step steering
...
concludesTurn is terminal: a completed step now carries the concluded fact
to the driver, which ends the turn immediately instead of letting steering
that arrived during the tool batch (or from an agent/stopping listener)
reopen it. The steering is not lost — it drained into the log as
steering/message before the decision point, so it feeds the next turn's
request. Also annotates the driver's unreachable invariant guards
(exhaustiveness default, abort-slot ownership) for the coverage gate.
2026-07-26 11:47:25 +08:00
_Kerman
b36a82fc98
Merge branch 'master' into xtr/agent-loop-message-machine
2026-07-24 22:48:18 +08:00
_Kerman
992cf894af
refactor(agent): unify sourced message delivery
2026-07-24 22:38:50 +08:00
_Kerman
009d113e0e
refactor(agent): trim obsolete loop surfaces
2026-07-24 21:58:07 +08:00
_Kerman
194b18a32f
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
...
# Conflicts:
# docs/cordis-catalog/services.md
2026-07-24 21:41:02 +08:00
Tianyi Cui
158c5e913a
docs(i18n): refresh persistence docs after master merge
2026-07-24 21:27:22 +08:00
Tianyi Cui
d847b48479
Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master
2026-07-24 21:21:22 +08:00
Tianyi Cui
2584f029bc
Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master
...
# Conflicts:
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/cookbook/extension-cookbook.zh.md
2026-07-24 21:20:17 +08:00
_Kerman
b73eb7663c
refactor(agent-loop): simplify observable state machine
2026-07-24 21:18:48 +08:00
Tianyi Cui
46dfd503e0
Merge origin/master into codex/sqlite-metadata-contracts
2026-07-24 21:07:23 +08:00
Tianyi Cui
6865b861d8
docs(site): preserve translated core fragment ids
2026-07-24 18:32:31 +08:00
_Kerman
fb0ef82aa6
Merge remote-tracking branch 'origin/feat/send-unify' into xtr/agent-loop-message-machine
...
# Conflicts:
# packages/client/runtime/src/client/sessions/fold-adapter.ts
2026-07-24 18:24:28 +08:00
_Kerman
879bc71864
refactor(agent): require explicit send options
2026-07-24 18:23:24 +08:00
Tianyi Cui
b7a8a97034
Merge refreshed #343 into docs/i18n-batch-cds-postmortem
2026-07-24 17:39:54 +08:00
Tianyi Cui
305930712b
docs(i18n): bind authority terminology
2026-07-24 17:39:11 +08:00
_Kerman
1d9662a020
refactor(agent-loop): unify pending message representation
2026-07-24 17:23:33 +08:00
_Kerman
76d0e450ce
fix(agent): preserve thrown error values
2026-07-24 17:11:58 +08:00
Tianyi Cui
6b686aa832
docs(i18n): refresh session query snapshot contract
2026-07-24 17:07:23 +08:00
_Kerman
90e69a3123
refactor(agent): minimize inbox message contract
2026-07-24 17:00:42 +08:00
Turtle
d2b2539f3e
Merge remote-tracking branch 'origin/feat/send-unify' into feat/send-unify
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/architecture.md
2026-07-24 16:58:32 +08:00
Tianyi Cui
c962db28da
Merge refreshed #343 into docs/i18n-batch-cds-postmortem
2026-07-24 16:57:46 +08:00
Tianyi Cui
b040c6a1c9
Merge latest master into docs/i18n-batch-core
2026-07-24 16:55:08 +08:00
Turtle
80bbe959a7
Merge remote-tracking branch 'origin/master' into feat/send-unify
2026-07-24 16:52:46 +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
ZiyaZhang
33ee34b58e
fix(tui): make resume picker full-screen
2026-07-24 01:29:35 -07:00
Turtle
c440217fde
refactor(tui): defer cross-process resume locking
2026-07-24 01:29:35 -07:00
NI0317
54d986ed87
fix(tui): close resume handoff races
2026-07-24 01:29:35 -07:00
NI0317
2ae9f4fdf3
feat(tui): add safe session resume flow
2026-07-24 01:29:35 -07: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
Tianyi Cui
46a71ecf22
docs(i18n): address final core-data review
2026-07-24 16:21:48 +08:00
_Kerman
45fc7fda3d
refactor(agent-loop): separate injected context from turns
2026-07-24 16:05:52 +08:00
Tianyi Cui
c53f9324bc
Merge #343 into #344
2026-07-24 15:51:35 +08:00
Tianyi Cui
445bb89f03
docs(i18n): complete core batch review contract
2026-07-24 15:51:06 +08:00
Tianyi Cui
3122548be8
Merge #343 into #344
2026-07-24 15:16:55 +08:00
Tianyi Cui
bc329a962b
docs(i18n): codify review terminology
2026-07-24 15:16:18 +08:00
Turtle
b02b438667
refactor(agent): align delivery method names
2026-07-24 15:08:36 +08:00
Tianyi Cui
1b0988c92a
docs(i18n): address core translation review
2026-07-24 14:56:48 +08:00
Tianyi Cui
8345a73d97
Merge commit 'c3d9023fa' into worktree/pr344-retarget-stack
2026-07-24 14:43:09 +08:00
Tianyi Cui
9b38ccad54
docs(i18n): clarify optional rounds and test layout
2026-07-24 14:42:36 +08:00
Tianyi Cui
eceacca432
Merge commit '84ac8a3f9' into worktree/pr344-retarget-stack
2026-07-24 14:22:38 +08:00
Tianyi Cui
86d3bd6b9b
docs(i18n): clarify review terminology
2026-07-24 14:21:36 +08:00
Tianyi Cui
6e4aa13632
docs(i18n): clarify Cordis and test wording
2026-07-24 14:21:15 +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