Hypatia May
b78daaad8c
fix(session-query): keep model tools opt-in
2026-07-25 18:14:36 +08:00
Hypatia May
7cf5b08d07
Merge remote-tracking branch 'origin/master' into session-query-tool
...
# Conflicts:
# docs/core-data-structures/persistence.i18n.yaml
# packages/session-persistence/session-persistence-jsonl/src/index.ts
2026-07-25 15:43:45 +08:00
Tianyi Cui
a5820f264c
Merge origin/master into codex/trim-redundant-comments
2026-07-25 15:22:13 +08:00
Tianyi Cui
9873240390
fix: align empty-response retry with current master
2026-07-25 14:39:57 +08:00
Tianyi Cui
4d9cf310f3
Merge origin/master into feat/llm-empty-response-retry
2026-07-25 14:22:46 +08:00
Hypatia May
ddac36e46e
Merge remote-tracking branch 'origin/master' into session-query-tool
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/capability-seams.md
# examples/acp-agent/composition.md
# examples/acp-agent/cordis.yml
# examples/acp-agent/tests/snapshots/model-switching/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/model-switching/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/permission-switching/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/permission-switching/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/plan-mode/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/plan-mode/tool-schemas.expected.json
# packages/examples/acp-demo/README.md
# packages/host/runtime/README.md
# packages/support/acp-snapshot/src/normalize.ts
# packages/support/acp-snapshot/tests/normalize.spec.ts
# packages/ui/acp/tests/harness.ts
# scripts/type-equiv.manifest.json
# tsconfig.host.json
2026-07-25 14:17:24 +08:00
Turtle
2e84a1a194
Merge remote-tracking branch 'origin/master' into codex/trim-redundant-comments
...
# Conflicts:
# docs/config-catalog.md
# examples/acp-agent/tests/acp.e2e.ts
# packages/ui/acp/src/index.ts
# packages/ui/acp/tests/bridge.spec.ts
# packages/ui/acp/tests/config-options.spec.ts
# packages/ui/acp/tests/dispose.spec.ts
# packages/ui/acp/tests/properties.spec.ts
2026-07-25 13:36:21 +08:00
Tianyi Cui
c429ef0e95
Merge branch 'master' into feat/llm-empty-response-retry
2026-07-25 13:05:55 +08:00
Turtle
fac6c35e9a
Trim redundant source comments
2026-07-25 13:02:37 +08:00
Tianyi Cui
440384fdb4
Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-14-session-persistence.md
# .agents/notes/implemented/architecture/2026-06-20-package-hierarchy.md
# .agents/notes/implemented/architecture/2026-07-02-tool-render-intent-union.md
# .agents/notes/implemented/feature/2026-06-14-acp-agent-client-protocol.md
# .agents/notes/implemented/feature/2026-06-14-acp-multi-session.md
# .agents/notes/implemented/feature/2026-06-18-acp-terminal-and-tool-rendering.md
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.md
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.zh.md
# .agents/notes/implemented/simplification/2026-07-04-trim-acp-bridge-unreachable-surface.md
# docs/architecture.i18n.yaml
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/cookbook/extension-cookbook.md
# docs/cookbook/extension-cookbook.zh.md
# docs/core-data-structures/approval.md
# docs/core-data-structures/user-interaction.md
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# docs/testing.md
# docs/tool-catalog.md
# examples/acp-agent/tests/fixtures/live-mode-switching-2026-07-07.session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/permission-switching/session.jsonl
# packages/goal/tool-goal/README.md
# packages/ui/acp/README.md
# packages/ui/acp/acp-feature-support.md
# packages/ui/acp/src/index.ts
# packages/ui/acp/tests/bridge.spec.ts
# packages/ui/acp/tests/dispose.spec.ts
# packages/ui/acp/tests/edges.spec.ts
# packages/ui/acp/tests/turns.spec.ts
2026-07-24 23:43:10 +08:00
Hypatia May
cbc6d81fc3
Merge remote-tracking branch 'origin/master' into session-query-tool
...
# Conflicts:
# docs/architecture.i18n.yaml
2026-07-24 20:59:18 +08:00
Turtle
207aab9d8d
fix(llm): classify empty model completions as retryable EMPTY_RESPONSE
...
A well-formed provider stream that ends with finish_reason stop and zero
content blocks previously became a successful empty assistant message: the
turn completed silently, and drivers like goal-session counted the no-op
round. Both adapters now map that degenerate completion to a finish
{kind:'error'} with the new canonical EMPTY_RESPONSE code from dsh-llm, and
dsh-llm-retry adds the code to its default retryable set, so the existing
closed-step recovery path retries it and fails loud once the budget is
exhausted.
Covered by adapter unit tests, an llm-retry default-policy test, and a new
authored keyless ACP snapshot (empty-response-retry) with a deterministic
1 ms zero-jitter retry overlay.
2026-07-24 19:23:12 +08:00
Hypatia May
6be11539e2
fix: bind session authorization to observations
2026-07-24 16:40:08 +08:00
Hypatia May
c1f364b339
test: refresh session-query ACP snapshots
2026-07-24 16:16:07 +08:00
Hypatia May
a350e95165
feat(session-query): add model-facing tools (round 1)
2026-07-24 15:09:55 +08:00
Turtle
b02b438667
refactor(agent): align delivery method names
2026-07-24 15:08:36 +08:00
Tianyi Cui
d6d50deb24
refactor(agent): expose resolved input acceptance
2026-07-24 13:52:25 +08:00
Tianyi Cui
086e454931
refactor(agent): name delivery methods by intent
2026-07-24 12:27:20 +08:00
Tianyi Cui
e819a586b0
refactor(acp): reduce bridge to automation protocol
2026-07-24 01:40:25 +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
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
64eebc1b35
Merge branch 'master' into codex/plan-mode-active-exit
2026-07-23 21:52:23 +08:00
Turtle
98ee4ce429
fix(agent-loop): address review — quiet-item parking, meta, discard balance
...
Resolve six review findings on the unified-send change:
- quiet (wakeup:false) queued items no longer un-park the driver; the
inbox distinguishes hasWakingQueued (drives the loop, idle/quiescence)
from hasQueued (anything to dequeue), so a lone quiet item parks at idle
and rides the next waking send. whenIdle/cancel settle off the waking
signal, so cancelling a parked quiet item no longer hangs whenIdle.
- SendOptions.meta on queued/steering sends now reaches the durable
user/message and steering/message (was dropped except on injection).
- a terminal agent/turn-stop that drops pending steering emits
agent/inbox/discard so the enqueue-dequeue-or-discard ledger balances.
- the loop-authored continuation reason is snapshotted and frozen like a
public send.
- gen-cordis-api collects exported classes (body-stripped) so the now-
abstract-class Agent and its transitive shapes reappear in the API
catalog.
Adds regression tests for each and re-records the affected snapshot.
2026-07-23 21:41:42 +08:00
fz
a7b0e69797
test(snapshot): update plan command metadata
2026-07-23 21:22:36 +08:00
Turtle
c402cc2422
test(snapshot): re-record acp fixtures after merging master
...
Merge took master's snapshot fixtures; re-record the two keyless
scenarios so they reflect this branch's user/message coalescing and the
abstract Agent + AgentMessageId type dump.
2026-07-23 20:58:35 +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
44fd93fd06
feat(agent): unify send(target × wakeup), coalesce context/message into user/message
...
Replace send/steer/inject with one Agent.send primitive over the
(target × wakeup) matrix; followup/steer/inject become fixed-preset
alias methods on the now-abstract Agent class. Coalesce context/message
into user/message (injected context is a non-user source). Replace
agent/queued with agent/inbox/enqueue/dequeue/discard, add cancel
keepInbox, and add a FIFO-conservation invariant.
2026-07-23 19:15:45 +08:00
Tianyi Cui
fa5c3fa0b9
Merge origin/master into codex/code-mode-complete-result-card
2026-07-23 17:59:58 +08:00
Tianyi Cui
be62eecc60
test(acp): require a real sandbox denial
2026-07-23 16:39:02 +08:00
Tianyi Cui
2821826e2c
fix(pty): close final review gaps
2026-07-23 02:53:43 +08:00
Tianyi Cui
3f547a83d1
Merge branch 'codex/code-mode-typed-results' into codex/code-mode-complete-result-card
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-20-canonical-tool-output-contract.i18n.yaml
2026-07-23 00:03:56 +08:00
Tianyi Cui
8dbea80294
Merge branch 'codex/canonical-tool-output' into codex/code-mode-typed-results
2026-07-22 23:55:07 +08:00
Tianyi Cui
8d42d3c979
Merge branch 'codex/tool-json-schema-dsl' into codex/canonical-tool-output
...
# Conflicts:
# docs/config-catalog.md
# docs/persistence-catalog.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/agent-loop/tests/contract-regressions.spec.ts
# packages/ui/acp/src/index.ts
# packages/ui/tui/src/index.ts
2026-07-22 23:50:41 +08:00
Tianyi Cui
065d20c249
Merge remote-tracking branch 'origin/master' into codex/tool-json-schema-dsl
...
# Conflicts:
# scripts/type-equiv.manifest.json
2026-07-22 23:34:17 +08:00
Tianyi Cui
5689d1a9b4
Merge remote-tracking branch 'origin/master' into worktree/pty-review-fixes
...
# Conflicts:
# docs/module-graph.md
2026-07-22 23:27:17 +08:00
Tianyi Cui
d5d6960184
Merge remote-tracking branch 'origin/master' into worktree/pr468-retarget-latest-master
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/module-graph.md
2026-07-22 23:17:02 +08:00
Tianyi Cui
fed32c767d
Merge branch 'codex/tool-json-schema-dsl' into codex/canonical-tool-output
2026-07-22 23:12:20 +08:00
Tianyi Cui
a03ed8d60b
test(schema): refresh PTY tool header fixture
2026-07-22 23:08:22 +08:00
Tianyi Cui
1429c5d22f
Merge remote-tracking branch 'origin/master' into codex/tool-json-schema-dsl
2026-07-22 23:03:02 +08:00
Tianyi Cui
b65afd320a
Merge remote-tracking branch 'origin/master' into worktree/pr468-retarget-latest-master
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
2026-07-22 23:00:05 +08:00
Tianyi Cui
d1564f062b
Merge refreshed typed Code Mode results into result card fix
2026-07-22 22:54:55 +08:00
Tianyi Cui
73353d7a0f
Merge remote-tracking branch 'origin/feature/persistent-pty-sessions' into worktree/pty-review-fixes
2026-07-22 22:53:05 +08:00
Tianyi Cui
cf5dfe46e7
Merge remote-tracking branch 'origin/rfc/pty' into worktree/pr467-retarget-latest-master
2026-07-22 22:50:55 +08:00
Tianyi Cui
d92bb12963
Merge refreshed canonical outputs into typed Code Mode results
2026-07-22 22:50:28 +08:00
Tianyi Cui
3d9240e423
Merge refreshed schema DSL into canonical tool outputs
2026-07-22 22:46:10 +08:00
Tianyi Cui
1da62658a9
Merge updated feature/persistent-pty-sessions into review fixes
2026-07-22 22:44:01 +08:00
Tianyi Cui
d99094b1ac
Merge updated rfc/pty into feature/persistent-pty-sessions
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/core-data-structures/core.md
# pnpm-lock.yaml
# scripts/gen-cordis-catalog.ts
2026-07-22 22:43:20 +08:00
Tianyi Cui
c51c02cafa
Merge latest master into schema DSL
2026-07-22 22:42:43 +08:00
Tianyi Cui
59e325f571
Merge refreshed typed Code Mode results into result card fix
2026-07-22 22:38:23 +08:00