Tianyi Cui
e9aac53fde
test(acp-snapshot): cover pre-fallback Windows exit state
...
Model the requested signal setting a child termination marker before the launcher begins fallback handling. The regression proves close drains inherited stdio and propagates the original process error without sending a redundant SIGKILL.
This complements the post-check fallback-refusal race and restores the launcher's required 100% per-file statement and branch coverage.
2026-07-19 12:53:41 +08:00
Tianyi Cui
0f4bc645da
test(acp-snapshot): inherit descendant stdio portably
...
Pass the fake descendant the parent process's stdout and stderr stream handles instead of Unix-style numeric file descriptors. This lets Windows duplicate the live ACP and diagnostic pipes so launcher shutdown can prove that inherited handles, buffered frames, and stderr all drain after the parent exits.
Observe the pending update promise before initiating shutdown as well, preventing a missing late frame from becoming a transient unhandled rejection before the assertion reports the fixture failure.
2026-07-19 12:42:59 +08:00
Tianyi Cui
f110c5e083
fix(acp-snapshot): accept Windows termination exit races
...
Treat a fallback kill refusal as successful termination when the child already carries an OS exit marker. Windows maps Node's supported signal names to forced termination, so the requested signal can end the process between the launcher error race and its fallback SIGKILL.
Drain inherited stdio, the ACP parser, and in-flight callbacks before propagating the original child error in either exit-race path. Preserve AggregateError reporting only for a refused fallback while the process is still live, and add a deterministic cross-platform regression for that ordering.
2026-07-19 12:41:46 +08:00
Tianyi Cui
39c1c3df4f
Merge remote-tracking branch 'origin/master' into codex/pr335-merge-master-20260719
...
# Conflicts:
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/src/harness.ts
# packages/support/acp-snapshot/src/suite.ts
# packages/support/acp-snapshot/tests/harness.spec.ts
# packages/support/acp-snapshot/tests/suite.spec.ts
2026-07-19 11:41:10 +08:00
Tianyi Cui
e846a115f2
test(acp-snapshot): cover pre-spawn launch failure
2026-07-18 13:51:44 +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
imccyu
beb13c3808
test(acp): pin Windows-native snapshot paths
2026-07-18 12:40:12 +08:00
Huanqi Cao
5ed34b66ce
fix(acp-snapshot): make path-separator tests platform-neutral
...
Three tests in the shared acp-snapshot package hardcoded POSIX path
separators in their assertions, so they failed on Windows where
node:path.join produces backslash paths:
- childFixturePaths (suite.spec.ts): expected literal '/snap/s/session.1.jsonl'
but join returns '\snap\s\...' on Windows; use join() for the expected value.
- harness.spec.ts (env-forwarding test): substring-matched a JSON-encoded
path against raw stdout text, where backslash escaping makes the compare
byte-fragile; parse the env-probe chunk and compare the structured value.
- harness.spec.ts (harvested-cwd test): substring-matched the raw cwd
against JSONL text where the cwd is JSON-escaped; parse the session line
and compare the cwd field.
These were master's latent bugs (the package's tests never ran on Windows
until the Windows CI lane observed them). Verified green on Windows via
scripts/caohuanqi-private/run-ci.py --windows.
2026-07-18 12:40:12 +08:00
imccyu
de19c6ca08
fix(examples): run coverage subprocesses from built libs
2026-07-18 12:19:48 +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
7a9e4a3203
Merge remote-tracking branch 'origin/master' into codex/simp-snapshot-fixture-inventory
2026-07-18 11:51:58 +08:00
Tianyi Cui
ce393ccb93
Merge master into codex/simp-session-log-representation
2026-07-17 21:51:36 +08:00
Tianyi Cui
7caa723aeb
Merge branch 'master' into worktree-fast-gates
2026-07-17 20:22:34 +08:00
Dudu-0223
a3f62478e1
Merge origin/master into codex/truncated-design
2026-07-17 18:21:54 +08:00
imccyu
5039c4ae40
fix(snapshot): include agent stderr in failures
2026-07-15 23:57:44 +08:00
Tianyi Cui
2ae7f6ac3f
Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher
...
# Conflicts:
# packages/support/README.md
# packages/support/acp-snapshot/README.md
2026-07-15 16:04:40 +08:00
Tianyi Cui
dc00509910
Merge branch 'codex/simp-session-log-representation' into codex/simp-snapshot-fixture-inventory
...
# Conflicts:
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/src/suite.ts
# packages/support/acp-snapshot/tests/suite.spec.ts
2026-07-15 16:03:33 +08:00
Tianyi Cui
281eed3e57
Merge remote-tracking branch 'origin/master' into codex/simp-session-log-representation
...
# Conflicts:
# docs/cordis-catalog/services.md
# docs/rfc/INDEX.md
# docs/rfc/implemented/testing/2026-07-06-pin-request-header-content-in-one-scenario.md
# docs/rfc/proposed/simplification/2026-07-12-simplify-session-log-representation.md
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/src/normalize.ts
# packages/support/acp-snapshot/src/suite.ts
# packages/support/acp-snapshot/tests/fixtures/suite/pin-turn/session.jsonl
# packages/support/acp-snapshot/tests/suite.spec.ts
2026-07-15 15:53:56 +08:00
Tianyi Cui
8ffcef7db9
test(snapshot): split pinned schemas into sidecars
2026-07-14 23:11:21 +08:00
Dudu-0223
4afc701e98
fix(snapshot): register filesystem tools through explicit overlay
2026-07-14 21:25:58 +08:00
Tianyi Cui
66c2996b36
Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher
...
# Conflicts:
# docs/rfc/implemented/testing/2026-07-08-shared-acp-snapshot-package.md
# examples/acp-agent/tests/acp.e2e.ts
# examples/acp-agent/tests/escalation.e2e.ts
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/src/harness.ts
# packages/support/acp-snapshot/src/index.ts
2026-07-14 18:40:49 +08:00
Tianyi Cui
36a2430ec9
Merge branch 'codex/simp-session-log-representation' into codex/simp-snapshot-fixture-inventory
...
# Conflicts:
# docs/rfc/proposed/process/2026-06-20-discover-package-inventory.md
# examples/acp-agent/tests/acp.snapshot.ts
2026-07-14 18:38:18 +08:00
Tianyi Cui
78276c52a7
Merge branch 'codex/simp-session-dead-surface' into codex/simp-session-log-representation
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.md
# docs/persistence-catalog.md
# docs/rfc/implemented/architecture/2026-07-05-reconstructable-requests.md
# docs/rfc/implemented/feature/2026-06-18-compaction-capability-seam.md
# docs/rfc/implemented/feature/2026-07-06-explicit-tool-order.md
# docs/rfc/implemented/feature/2026-07-06-sandbox.md
# docs/rfc/implemented/feature/2026-07-07-session-prefix.md
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/core/agent-loop/src/loop.ts
# packages/core/agent-loop/src/request-log.ts
# packages/core/agent-loop/tests/request-reconstruction.spec.ts
# packages/core/agent/src/types.ts
# packages/core/session/README.md
# packages/core/session/src/request-header.ts
# packages/core/session/src/surface.ts
# packages/core/session/src/tool-pairing.ts
# packages/core/session/src/types.ts
# packages/core/session/tests/surface.spec.ts
# packages/core/session/tests/tool-pairing.spec.ts
# packages/llm/llm/src/call-config.ts
# packages/support/acp-snapshot/src/suite.ts
# packages/support/invariants/README.md
# packages/ui/user-approval/README.md
2026-07-14 18:34:34 +08:00
Tianyi Cui
2027c70a17
fix: drain failed ACP launches
2026-07-14 12:38:32 +08:00
Tianyi Cui
3e2ba3f557
fix: stop ACP teardown when fallback kill fails
2026-07-14 10:13:05 +08:00
Tianyi Cui
a8c0e8a03c
test: cover successful ACP cleanup failure
2026-07-14 09:55:15 +08:00
Tianyi Cui
6b59b6050e
fix: preserve ACP scenario cleanup failures
2026-07-14 09:43:12 +08:00
Tianyi Cui
e784e4dce5
fix: await ACP client callbacks during shutdown
2026-07-14 09:12:32 +08:00
Tianyi Cui
0b492e6e62
fix: drain ACP test launcher streams
2026-07-14 07:22:22 +08:00
Tianyi Cui
e2a5a160d3
fix: settle ACP update waiters on shutdown
2026-07-14 07:00:10 +08:00
Tianyi Cui
140d32681e
fix: make ACP test teardown failure-safe
2026-07-14 06:33:22 +08:00
Tianyi Cui
60ce23d77c
fix: surface ACP launcher spawn failures
2026-07-14 06:07:37 +08:00
Tianyi Cui
9028c9b63b
fix: contain ACP update predicate failures
2026-07-14 05:35:34 +08:00
Tianyi Cui
f0cad87492
Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher
2026-07-14 00:49:27 +08:00
Tianyi Cui
6ad4b4fa42
fix: let snapshot recording create fixture inventory
2026-07-14 00:46:46 +08:00
Tianyi Cui
0e7d539bbc
refactor: share the ACP test launcher
2026-07-14 00:18:00 +08:00
Tianyi Cui
e481288a3a
refactor: derive snapshot session fixtures from disk
2026-07-14 00:04:11 +08:00
Tianyi Cui
1123e946c0
refactor: simplify session log representation
2026-07-13 23:56:10 +08:00
Tianyi Cui
148046b9c8
docs: rebalance prose cleanup and add trimming skill
2026-07-13 23:27:00 +08:00
Dudu-0223
5ac03dde3f
fix(review): generalize spill storage locators
2026-07-13 11:07:27 +08:00
Dudu-0223
43535aab42
Merge remote-tracking branch 'origin/master' into codex/truncated-design
...
# Conflicts:
# docs/capability-seams.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# docs/rfc/INDEX.md
# docs/tool-catalog.md
# examples/acp-agent/README.md
# packages/README.md
# packages/bash/bash/README.md
# packages/core/tools/tests/gen-tool-catalog.spec.ts
# packages/support/acp-snapshot/src/harness.ts
# pnpm-lock.yaml
# scripts/gen-doc-graphs.ts
# scripts/gen-tool-catalog.ts
# scripts/type-equiv.manifest.json
2026-07-13 09:49:46 +08:00
Tianyi Cui
75838e10b5
docs: trim generated prose
2026-07-12 03:36:43 +08:00
Tianyi Cui
bac97a5b2e
test(acp-snapshot): cover the delta-insert trailing-newline branch
...
formatSystemPromptSnapshot's insert-join ternary had its already-newline-
terminated arm unexercised (a delta whose insert ends in a blank line),
failing the per-file 100% branch gate on suite.ts (99.24%).
2026-07-11 23:55:56 +08:00
Tianyi Cui
da9cef381c
Merge remote-tracking branch 'origin/master' into codex/system-prompt-snapshots
...
# Conflicts:
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# packages/support/acp-snapshot/src/suite.ts
2026-07-11 22:48:14 +08:00
Tianyi Cui
9339622d3b
test(acp): snapshot system prompts as Markdown
2026-07-11 22:24:20 +08:00
Tianyi Cui
1e2d8014a5
Merge remote-tracking branch 'origin/master' into feat/sandbox-support
...
# Conflicts:
# packages/workflow/workflow-workerthread/tests/workflow-workerthread.spec.ts
2026-07-11 21:43:10 +08:00
kingwl
80d8726601
feat(acp): the bridge approval answerer + scripted permission answers
...
The ACP bridge registers the first real approval answerer: an ask for an
agent it owns becomes session/request_permission attached to the already-
streamed tool call (one-shot allow_once/reject_once only), outcomes map
conservatively (unknown optionId never grants, client cancel → cancelled),
and foreign or call-less requests delegate down the waterfall. The snapshot
harness accepts scripted permissionAnswers (FIFO; an unscripted prompt
answers cancelled, fail closed) so recorded scenarios can drive the wire
keylessly.
2026-07-10 15:43:02 +08:00
Dudu-0223
8b86c3febc
fix: stabilize spill snapshot path budget
2026-07-10 13:15:15 +08:00
Dudu-0223
31be42e92d
test: add ACP spill snapshot coverage
2026-07-10 10:07:32 +08:00