Tianyi Cui
c06e6bea0b
Merge origin/master into feat/tui-package
...
Master unifies every live agent with its exact SessionId and moves declarative startup failures to agent-loop/config-start-failed. Keeping the branch’s AgentId label binding would let the TUI target the wrong lifecycle after reload and would miss asynchronous resume failures.
Resolve that contract migration by giving the selected terminal front door the same generated or resumed SessionId as agent-core, mounting the front door first, and entering fullscreen only after the matching root appears. Refresh the source-derived catalogs and keyless terminal goldens so Code Mode, workflow, Cordis-tool, and transient UI scenarios all exercise the merged identity model.
2026-07-19 11:37:14 +08:00
Tianyi Cui
b5e8e4e9c1
fix(tui): neutralize terminal controls at display boundary
...
Model responses, replayed session data, tool presenter output, question metadata, configuration, and diagnostics all cross into ANSI-aware pi-tui renderers. Passing their C0 or C1 controls through unchanged lets an otherwise ordinary transcript emit OSC, CSI, cursor, or title operations in the user terminal.
Introduce one displayText boundary that preserves line-feed layout but renders every other C0/C1 control as visible \\xNN text before application styling is applied. Route transcript blocks, streaming output, tool cards, diffs, plans, dialogs, headers, cwd/title data, notices, errors, and pre-mount startup failures through that boundary while leaving pi-tui and the theme responsible for legitimate terminal control sequences.
Pin the contract at three levels: a settled headless-terminal golden spans the main untrusted display sources, unit coverage checks the pre-fullscreen failure path, and the real Loader/PTY conversation streams hostile OSC, cursor, and C1 probes and proves only their inert textual forms reach the terminal stream.
2026-07-19 10:50:19 +08:00
Tianyi Cui
7e0bf44f09
Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop
2026-07-19 02:39:09 +08:00
Tianyi Cui
a656ab4120
Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue
2026-07-19 02:39:09 +08:00
Tianyi Cui
0c84c2a842
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
2026-07-19 02:39:09 +08:00
Tianyi Cui
d2b2f1245f
Merge remote-tracking branch 'origin/master' into codex/simp-trim-hook-snapshot-noise
2026-07-19 02:36:11 +08:00
Tianyi Cui
e3f26237a4
Merge remote-tracking branch 'origin/master' into feat/tui-package
2026-07-19 02:21:11 +08:00
Tianyi Cui
64e920fad7
Merge remote-tracking branch 'origin/master' into feat/tui-package
2026-07-19 02:10:33 +08:00
Tianyi Cui
7b076a1e01
Merge remote-tracking branch 'origin/master' into codex/simp-prune-llm-contract
2026-07-19 02:10:25 +08:00
Tianyi Cui
fa810479ae
Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop
2026-07-19 02:03:47 +08:00
Tianyi Cui
3d19252e96
test: refresh parallel tool call permission snapshot
2026-07-19 02:03:35 +08:00
Tianyi Cui
18653a9ff7
Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# packages/core/agent-loop/tests/agent.spec.ts
# packages/core/agent-loop/tests/contract-regressions.spec.ts
# website/zh-CN/api/harness/agent-loop.md
# website/zh-CN/api/harness/events.md
2026-07-19 01:57:18 +08:00
Tianyi Cui
b61e68ae8c
Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-19 01:55:29 +08:00
Tianyi Cui
f65f4b82d7
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/agent.ts
# packages/core/agent-loop/src/index.ts
# packages/core/agent-loop/tests/agent.spec.ts
# packages/core/agent-loop/tests/contract-regressions.spec.ts
# website/zh-CN/api/harness/agent-loop.md
2026-07-19 01:54:03 +08:00
Tianyi Cui
3b924a9327
Merge remote-tracking branch 'origin/feat/tui-package' into codex/tui-snapshot-testing
2026-07-19 01:49:42 +08:00
Tianyi Cui
a514130548
Merge remote-tracking branch 'origin/master' into feat/tui-package
2026-07-19 01:48:39 +08:00
Tianyi Cui
bfd67e54e4
Merge branch 'codex/simp-shared-acp-test-launcher' into codex/simp-trim-hook-snapshot-noise
2026-07-19 01:47:42 +08:00
Tianyi Cui
2704cab46f
Merge remote-tracking branch 'origin/master' into codex/simp-shared-acp-test-launcher
2026-07-19 01:44:38 +08:00
Tianyi Cui
81ca81e23d
test(tui): stabilize snapshot workspace width
2026-07-19 01:42:16 +08:00
Tianyi Cui
c866aa8ca6
Merge remote-tracking branch 'origin/master' into codex/simp-snapshot-fixture-inventory
2026-07-19 01:33:26 +08:00
Tianyi Cui
e68cef1be1
test(tui): replay recorded sessions through real tools
2026-07-19 01:31:55 +08:00
Tianyi Cui
bea6a74ea0
refactor(examples): give TUI its own agent leaf
2026-07-19 01:09:20 +08:00
Tianyi Cui
8e366c3071
test(tui): snapshot semantic terminal state
2026-07-18 22:31:04 +08:00
Tianyi Cui
864b7bfd65
Merge remote-tracking branch 'origin/master' into feat/tui-package
...
# Conflicts:
# docs/architecture.md
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/coding-agent/cordis.yml
# examples/echo-agent/cordis.yml
# knip.json
# packages/core/agent-loop/README.md
# packages/core/agent-loop/tests/config-session-id.spec.ts
# packages/examples/README.md
# packages/examples/stdio-demo/README.md
# packages/examples/stdio-demo/tests/stdio-agent.spec.ts
2026-07-18 21:20:47 +08:00
Tianyi Cui
50f0291b93
Merge latest origin/master into parallel-tool-call
...
# Conflicts:
# docs/architecture.md
# examples/acp-agent/tests/snapshots/bash-spill/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# packages/core/agent-loop/src/loop.ts
2026-07-18 15:09:39 +08:00
Tianyi Cui
4694582170
Merge remote-tracking branch 'origin/master' into codex/simp-prune-llm-contract
2026-07-18 14:28:54 +08:00
Tianyi Cui
a42c77f883
Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop
2026-07-18 14:27:53 +08:00
Tianyi Cui
5af8b38b36
Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue
...
# Conflicts:
# docs/testing.md
2026-07-18 14:05:54 +08:00
Tianyi Cui
a8150815ba
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
...
# Conflicts:
# packages/subagent/subagent-acp/package.json
# packages/subagent/subagent-acp/tests/mock-acp-server.ts
# pnpm-lock.yaml
# website/zh-CN/api/harness/agents.md
2026-07-18 14:01:03 +08:00
Tianyi Cui
db7905688c
Merge branch 'codex/simp-shared-acp-test-launcher' into codex/simp-trim-hook-snapshot-noise
2026-07-18 13:53:49 +08:00
Tianyi Cui
9e1975b080
Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher
...
# Conflicts:
# examples/acp-agent/tests/acp.e2e.ts
# examples/acp-agent/tests/escalation.e2e.ts
# examples/acp-agent/tests/hooks.e2e.ts
# packages/support/acp-snapshot/src/harness.ts
2026-07-18 13:47:53 +08:00
Tianyi Cui
93a4bebbb5
Merge remote-tracking branch 'origin/master' into codex/simp-snapshot-fixture-inventory
2026-07-18 13:43:12 +08:00
Tianyi Cui
6f01d4d099
Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop
...
# Conflicts:
# docs/event-producer-consumer.md
# examples/coding-agent/tests/code-mode.e2e.ts
# examples/coding-agent/tests/harness.ts
# examples/coding-agent/tests/resume.e2e.ts
# examples/cordis-agent/tests/harness.ts
# packages/bash/tool-bash/tests/integration.spec.ts
# packages/compact/compact-basic/tests/compact-loop-repro.spec.ts
# packages/cordis/tool-cordis/tests/integration.spec.ts
# packages/core/agent-loop/tests/contract-regressions.spec.ts
# packages/guard/repeat-tool-guard/tests/repeat-tool-guard.spec.ts
# packages/hooks/hooks-claude/tests/bridge.spec.ts
# packages/hooks/hooks-claude/tests/coverage.spec.ts
# packages/hooks/hooks-codex/tests/bridge.spec.ts
# packages/hooks/hooks-codex/tests/coverage.spec.ts
# packages/todo/tool-todo/tests/integration.spec.ts
2026-07-18 12:33:49 +08:00
Tianyi Cui
35473c2701
Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue
...
# Conflicts:
# AGENTS.md
# docs/config-catalog.md
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/advanced-toolchain/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/cancel/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/config-options/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/error-finish/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/fs-policy-reject/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/fs-read-window/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/fs-read/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/fs-terminal-card/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/fs-write-overwrite/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/fs-write/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/handshake/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-block/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-context/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-deny/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-block/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-stop-continue/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-block/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-context/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-pretool-block/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-block/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-stop-continue/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/multi-turn/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/permission-switching/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/repeat-tool-guard/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/skill-load/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/text-turn/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/todo-plan/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/tool-call-turn/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/stdout.golden.jsonl
# examples/acp-agent/tests/snapshots/workspace-edit/stdout.golden.jsonl
# packages/ui/acp/README.md
# packages/ui/acp/src/index.ts
# packages/ui/jsonrpc/README.md
# packages/ui/jsonrpc/src/server.ts
2026-07-18 12:25:33 +08:00
Tianyi Cui
59dc310bb5
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
...
# Conflicts:
# docs/architecture.md
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/coding-agent/tests/code-mode.e2e.ts
# examples/coding-agent/tests/coding-task.e2e.ts
# examples/coding-agent/tests/compaction.e2e.ts
# examples/coding-agent/tests/full-loop.e2e.ts
# examples/coding-agent/tests/todo-write.e2e.ts
# examples/cordis-agent/tests/cordis-tools.e2e.ts
# packages/bash/tool-bash/tests/integration.spec.ts
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/compact/compact-basic/tests/compact-loop-repro.spec.ts
# packages/context/time-context/tests/time-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/cordis/tool-cordis/tests/integration.spec.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/agent.ts
# packages/core/agent-loop/src/index.ts
# packages/core/agent-loop/tests/agent.spec.ts
# packages/core/agent-loop/tests/cancel.spec.ts
# packages/core/agent-loop/tests/config-session-id.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-loop/tests/properties.spec.ts
# packages/core/agent-loop/tests/request-cache.e2e.ts
# packages/core/agent-loop/tests/request-reconstruction.spec.ts
# packages/core/agent-loop/tests/resume.spec.ts
# packages/core/agent-loop/tests/scope-lifecycle.spec.ts
# packages/core/agent-loop/tests/tool-order.spec.ts
# packages/core/agent-loop/tests/turn-stop.spec.ts
# packages/core/agent/src/types.ts
# packages/examples/agent-spine-demo/README.md
# packages/examples/agent-spine-demo/tests/agent-core.spec.ts
# packages/examples/stdio-demo/README.md
# packages/examples/stdio-demo/src/index.ts
# packages/examples/stdio-demo/tests/stdio-agent.spec.ts
# packages/fs/tool-fs/tests/fs-tools.e2e.ts
# packages/guard/repeat-tool-guard/tests/repeat-tool-guard.spec.ts
# packages/hooks/hooks-claude/tests/bridge.spec.ts
# packages/hooks/hooks-claude/tests/coverage.spec.ts
# packages/hooks/hooks-codex/tests/bridge.spec.ts
# packages/hooks/hooks-codex/tests/coverage.spec.ts
# packages/subagent/subagent-fork/tests/multi-subagent.spec.ts
# packages/subagent/subagent-fork/tests/subagent-fork.spec.ts
# packages/subagent/subagent-inprocess/tests/structured.spec.ts
# packages/subagent/subagent-inprocess/tests/subagent-inprocess.spec.ts
# packages/subagent/subagent-spawn/tests/spawn.e2e.ts
# packages/subagent/subagent-spawn/tests/subagent-spawn.spec.ts
# packages/todo/tool-todo/tests/integration.spec.ts
# packages/ui/acp/tests/dispose.spec.ts
# packages/ui/acp/tests/edges.spec.ts
# packages/workflow/workflow-workerthread/tests/integration.spec.ts
2026-07-18 12:21:15 +08:00
Tianyi Cui
1900466c83
Merge branch 'codex/simp-shared-acp-test-launcher' into codex/simp-trim-hook-snapshot-noise
...
# Conflicts:
# examples/acp-agent/tests/snapshots/hook-cc-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-block/session.jsonl
2026-07-18 12:00:40 +08:00
Tianyi Cui
df2432cae2
Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher
...
# Conflicts:
# examples/acp-agent/tests/escalation.e2e.ts
# packages/support/README.md
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/src/harness.ts
# packages/support/acp-snapshot/tests/harness.spec.ts
2026-07-18 11:58:15 +08:00
Tianyi Cui
be62ee14ba
Merge remote-tracking branch 'origin/master' into codex/simp-prune-llm-contract
...
# Conflicts:
# docs/cordis-catalog/services.md
# packages/llm/llm-pi-ai/README.md
# packages/support/llm-replay/tests/llm-replay.spec.ts
2026-07-18 11:55:12 +08:00
Tianyi Cui
7a9e4a3203
Merge remote-tracking branch 'origin/master' into codex/simp-snapshot-fixture-inventory
2026-07-18 11:51:58 +08:00
imccyu
df21d22e28
fix(examples): enforce config dependency resolution
2026-07-17 23:38:05 +08:00
imccyu
5ed531acba
ci(examples): run examples / testing from built lib/js
2026-07-17 23:07:51 +08:00
Tianyi Cui
06ea8643ff
Merge newest origin/master into token-meter-service
2026-07-17 22:49:54 +08:00
Tianyi Cui
f943bc8d4c
Merge latest origin/master into token-meter-service
2026-07-17 22:38:46 +08:00
Tianyi Cui
7a2d5cd28d
Merge master into codex/simp-session-log-representation
2026-07-17 22:33:42 +08:00
Tianyi Cui
3e07f9b270
Merge latest origin/master into parallel-tool-call
2026-07-17 22:28:38 +08:00
Tianyi Cui
1c6a36e4a3
Merge origin/master into token-meter-service
2026-07-17 22:22:55 +08:00
Tianyi Cui
688b95a7e5
Merge origin/master into parallel-tool-call
2026-07-17 22:13:33 +08:00
Tianyi Cui
53680ee6bc
Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/context/time-context/tests/time-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/session/README.md
# packages/core/session/src/types.ts
# packages/core/session/tests/surface.spec.ts
# packages/examples/acp-demo/tests/acp-agent.spec.ts
# packages/examples/stdio-demo/tests/stdio-agent.spec.ts
# packages/hooks/hooks-claude/tests/coverage.spec.ts
# packages/hooks/hooks-codex/tests/coverage.spec.ts
# packages/session-query/session-query/tests/session-query.spec.ts
# packages/support/invariants/tests/invariants.spec.ts
# packages/ui/acp/tests/harness.ts
2026-07-17 21:56:10 +08:00
Tianyi Cui
ce393ccb93
Merge master into codex/simp-session-log-representation
2026-07-17 21:51:36 +08:00
Tianyi Cui
322a7e0709
Merge remote-tracking branch 'origin/master' into worktree/agent-loop-testkit
2026-07-17 20:17:27 +08:00