Tianyi Cui
1167ea71b7
Merge latest master through rfc/pty into feature/persistent-pty-sessions
...
# Conflicts:
# docs/module-graph.md
2026-07-22 21:21:58 +08:00
Tianyi Cui
c848c7b15e
Merge refreshed rfc/pty into feature/persistent-pty-sessions
...
# Conflicts:
# docs/architecture.md
# docs/capability-seams.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/module-graph.md
# docs/tool-catalog.md
# examples/acp-agent/tests/acp.snapshot.ts
# examples/headless-agent/tests/headless.snapshot.ts
# examples/package.json
# packages/README.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/tools/tests/gen-tool-catalog.spec.ts
# pnpm-lock.yaml
# pnpm-workspace.yaml
# scripts/gen-tool-catalog.ts
# scripts/type-equiv.manifest.json
# website/.vitepress/config/api-sidebar.json
2026-07-22 21:12:16 +08:00
Turtle
7eec0d81ec
test(snapshot): reconcile replay overlays with the merged configs and fixtures
...
- acp/headless whole-config snapshot patches restate persistenceCompression:
none so raw JSONL fixtures stay harvestable, and re-pin the recorded
deepseek-v4-flash where the shipped config moved to pro
- depth-two overlay gains the app-config re-pin master's other overlays carry
- headless-agent stays on flash: goal/ralph overlays include it via a nested
include, which a config patch cannot reach to re-pin
- workspace-context scenarios re-record their session fixtures for the
per-candidate scope keys and both-siblings loading; acp session fixtures
otherwise return to master's (session/title + delegationDepth events)
2026-07-22 14:29:52 +08:00
Turtle
0e06d0691d
feat(examples): default agent configs to DeepSeek Pro Max Thinking
2026-07-22 14:29:28 +08:00
Tianyi Cui
3a895ce815
Merge master into codex/session-title
2026-07-21 21:11:32 +08:00
NI0317
a7bfade7eb
refactor(pty): rename model-facing tools to terminal_* and harden teardown
...
Rename the six model-facing tools pty_* -> terminal_* and align every
description, guidance section, ACP card title, and rendered result to
terminal terminology. Package and service internals keep their technical
PTY names (PtyService, "unknown PTY session", node-pty).
Harden the local backend teardown:
- a failed close is retryable: drop the memoized rejection so a later
terminal_close re-runs against the live process table
- service disposal clears the backend, reservation, and owner-cleanup
registries even when a close fails
- stop readiness polling before teardown so an in-flight send settles as
session_exit instead of a mis-inferred wait reason
- bound the sanitizer's pending buffer against unterminated escape runs
Update the tool catalog, package READMEs, the bilingual Agent Note, and the
acp/headless pty-tools snapshots to match.
2026-07-21 19:29:56 +08:00
NI0317
58cde5103a
feat: add persistent PTY sessions
2026-07-21 16:01:00 +08:00
Yichen Jiang
b6f6c58435
Merge remote-tracking branch 'origin/master' into worktree/routed-model-compaction-policy
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.md
# .agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.zh.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# examples/headless-agent/tests/harness.ts
# examples/repl-agent/cordis.yml
# packages/compact/compact-basic/README.md
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/compact/compact-basic/tests/loader-composition.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/llm/README.md
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-pi-ai/src/adapter.ts
# packages/llm/llm/README.md
# packages/llm/llm/src/index.ts
# scripts/gen-cordis-catalog.ts
# website/zh-CN/api/harness/events.md
# website/zh-CN/api/harness/llm.md
# website/zh-CN/api/harness/token-meter.md
# website/zh-CN/guide/config.md
2026-07-21 10:17:55 +08:00
Tianyi Cui
bb7db52941
Merge remote-tracking branch 'origin/master' into codex/session-title
...
# Conflicts:
# docs/architecture.md
# docs/config-catalog.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/advanced-toolchain/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/bash-spill/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/cancel-tool-calls/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/cancel/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/error-finish/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-policy-reject/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-read-window/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-read/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-terminal-card/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-write-overwrite/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-write/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-block/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-deny/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-stop-continue/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-block/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-pretool-block/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-stop-continue/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/model-switching/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/multi-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/parallel-tool-calls/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/repeat-tool-guard/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/skill-load/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/text-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/todo-plan/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/tool-call-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/workspace-edit/stdout.expected.jsonl
# examples/headless-agent/tests/headless.snapshot.ts
# packages/examples/README.md
# packages/examples/agent-spine-demo/README.md
# packages/examples/agent-spine-demo/package.json
# packages/ui/README.md
# packages/ui/acp/README.md
2026-07-21 02:13:10 +08:00
Tianyi Cui
f71f96d292
feat(session-title): integrate queries ACP and TUI
2026-07-21 01:53:37 +08:00
Tianyi Cui
1b04e8eb2b
Merge branch 'codex/goal-commands' into codex/ralph-tool
...
# Conflicts:
# examples/repl-agent/README.md
# examples/repl-agent/composition.md
# examples/repl-agent/cordis.yml
2026-07-20 22:25:16 +08:00
Tianyi Cui
41196b7e4f
Merge branch 'codex/goal-tools' into codex/goal-session
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-20 21:55:13 +08:00
Tianyi Cui
9d0a75b154
Merge branch 'codex/goal-domain' into codex/goal-tools
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-20 21:44:06 +08:00
Tianyi Cui
11afddf61d
Merge branch 'rfc/loop' into codex/goal-domain
...
# Conflicts:
# docs/event-producer-consumer.md
# knip.json
2026-07-20 21:37:04 +08:00
Tianyi Cui
30d2ec4a95
Merge branch 'codex/goal-commands' into codex/ralph-tool
...
# Conflicts:
# examples/acp-agent/tests/snapshots/advanced-toolchain/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/advanced-toolchain/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/both-mode-turn/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/both-mode-turn/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/code-mode-turn/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/model-switching/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/permission-switching/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/skill-load/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/text-turn/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/workspace-edit/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/workspace-edit/tool-schemas.expected.json
# scripts/gen-tool-catalog.ts
2026-07-20 21:05:05 +08:00
Tianyi Cui
eb5ae54a79
Merge branch 'codex/goal-tools' into codex/goal-session
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.i18n.yaml
# docs/cordis-catalog/events.md
# docs/core-data-structures/core.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/package.json
# packages/core/agent/README.md
# packages/core/agent/src/types.ts
# website/zh-CN/api/harness/events.md
2026-07-20 20:35:15 +08:00
Tianyi Cui
3e3f9a911d
Merge branch 'codex/goal-domain' into codex/goal-tools
...
# Conflicts:
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/core/agent/README.md
# website/zh-CN/api/harness/events.md
2026-07-20 20:21:01 +08:00
Tianyi Cui
e5ac87454b
Merge remote-tracking branch 'origin/master' into codex/remove-stdio-agent
...
# Conflicts:
# AGENTS.md
# docs/config-catalog.md
# examples/echo-agent/README.md
# packages/examples/stdio-demo/README.md
# packages/examples/stdio-demo/src/index.ts
# packages/examples/stdio-demo/tests/built-bin.e2e.ts
# packages/examples/stdio-demo/tests/stdio-agent.spec.ts
# scripts/run-gates.ts
2026-07-20 20:20:21 +08:00
Tianyi Cui
44ad2ef073
Remove the Echo agent
2026-07-20 20:16:41 +08:00
Tianyi Cui
153e4b47bd
Merge branch 'master' into codex/jsonl-zstd-persistence
2026-07-20 19:58:41 +08:00
Tianyi Cui
2191d45ece
Merge origin/master into codex/remove-stdio-agent
...
# Conflicts:
# examples/repl-agent/cordis.yml
2026-07-20 19:58:40 +08:00
Tianyi Cui
4cadf096ce
Remove the stdio agent
2026-07-20 19:26:04 +08:00
Tianyi Cui
9f6f87cf69
test(ralph): snapshot fresh-agent rounds in headless app
2026-07-20 18:18:08 +08:00
Tianyi Cui
94a6a95c8e
Merge PR #415 into Ralph tool stack
2026-07-20 18:10:21 +08:00
Tianyi Cui
41d3e78d3a
test(snapshots): require explicit delegation depth
2026-07-20 17:59:13 +08:00
Tianyi Cui
77ab5516a9
Merge goal tool fixes and align same-session blockers
2026-07-20 17:23:55 +08:00
Tianyi Cui
15640ca697
fix(goal): require explained model blockers
2026-07-20 16:53:10 +08:00
Yichen Jiang
cfa180c127
Resolve compaction policy per routed model
2026-07-20 15:34:00 +08:00
Yichen Jiang
f2a813b791
Merge remote-tracking branch 'origin/master' into fix/subagent-depth-budget
2026-07-20 15:15:31 +08:00
Tianyi Cui
b808026859
feat(workflow): add fresh-agent Ralph tool
2026-07-20 00:51:19 +08:00
Tianyi Cui
d139948ed2
feat(persistence): compress JSONL logs with Zstandard
2026-07-20 00:06:21 +08:00
Tianyi Cui
0893aaa7cb
test: rename golden snapshot files to expected
2026-07-19 17:45:49 +08:00
Yichen Jiang
cb74477d42
feat(tool-subagent): default maxDepth 1 with at-cap schema hiding
...
An omitted maxDepth meant unbounded recursion, and the shipped examples
shipped that default. maxDepth now defaults to 1; a numeric cap requires
the provider's depthLimit capability (the mount fails loud and points to
the explicit 'provider-managed' opt-out for out-of-process providers),
and a child AT the cap loses the delegating tool from its own schema via
the child toolFilter — prompt-face hiding on top of the execution-face
depth check. Examples pin maxDepth explicitly. The ACP snapshot harness
gains Scenario.childToolOmissions so a child session may legitimately
omit declared delegation tools from its pinned header and prompt;
affected subagent/workflow goldens are re-recorded.
2026-07-19 17:20:49 +08:00
Yichen Jiang
0d00106fa8
fix(session): persist the delegation depth in the session header
...
A subagent child's recursion depth lived only in runtime AgentOptions,
so a persisted child came back from resume counted as top-level and
maxDepth stopped binding after every restart. Add
SessionHeader.delegationDepth, round-trip it through the JSONL and
SQLite backends (SQLite schema v5), restore it on agent-loop resume,
and write it when the in-process backends create a child. The seam now
owns the shared depth vocabulary (delegationDepthOf): the persisted
header is authoritative and monotone — runtime options may deepen it
but never lower it.
2026-07-19 17:20:36 +08:00
Tianyi Cui
692ef8e61f
test: align headless replay with model routing
2026-07-19 13:37:27 +08:00
Tianyi Cui
89987f0ad4
docs: align one-shot demo prose
2026-07-19 13:25:30 +08:00
Tianyi Cui
53c729e00b
Merge remote-tracking branch 'origin/master' into codex/cli-one-shot-demo
...
# Conflicts:
# AGENTS.md
# docs/architecture.md
# docs/capability-seams.md
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.md
# knip.json
# packages/README.md
# packages/support/loader-smoke/README.md
# packages/support/loader-smoke/src/index.ts
# vitest.snapshot.config.ts
2026-07-19 13:11:50 +08:00
Tianyi Cui
8d35092e26
fix(examples): isolate headless agent example
2026-07-16 16:12:27 +08:00