Commit Graph

2928 Commits

Author SHA1 Message Date
Tianyi Cui
c660048759 test(subagent): cover late forced-wait exit markers
Exercise both exitCode and signalCode arriving after the SIGTERM grace begins but before the bounded SIGKILL confirmation helper starts. This pins the fast path that avoids signaling an already-terminated child and restores the package's per-file 100% branch and statement coverage.

Keep the marker transition deterministic by withholding the synthetic exit event, matching the OS state race the defensive pre-check exists to absorb.
2026-07-19 12:52:42 +08:00
Tianyi Cui
6cc9c8e1fb Merge remote-tracking branch 'origin/master' into codex/pr335-merge-master-20260719 2026-07-19 12:45:35 +08:00
Tianyi Cui
4bf2ef89c4 fix(jsonl): bind MoveFileExW with the Win32 BOOL ABI
Declare MoveFileExW's return value as Koffi int and model it as a numeric 32-bit Win32 BOOL. The previous Koffi bool declaration represented a one-byte C boolean and could read the native return register with the wrong ABI.

Test zero and nonzero results explicitly and assert the binding result type while preserving the existing write-through flags, error translation, and durable directory race behavior.
2026-07-19 12:44:47 +08:00
Tianyi Cui
3dc82b1e87 test(snapshot): refresh Windows workspace permission prose
Update the workspace-edit Windows sidecar to the current permission preset description emitted by the ACP session configuration. The shared golden already carried this contract; only the native-Windows transcript retained the superseded wording.

Leave the platform-specific backslash path rendering unchanged so the sidecar continues to pin the one intentional Windows transcript difference.
2026-07-19 12:43:58 +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
2b673bd68d fix(fs): preserve Windows DACLs across atomic replacement
Copy an existing target's DACL onto the empty staging file before any content is written, then publish with ReplaceFileW so Windows replacement keeps the target security descriptor instead of inheriting the broader parent policy.

Keep new-file inheritance and POSIX mode behavior unchanged, retain the already-protected temp when a concurrently removed target requires rename fallback, and translate native errors into Node-style codes for the filesystem error boundary.

Add host-independent Win32 binding coverage, native Windows descriptor assertions, package documentation, and a bilingual implemented RFC that supersedes the earlier inheritance-only replacement claim.
2026-07-19 12:38:18 +08:00
Tianyi Cui
114ceee293 Merge pull request #378 from deepseek-harness/codex/type-equiv-jsdoc-docs
docs: include JSDoc in type-equiv blocks
2026-07-19 12:38:00 +08:00
Tianyi Cui
d6de23d674 Merge remote-tracking branch 'origin/master' into codex/type-equiv-jsdoc-docs 2026-07-19 12:25:54 +08:00
Tianyi Cui
5dcf6095cb docs: include JSDoc in type-equiv blocks 2026-07-19 12:25:40 +08:00
Tianyi Cui
46580e4083 test(subagent): pin POSIX disposal scenarios
Pass an explicit Linux platform to the two remaining SIGTERM-specific ladder tests instead of inheriting the host platform.

This keeps their synchronous-exit assertions focused on the POSIX middle and final rungs while the dedicated Windows case continues to verify the direct SIGKILL path.

Without the pin, native Windows coverage deterministically expected SIGTERM but observed the intended SIGKILL-only behavior.
2026-07-19 12:20:11 +08:00
Tianyi Cui
4625195968 fix(subagent): bound forced child termination
Observe signal errors and bound the final forced-exit edge with disposeGraceMs so a refused or ineffective SIGKILL cannot leave disposal pending forever.

Apply the confirmation bound on POSIX and Windows, remove listeners and timers on every outcome, and update the ACP consumer contract plus the generated config catalog.

Cover emitted signal errors, synchronous kill exceptions, refused termination, and accepted termination that never reports exit.
2026-07-19 12:19:33 +08:00
Tianyi Cui
7bf0250604 Merge pull request #377 from deepseek-harness/codex/retire-subagent-mock
refactor(subagent): retire the standalone mock package
2026-07-19 12:18:38 +08:00
Tianyi Cui
1b496854c2 Merge remote-tracking branch 'origin/master' into codex/pr335-merge-master-20260719 2026-07-19 12:14:10 +08:00
Tianyi Cui
0488ec3d3d Merge remote-tracking branch 'origin/master' into codex/retire-subagent-mock
# Conflicts:
#	docs/rfc/INDEX.md
2026-07-19 12:13:13 +08:00
Tianyi Cui
dde62f454e Merge pull request #376 from deepseek-harness/codex/one-session-surface-manager
refactor(session): use one surface manager per session
2026-07-19 12:09:42 +08:00
Tianyi Cui
4dda5b953b refactor(subagent): retire standalone mock package 2026-07-19 11:54:37 +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
765dfb2174 refactor(session): use one surface manager 2026-07-19 11:36:07 +08:00
Tianyi Cui
383a305bd4 Merge pull request #375 from deepseek-harness/codex/simplification-rfc-followups
docs: propose follow-up simplification RFCs
2026-07-19 11:22:22 +08:00
Tianyi Cui
bca7401513 docs: retain rejected compaction RFC 2026-07-19 11:12:26 +08:00
Tianyi Cui
8941600273 docs: expand simplification RFC implementation plans 2026-07-19 10:59:23 +08:00
Tianyi Cui
76db4efe49 Merge remote-tracking branch 'origin/master' into codex/simplification-rfc-followups 2026-07-19 10:53:23 +08:00
Tianyi Cui
9c6eb2b6b2 Merge pull request #301 from deepseek-harness/codex/simp-name-front-door-defaults
refactor: name front-door defaults
2026-07-19 10:51:54 +08:00
Tianyi Cui
0c911172e9 docs: drop rejected compaction RFC 2026-07-19 10:45:04 +08:00
Tianyi Cui
706dbe5a11 Merge remote-tracking branch 'origin/codex/simp-name-front-door-defaults' into codex/simplification-rfc-followups 2026-07-19 10:43:34 +08:00
Tianyi Cui
202da55bf2 Merge remote-tracking branch 'origin/master' into codex/simp-name-front-door-defaults 2026-07-19 10:41:41 +08:00
Tianyi Cui
7720ab27a7 Merge pull request #288 from deepseek-harness/codex/simp-hide-subagent-internals
refactor: hide subagent implementation helpers
2026-07-19 10:41:07 +08:00
Tianyi Cui
29f7668e18 Merge remote-tracking branch 'origin/master' into codex/simp-hide-subagent-internals 2026-07-19 10:36:48 +08:00
Tianyi Cui
2a0a82580c Merge pull request #287 from deepseek-harness/codex/simp-hide-concrete-agent-loop
refactor: hide the concrete agent loop
2026-07-19 10:36:23 +08:00
Tianyi Cui
6c5b276b95 Merge remote-tracking branch 'origin/master' into codex/simp-hide-concrete-agent-loop 2026-07-19 10:30:49 +08:00
Tianyi Cui
826da2d0aa Merge pull request #286 from deepseek-harness/codex/simp-ui-identity-residue
refactor: simplify UI identity routing with explicit subagent provenance
2026-07-19 10:29:35 +08:00
Tianyi Cui
4851d95704 docs: propose follow-up simplification RFCs 2026-07-19 03:49:18 +08:00
Tianyi Cui
83d041568d Merge branch 'codex/simp-ui-identity-residue' into codex/simp-name-front-door-defaults 2026-07-19 03:18:04 +08:00
Tianyi Cui
8afe11e1ff Merge branch 'codex/simp-hide-concrete-agent-loop' into codex/simp-hide-subagent-internals 2026-07-19 03:18:04 +08:00
Tianyi Cui
c306f4e25d Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop 2026-07-19 03:18:04 +08:00
Tianyi Cui
57b81e52f9 Merge remote-tracking branch 'origin/master' into codex/simp-ui-identity-residue 2026-07-19 03:17:45 +08:00
Tianyi Cui
67053d1cf6 Merge pull request #285 from deepseek-harness/codex/simp-unify-agent-session-id
refactor: unify agent and session identity
2026-07-19 03:17:13 +08:00
Tianyi Cui
f72c8f7b50 Merge branch 'codex/simp-ui-identity-residue' into codex/simp-name-front-door-defaults 2026-07-19 03:13:35 +08:00
Tianyi Cui
b40c30501e Merge branch 'codex/simp-hide-concrete-agent-loop' into codex/simp-hide-subagent-internals 2026-07-19 03:13:35 +08:00
Tianyi Cui
363e46ca6a Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop 2026-07-19 03:13:35 +08:00
Tianyi Cui
78f5d181ab Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue 2026-07-19 03:13:35 +08:00
Tianyi Cui
b1f453afa8 Merge remote-tracking branch 'origin/master' into codex/simp-unify-agent-session-id 2026-07-19 03:11:49 +08:00
Tianyi Cui
01ec1a5e5f Merge pull request #284 from deepseek-harness/codex/simp-agent-entry-state
refactor: remove agent entry mirror
2026-07-19 03:11:25 +08:00
Tianyi Cui
969f58ee5d Merge branch 'codex/simp-ui-identity-residue' into codex/simp-name-front-door-defaults 2026-07-19 03:04:20 +08:00
Tianyi Cui
438e67225f Merge branch 'codex/simp-hide-concrete-agent-loop' into codex/simp-hide-subagent-internals 2026-07-19 03:04:20 +08:00
Tianyi Cui
c1f7b8bd0f Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop 2026-07-19 03:04:20 +08:00
Tianyi Cui
896ac6219b Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue 2026-07-19 03:04:19 +08:00
Tianyi Cui
5767a8d467 Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id 2026-07-19 03:04:19 +08:00
Tianyi Cui
1e4de0deaa fix(sdk): pin generated project build tool 2026-07-19 03:02:42 +08:00