Tianyi Cui
9a6914d845
feat(session): add out-of-band log appends
2026-07-21 01:53:08 +08:00
Tianyi Cui
1e73d96bb1
fix(llm): preserve empty assistant serialization
2026-07-21 01:38:21 +08:00
Tianyi Cui
7eee0b48b7
Merge codex/invariant-service-seam into codex/invariant-service-review-fixes
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.i18n.yaml
# scripts/test-invariants.ts
2026-07-21 01:25:18 +08:00
Tianyi Cui
d3ae708384
Merge origin/master into codex/invariant-service-seam
...
# Conflicts:
# docs/module-graph.md
2026-07-21 01:23:19 +08:00
Tianyi Cui
4466d582c4
Merge remote-tracking branch 'origin/feat/plan-mode' into codex/pr239-plan-mode-review-fixes
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-07-plan-mode.md
# .agents/notes/implemented/simplification/2026-07-04-fold-stdio-ui-helper.md
# docs/capability-seams.md
# docs/config-catalog.md
# docs/event-producer-consumer.md
# examples/acp-agent/tests/plan-mode.e2e.ts
# examples/acp-agent/tests/snapshots/plan-mode/tool-schemas.expected.json
# examples/plan-acp-agent/README.md
# examples/plan-acp-agent/cordis.yml
# examples/plan-acp-agent/tests/acp.snapshot.ts
# scripts/gen-doc-graphs.ts
2026-07-21 01:21:33 +08:00
Tianyi Cui
7677d49c93
test(snapshot): cover session-scoped sandbox roots
2026-07-21 01:16:29 +08:00
Tianyi Cui
55ef21d9d5
Merge origin/master into codex/invariant-service-seam
...
# Conflicts:
# docs/config-catalog.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/examples/agent-spine-demo/README.md
# packages/examples/agent-spine-demo/package.json
# packages/examples/agent-spine-demo/src/index.ts
# packages/examples/tui-demo/package.json
# packages/support/invariants/src/scoped-events.generated.ts
# packages/ui/acp/package.json
# packages/ui/tui/package.json
# packages/ui/tui/tests/tui.spec.ts
# pnpm-lock.yaml
2026-07-21 01:13:28 +08:00
Tianyi Cui
8500974fd4
feat: unify JSON value schema DSL
2026-07-21 01:11:55 +08:00
Tianyi Cui
3947312432
Merge remote-tracking branch 'origin/master' into codex/pr239-parent-retarget-publish
...
# Conflicts:
# packages/core/tools/tests/gen-tool-catalog.spec.ts
2026-07-21 00:58:16 +08:00
Tianyi Cui
c17ef5e8e1
Merge remote-tracking branch 'origin/master' into codex/session-scoped-sandbox-roots
2026-07-21 00:56:24 +08:00
Tianyi Cui
9ed4ce8267
Merge remote-tracking branch 'origin/master' into codex/session-scoped-sandbox-roots
...
# Conflicts:
# packages/examples/agent-spine-demo/package.json
# pnpm-lock.yaml
2026-07-21 00:55:48 +08:00
Tianyi Cui
8c6ba1736f
Merge remote-tracking branch 'origin/master' into codex/pr239-parent-retarget-publish
...
# Conflicts:
# docs/cookbook/extension-cookbook.i18n.yaml
# examples/acp-agent/tests/acp.snapshot.ts
# 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/config-options/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/escalation-approved/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/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/handshake/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-block/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-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/permission-switching/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
2026-07-21 00:54:51 +08:00
Tianyi Cui
962c43aa9e
Merge remote-tracking branch 'origin/master' into codex/pr239-parent-retarget-publish
...
# Conflicts:
# docs/capability-seams.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/config-options/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/escalation-approved/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/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/handshake/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-block/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-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/permission-switching/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
# packages/core/tools/tests/gen-tool-catalog.spec.ts
# packages/ui/acp/acp-feature-support.md
# packages/ui/acp/src/index.ts
# scripts/gen-doc-graphs.ts
2026-07-21 00:50:00 +08:00
Tianyi Cui
167a5e95e0
Merge codex/invariant-service-seam into codex/invariant-service-review-fixes
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.i18n.yaml
# scripts/test-invariants.spec.ts
# scripts/test-invariants.ts
2026-07-21 00:47:02 +08:00
Tianyi Cui
4e7a687c0b
Merge origin/master into codex/invariant-service-seam
...
# Conflicts:
# docs/architecture.md
# docs/capability-seams.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/support/invariants/package.json
# packages/support/invariants/src/scoped-events.generated.ts
# packages/support/invariants/tests/invariants.spec.ts
# packages/support/invariants/tsconfig.json
# pnpm-lock.yaml
2026-07-21 00:44:39 +08:00
Tianyi Cui
ec98bb4318
Merge remote-tracking branch 'origin/master' into codex/session-scoped-sandbox-roots
2026-07-21 00:44:38 +08:00
Tianyi Cui
ff21f91a39
fix(sandbox): resolve workspace roots per session
2026-07-21 00:44:28 +08:00
Tianyi Cui
0022979e4c
Merge remote-tracking branch 'origin/master' into codex/pr239-parent-retarget-publish
...
# Conflicts:
# docs/architecture.md
2026-07-21 00:32:01 +08:00
Tianyi Cui
9848fdf93e
refactor: remove unrelated helper extractions
2026-07-21 00:25:51 +08:00
Tianyi Cui
0c08e34a4a
fix(invariants): harden runtime contracts and gates
2026-07-21 00:25:38 +08:00
Tianyi Cui
81cdebc531
fix(hooks): require invocation signals
2026-07-21 00:08:44 +08:00
Tianyi Cui
72f0019c4e
Merge remote-tracking branch 'origin/codex/enforce-tool-cancellation' into worktree/explicit-turn-signal
...
# Conflicts:
# docs/architecture.md
# docs/cordis-catalog/events.md
# docs/event-producer-consumer.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/README.md
# packages/core/agent-loop/src/loop.ts
# packages/core/agent/README.md
# packages/examples/cli-demo/src/cli.ts
# packages/ui/tui/tests/tui.spec.ts
2026-07-21 00:02:17 +08:00
Tianyi Cui
bd1805c637
fix(tools): close cancellation review gaps
2026-07-20 23:44:07 +08:00
Tianyi Cui
5eb592aa89
Merge branch 'codex/goal-commands' into codex/ralph-tool
2026-07-20 23:39:48 +08:00
Tianyi Cui
9140f91561
Merge branch 'codex/commands' into codex/goal-commands
2026-07-20 23:39:41 +08:00
Tianyi Cui
9f59f198d8
Merge branch 'codex/goal-session' into codex/commands
2026-07-20 23:39:36 +08:00
Tianyi Cui
01ac16b04b
fix(mode): guard suspended retry flush disposal
2026-07-20 23:37:25 +08:00
Tianyi Cui
7d697315f6
fix(mode): apply mode flips before request retries
2026-07-20 23:37:25 +08:00
Tianyi Cui
deed5784d9
docs(mode): align review surface contracts
2026-07-20 23:37:10 +08:00
Tianyi Cui
897dc82d9b
fix(mode): stabilize plan-mode model experience
2026-07-20 23:37:01 +08:00
Tianyi Cui
2aae64b5da
fix(goal-session): preserve typed error variants
2026-07-20 23:35:49 +08:00
Tianyi Cui
28a74d6d7e
fix(mode): finish master retarget integration
2026-07-20 23:32:37 +08:00
Tianyi Cui
0246806fec
Merge origin/master into feat/plan-mode
2026-07-20 23:28:07 +08:00
Tianyi Cui
e92b34bd7e
fix(invariants): enforce runtime relationships
2026-07-20 23:16:08 +08:00
Tianyi Cui
cbae54c184
Merge branch 'codex/goal-commands' into codex/ralph-tool
...
# Conflicts:
# docs/module-graph.md
2026-07-20 23:15:34 +08:00
Tianyi Cui
a9a9d40cb1
Merge branch 'codex/commands' into codex/goal-commands
...
# Conflicts:
# docs/config-catalog.md
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/error-finish/stdout.expected.jsonl
# packages/examples/acp-demo/README.md
# packages/examples/acp-demo/src/index.ts
# packages/examples/agent-spine-demo/README.md
# packages/examples/agent-spine-demo/package.json
# packages/examples/agent-spine-demo/src/index.ts
2026-07-20 23:10:33 +08:00
Tianyi Cui
22fa51845e
Merge branch 'codex/goal-session' into codex/commands
...
# Conflicts:
# docs/config-catalog.md
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/error-finish/stdout.expected.jsonl
# packages/ui/acp/README.md
# packages/ui/tui/README.md
2026-07-20 23:03:55 +08:00
Tianyi Cui
4311aaabb0
Merge remote-tracking branch 'origin/master' into codex/enforce-tool-cancellation
...
# Conflicts:
# docs/cookbook/adding-a-tool.i18n.yaml
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# packages/bash/tool-bash/src/index.ts
# packages/core/agent-loop/README.md
# packages/core/tools/README.md
# packages/core/tools/tests/scoped.spec.ts
# packages/fs/tool-fs-search/tests/tools.spec.ts
# website/zh-CN/api/harness/events.md
# website/zh-CN/api/harness/tools.md
2026-07-20 23:00:21 +08:00
Tianyi Cui
de72f972b7
Exercise normalized goal-round rate limits
2026-07-20 22:58:01 +08:00
Tianyi Cui
f98f0e9838
Merge branch 'codex/goal-tools' into codex/goal-session
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/event-producer-consumer.md
# packages/core/agent-loop/README.md
# packages/core/agent/README.md
2026-07-20 22:57:14 +08:00
Tianyi Cui
ea530241d8
Merge branch 'codex/goal-domain' into codex/goal-tools
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/event-producer-consumer.md
2026-07-20 22:50:36 +08:00
Tianyi Cui
1616343423
test(tui): await validation render
2026-07-20 22:50:19 +08:00
Tianyi Cui
023cde5d82
Merge latest master into invariant service seam
2026-07-20 22:49:27 +08:00
Yichen Jiang
a5404ec25e
Merge remote-tracking branch 'origin/master' into worktree/tui-session-controls
...
# Conflicts:
# docs/config-catalog.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/ui/acp/src/index.ts
# packages/ui/tui/README.md
# packages/ui/tui/src/index.ts
# packages/ui/tui/tsconfig.json
2026-07-20 22:47:55 +08:00
Tianyi Cui
076e46ebc0
Merge branch 'rfc/loop' into codex/goal-domain
...
# Conflicts:
# docs/event-producer-consumer.md
# docs/module-graph.md
2026-07-20 22:46:26 +08:00
Yichen Jiang
2c075711eb
feat(tui): add session controls and compact views
2026-07-20 22:44:01 +08:00
Tianyi Cui
62b40e8634
Merge master into worktree-windows-runtime
2026-07-20 22:30:29 +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
5c301febbf
Merge branch 'codex/commands' into codex/goal-commands
...
# Conflicts:
# docs/architecture.md
# docs/config-catalog.md
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/module-graph.md
# packages/examples/README.md
# packages/examples/agent-spine-demo/README.md
# packages/examples/stdio-demo/README.md
# packages/examples/stdio-demo/src/index.ts
# packages/examples/stdio-demo/tests/stdio-agent.spec.ts
2026-07-20 22:18:20 +08:00
Turtle
f81d382230
fix(tui): make color-scheme detection fully covered and race-free
...
The color-scheme detection block left packages/ui/tui/src/index.ts below
the 100% per-file coverage gate on three counts: the .then callback's
`scheme === undefined` branch was reachable only via the 2s query
timeout, the .catch only via a query-write failure, and the
`editor.borderColor` assignment inside applyColorScheme was dead code —
the next line's setStatus() immediately reassigns editor.borderColor.
Register the scheme listener before firing the startup query so the
query's own reply is delivered through the listener (the same path as
later theme switches), which removes the redundant .then re-application
and its uncoverable undefined branch, and closes the theoretical window
where a synchronous reply lands before the listener exists. Drop the
dead editor.borderColor line. Cover the rest: a same-scheme report
(early return) and a terminal that throws on the query write (the
swallowed .catch).
2026-07-20 22:17:35 +08:00