Commit Graph
2546 Commits
Author SHA1 Message Date
_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