Commit Graph
52 Commits
Author SHA1 Message Date
Tianyi Cui dd15a5d066 test(ptc): cover provider unload during policy cleanup
Hold cleanup of an older retained process while a newer call is waiting, then unload the provider. Require the pending call to reject after disposal without starting another process.

Validation: 305 focused tests passed, one skipped; persistent.ts, index.ts, and policy-processes.ts have 100% statements, branches, functions, and lines. Removing the shutdown guard makes the new regression fail.
2026-10-10 22:39:34 +08:00
Tianyi Cui b9863a9e28 fix(ptc): cancel pending runs when Session policy changes
Register calls before awaiting prior process cleanup. Carry policy cancellation into both Node execution modes and retain each admission until its call settles. Track persistent calls during provider disposal as well.

Cover unchanged-mode temporary escalation and policy changes that return to the original mode while cleanup is pending. Document the admission guarantee.

Validation: 308 focused tests passed, one skipped; both changed source files have 100% coverage. Two built-runtime smokes, two selected Session snapshots, all 43 doc-sync gates, and typed lint passed.
2026-10-09 16:43:56 +08:00
Tianyi Cui 70d443903c test(ptc): reproduce policy changes before process launch
Add a parameterized admission regression for per-call and persistent-in-memory execution. Change the Session policy synchronously after submitting the runtime call and require cancellation before spawn.

The two new cases intentionally fail on the reviewed PR #5035 head: execution succeeds with danger-full-access after the Session becomes read-only. The 47 existing host-protocol and policy-process tests pass. No production changes.
2026-10-09 16:10:40 +08:00
creatixchu 42cf8c5ee0 Merge remote-tracking branch 'origin/master' into codex/ptc-review-policy
# Conflicts:
#	apps/desktop/tests/ptc-runtime.spec.ts
#	docs/config-catalog.md
#	docs/config-catalog.zh.md
#	packages/ptc-runtime/ptc-runtime-node/README.i18n.yaml
#	packages/ptc-runtime/ptc-runtime-node/README.md
#	packages/ptc-runtime/ptc-runtime-node/README.zh.md
#	packages/ptc-runtime/ptc-runtime-node/src/index.ts
#	packages/ptc-runtime/ptc-runtime-node/src/launch.ts
#	packages/ptc-runtime/ptc-runtime-node/tests/launch.spec.ts
2026-10-09 15:10:13 +08:00
creatixchu f6251a2dbf test(ptc): remove awaits from synchronous permission callers 2026-10-09 15:08:06 +08:00
creatixchu 9b9630e6d8 fix(ptc): preserve standalone runtime composition 2026-10-09 15:07:42 +08:00
creatixchu 31783b2845 test(ptc): align policy cleanup fixtures with typed APIs 2026-10-09 15:04:17 +08:00
creatixchu 244ca73755 fix(ptc): keep policy cleanup waits inside PTC 2026-10-09 15:02:01 +08:00
creatixchu 046d722c14 fix(ptc): preserve caller context across process control callbacks 2026-10-08 17:45:18 +08:00
creatixchu 87013959f8 test(ptc): pin cancellation replay and resource cleanup branches 2026-10-08 17:25:50 +08:00
creatixchu ee15e104d2 test(ptc): verify cleanup recovery and scoped execution admission 2026-10-08 17:10:55 +08:00
creatixchu 209684aaae fix(ptc): retain per-call cleanup until process exit is observed 2026-10-08 17:05:07 +08:00
creatixchu 49f7919762 test(ptc): cover policy changes during nested tool execution 2026-10-08 16:55:32 +08:00
creatixchu 6885d662d2 refactor(ptc): move mode-change coordination into sandbox policy 2026-10-08 16:43:00 +08:00
creatixchu e9a0e41aa0 test(ptc): cover sandbox launch failures and refresh retained execution snapshot 2026-10-08 15:09:25 +08:00
creatixchu 6a6105dc1b fix(ptc): preserve tool execution identity during cancellation 2026-10-08 14:59:28 +08:00
creatixchu e3a92c9de5 fix(ptc): confine persistent memory and isolate temporary approvals 2026-10-08 14:57:36 +08:00
creatixchu 219d664ad5 test(ptc): wait for concurrent releases of the same owner 2026-09-28 16:27:46 +08:00
creatixchu bcd1e66141 fix(ptc): reserve owners through explicit environment release 2026-09-28 16:27:15 +08:00
creatixchu 6fe4bf04fc fix(ptc): retain idle process cleanup until it settles 2026-09-28 16:24:05 +08:00
creatixchu 02c12b5a38 test(ptc): refresh runtime-owned execution instructions 2026-09-28 16:16:20 +08:00
creatixchu bf95e3a74b fix(ptc): preserve policy and evaluation lifecycle across memory runs 2026-09-28 16:08:45 +08:00
creatixchu faf41c6cd7 test(ptc): validate raw mode values at the schema parser 2026-09-28 15:31:34 +08:00
creatixchu 7c05445810 test(ptc): reload execution modes through the provider fiber 2026-09-28 15:29:57 +08:00
creatixchu 30b193b38a feat(ptc): select Node state retention through executionMode 2026-09-28 15:27:39 +08:00
creatixchu 10d4193663 test(ptc): cover cleanup and cancellation after idle process exit 2026-09-25 13:54:03 +08:00
creatixchu 065963128c test(ptc): pin implicit globals and completed callback errors 2026-09-25 13:40:12 +08:00
creatixchu 01aeea93f2 fix(ptc): reject dispatch to an exited retained process 2026-09-25 13:34:23 +08:00
creatixchu 5a2bb185ab fix(ptc): refresh retained binding error descriptors 2026-09-25 13:15:17 +08:00
creatixchu 1c29ff0598 fix(ptc): await every retained environment during unload 2026-09-25 13:11:00 +08:00
creatixchu d256be165c fix(ptc): return bounded parse-overflow cleanup failures 2026-09-25 13:04:16 +08:00
creatixchu d3ab674dcd test(ptc): pin syntax rejection before REPL startup 2026-09-25 12:47:36 +08:00
creatixchu 0b26294635 test(ptc): keep process identity diagnostics free of environment data 2026-09-25 12:43:09 +08:00
creatixchu 9d6a9e28b5 fix(ptc): isolate the REPL process binding 2026-09-25 12:40:48 +08:00
creatixchu 7101555061 test(ptc): cover retained process races and refresh model evidence 2026-09-24 22:52:52 +08:00
creatixchu 6a8483ce42 fix(ptc): contain retained evaluation failures and output 2026-09-24 22:44:56 +08:00
creatixchu 75ae02da4a fix(ptc): allow top-level await in scoped blocks 2026-09-23 20:18:49 +08:00
Yichen Jiang d9342fcb5d feat(ssh): package standalone POSIX helper runtimes 2026-09-23 19:16:59 +08:00
creatixchu cff260f048 chore(ptc): align published artifacts and strict lint contracts 2026-09-23 17:12:43 +08:00
creatixchu b0dc38429a test(ptc): pin packaged-host persistent bootstrap selection 2026-09-23 17:08:00 +08:00
creatixchu 1393ed2e12 fix(ptc): simplify evaluation settlement and isolate published bundles 2026-09-23 17:03:04 +08:00
creatixchu 4fe78cb71a fix(ptc): compose the persistent provider and share process cleanup 2026-09-23 16:55:21 +08:00
creatixchu 5f5395f7ad test(ptc): cover persistent process transport and cleanup failures 2026-09-23 16:50:38 +08:00
creatixchu 2859d2bb08 test(ptc): verify REPL callback ownership and scoped output 2026-09-23 16:48:26 +08:00
creatixchu bd2ed0ce61 test(ptc): exercise ownerless requests without explicit undefined fields 2026-09-23 16:45:21 +08:00
creatixchu 607077b985 test(ptc): cover retained state and recovery through the shipped profile 2026-09-23 16:44:48 +08:00
creatixchu 4fb14dcac6 feat(ptc): add opt-in best-effort persistent Node REPL 2026-09-23 16:41:38 +08:00
07akioni a66d81e33f fix(ptc): limit Electron selector to startup and budget native tests 2026-09-16 13:11:08 +08:00
07akioni a139e6e9e1 fix(ptc): preserve Electron Node mode when launching programs 2026-09-16 12:52:50 +08:00
Tianyi Cui 34f80b8e6e fix(workflow): close lifecycle and CI integration gaps 2026-09-13 14:47:56 +08:00