qwen-code/scripts
Shaojin Wen d8fcdf1e36
test(managed-agent): add the FG8c process-crash gates for monitor_run and background shells (#14163) (#14407)
* fix(core): end the managed command launcher by its command's signal

A background Shell's exit evidence is its cgroup launcher's own exit, and
the launcher replaced a signal death with exit(1). A background process
killed by SIGKILL was therefore recorded as `exited` with `exitCode: 1,
exitSignal: null`, on the child_run record and on the Broker's `:process`
row alike: a status the process never returned.

The launcher now ends itself by the signal its command died of, so the
waiter sees that signal. Only the signals that cannot be re-raised keep
the nonzero fallback: a core-dumping one would dump the launcher too, and
Node.js owns SIGUSR1 and ignores SIGPIPE. Command hooks share the
launcher and already read a null exit code as a signal kill, a branch the
old launcher left unreachable whenever only the command was killed.

Found by the FG8c process-kill gate (#14163).

* test(managed-agent): add the FG8c process-crash gates for monitor_run and background shells (#14163)

FG8c kills (or stops) a real process under a live background run and
pins what the platform does next against JDBC ground truth, in seven
cases: the packaged Harness after the dispatch committed and after the
capture started (then a cold reload on a fresh Harness), the managed
worker (SIGKILL, and SIGSTOP across the broker's 30 s worker bound), the
background process itself, the worker behind later prompts that reach
for the Runtime again, and the worker under a live Monitor watch whose
idle stop then meets the loss.

Every case asserts one :start and one :process row across every boot and
prompt, and exactly one Runtime binding at generation 1: a lost
generation is never re-minted. Records may stay open, but never settle
on evidence nobody produced; the reloaded close drains the run its
process never saw (#13986); a dead worker's release is refused without
stop proof; a stopped worker reads as neither stopped nor lost; and a
watch whose stop nobody could prove parks as recovery_blocked /
runtime_lost (#13896).

The probe's state reads and the IT's record and output reads now lead
with ma_resource's session_scope_key: filtered by the unindexed tenant
and session columns alone, every poll scanned all the inline capture
bytes the lane had written, so each later letter polled slower. The
shared broker proxy also treats a client gone mid-request as no request
instead of a sticky proxy failure.

The hosted fork's healthy allowance moves 2640 -> 2930 s for the letter
(twice its local 144 s, the FG9 convention); the 3600 s fork and the
600 s per-letter ceiling are unchanged. Seven mutation witnesses, one
per case, were each observed red. The bilingual design document records
the cases, two expectations of the round design that the merged
recovery surface does not meet, and the follow-ups.

* fix(core): keep only reachable signal names in the launcher's kept list

Node.js on Linux reports signal 6 as SIGABRT, never SIGIOT, and Linux
defines no SIGEMT, so neither name could ever reach the launcher's exit
handler. Dropping them leaves the list as exactly the set it can match.

---------

Co-authored-by: 易良 <1204183885@qq.com>
2026-10-17 00:33:34 +00:00
..
codemod feat(opentui): bundle assets, CI matrix and parity tooling (Batch 7) (#10770) 2026-09-02 08:36:20 +00:00
installation fix(standalone): pin @lydell/node-pty-linux-arm64 and fail release on missing prebuilds (#12649) 2026-09-25 04:38:07 +00:00
lib refactor(ci): extract release workflow scripts (#11165) 2026-09-08 07:09:09 +00:00
sandbox-prototype feat(core): Add Landlock execution fallback (#12278) 2026-09-29 03:45:46 +00:00
sandbox-runtime feat(core): Route runtime tools through bwrap (#12269) 2026-09-20 23:41:24 +00:00
startup-benchmark perf(cli): keep running in place when env files only hold model credentials (#12680) 2026-09-25 10:13:38 +00:00
tests test(managed-agent): add the FG8c process-crash gates for monitor_run and background shells (#14163) (#14407) 2026-10-17 00:33:34 +00:00
tui-parity fix(cli): bound short OpenTUI scroll dialogs (MYWO-3, MYWO-7) (#14034) 2026-10-14 05:50:41 +00:00
acp-http-smoke.mjs
assert-release-version.mjs refactor(build,release): Use pnpm workspace builds and publishing (#12400) 2026-09-21 15:38:36 +00:00
audit-runtime-critical.js ci: keep the critical-audit gate honest when npm cannot answer (#7743) 2026-07-26 06:59:13 +00:00
benchmark-api-latency.mjs ci: make the Prettier lane a real gate (#11117) 2026-09-07 00:44:01 +00:00
build-hosted-installation-assets.js
build-standalone-release.js fix(release): retry transient standalone runtime downloads (#11870) (#11879) 2026-09-21 08:23:58 +00:00
build.js fix(build): re-apply the ink patch when install skipped lifecycle scripts (#14170) 2026-10-14 10:03:12 +00:00
build_landlock_run.mjs feat(core): Add Landlock execution fallback (#12278) 2026-09-29 03:45:46 +00:00
build_package.js
build_sandbox.js ci(pnpm): install with pnpm everywhere and retire package-lock.json (#11859) 2026-09-20 02:11:25 +00:00
build_vscode_companion.js
check-build-status.js fix(cli): scope startup warnings to dev sessions (#8456) 2026-08-29 13:22:34 +00:00
check-contract-open-prs.js refactor(managed-agent): Consolidate server and broker sources (#14277) 2026-10-16 00:28:58 +00:00
check-contract-version.js ci(sdk-java): stop the API contract version from regressing or stalling (#13804) (#13808) 2026-10-10 05:43:18 +00:00
check-core-subpath-exports.mjs perf(cli): import core modules directly instead of the package root (#10957) 2026-09-06 11:21:50 +00:00
check-desktop-isolation.js chore(desktop): rename packages/desktop-shell to packages/desktop (#12653) 2026-09-25 05:41:25 +00:00
check-failsafe-reports.js test(managed-agent): Run the EventTransport fault matrix against two nodes (MQ3) (#14242) 2026-10-15 04:34:45 +00:00
check-flyway-migrations.js feat(managed-agent): consolidate persistence into a 32-table baseline (#14069) 2026-10-14 00:58:38 +00:00
check-flyway-open-prs.js refactor(managed-agent): Consolidate server and broker sources (#14277) 2026-10-16 00:28:58 +00:00
check-i18n.ts
check-lockfile.js ci(pnpm): install with pnpm everywhere and retire package-lock.json (#11859) 2026-09-20 02:11:25 +00:00
check-serve-fast-path-bundle.js refactor(serve): separate ACP control plane and channel harness (#11916) 2026-09-16 07:24:11 +00:00
check-tui-dep-direction.mjs feat(cli): OpenTUI migration infra batch — locked deps, dependency-direction arch check, framework-neutral streaming model (#10134) 2026-08-28 02:44:46 +00:00
clean-package-build-artifacts.js feat(channels): add IMAP and SMTP email channel (#12939) 2026-10-03 02:54:25 +00:00
clean.js
cli-entry.js feat(managed-agent): Add SSH Tool Runtime support (#14318) 2026-10-16 18:18:04 +00:00
contract-version-utils.js refactor(managed-agent): Consolidate server and broker sources (#14277) 2026-10-16 00:28:58 +00:00
copy-browser-use-assets.js feat(browser-use): add Chrome Native Messaging relay (#11242) 2026-09-18 05:50:24 +00:00
copy_bundle_assets.js feat(browser-use): add Chrome Native Messaging relay (#11242) 2026-09-18 05:50:24 +00:00
copy_files.js feat(browser-use): add Chrome Native Messaging relay (#11242) 2026-09-18 05:50:24 +00:00
create-standalone-package.js feat(mods): run experimental headless Mod commands (#13843) 2026-10-10 16:52:23 +00:00
create_alias.sh
daemon-dev.js feat(serve): add workspace-scoped Skills runtime (#10697) 2026-09-05 08:03:24 +00:00
dev.js feat(agents): add local workspace-agent collaboration (#11206) 2026-09-29 16:04:14 +00:00
esbuild-shims.js
export-omni-trajectory.js feat(omni): integrate multimodal media pipeline into main (#12019) 2026-09-16 12:15:45 +00:00
flyway-migration-utils.js refactor(managed-agent): Consolidate server and broker sources (#14277) 2026-10-16 00:28:58 +00:00
generate-changelog.js feat(release): user-facing bilingual digest for release notes (#9216) 2026-08-17 00:12:04 +00:00
generate-git-commit-info.js
generate-model-catalog.ts feat(core): resolve model limits and modalities from a models.dev catalog (#11959) 2026-10-02 14:39:11 +00:00
generate-release-notes.js ci(sdk-java): guard Flyway version uniqueness and watch red main runs (#12965) 2026-10-02 06:49:12 +00:00
generate-settings-schema.ts feat(goal): stop a Goal at a turn or an active-time budget (#11457) 2026-09-11 01:01:02 +00:00
get-release-version.js refactor(ci): extract release workflow scripts (#11165) 2026-09-08 07:09:09 +00:00
keep-manifest-layout.js fix(release): keep manifest layout when bumping versions (#12487) 2026-09-23 02:54:57 +00:00
lint.js fix(ci): fail yamllint and shellcheck lanes loudly on an empty git file list (#12650) 2026-10-05 12:44:27 +00:00
local_telemetry.js
managed-agent-dev.js refactor(managed-agent): Consolidate server and broker sources (#14277) 2026-10-16 00:28:58 +00:00
measure-flicker.mjs ci: make the Prettier lane a real gate (#11117) 2026-09-07 00:44:01 +00:00
package-managed-agent-reference.mjs refactor(managed-agent): Consolidate server and broker sources (#14277) 2026-10-16 00:28:58 +00:00
pnpm-package.js perf(dev): add pnpm worktree bootstrap foundation (#10449) 2026-09-08 03:07:40 +00:00
pre-commit.js
prepare-package.js fix(release): raise the npm package unpacked-size budget to 160 MiB (#14060) (#14066) 2026-10-13 14:44:35 +00:00
prepare.js
pty-e2e.sh feat(opentui): bundle assets, CI matrix and parity tooling (Batch 7) (#10770) 2026-09-02 08:36:20 +00:00
release-packages.mjs refactor(build,release): Use pnpm workspace builds and publishing (#12400) 2026-09-21 15:38:36 +00:00
release-script-utils.js ci(sdk-java): guard Flyway version uniqueness and watch red main runs (#12965) 2026-10-02 06:49:12 +00:00
review-audit-layers.mts feat(review): cover modeled-system defect layers in the reverse audit (#8956) 2026-08-12 18:15:11 +00:00
rocketmq-lite-broker.sh test(managed-agent): Run the EventTransport fault rows against a real RocketMQ broker (MQ2d) (#14109) 2026-10-14 06:50:19 +00:00
run-java-daemon-sdk-e2e.ts ci: reduce SDK Java runner queueing (#8441) 2026-08-03 16:21:05 +00:00
run-managed-agent-server-e2e.ts refactor(managed-agent): Consolidate server and broker sources (#14277) 2026-10-16 00:28:58 +00:00
sandbox_command.js fix(cli): Harden settings failures and sandbox command streams (#13140) 2026-10-03 12:02:48 +00:00
sdk-node-exporter-stub.js chore(deps): Clear high-severity CVE baseline and harden the security gate (#9584) 2026-08-21 07:43:32 +00:00
setup-worktree.js chore(pnpm): scope build approvals, pin the ACP zod peer, add a freshness lane (#11797) 2026-09-14 04:45:19 +00:00
sign-release.sh
start.js fix(cli): scope startup warnings to dev sessions (#8456) 2026-08-29 13:22:34 +00:00
telemetry.js
telemetry_gcp.js
telemetry_utils.js
test-rewind-e2e.sh
test-windows-paths.js
tmux-compare.sh feat(opentui): bundle assets, CI matrix and parity tooling (Batch 7) (#10770) 2026-09-02 08:36:20 +00:00
unused-keys-only-in-locales.json
upload-aliyun-oss-assets.js ci: host PR evidence outside Git (#9985) 2026-08-29 04:36:57 +00:00
verify-capture.mjs refactor!: retire @qwen-code/webui (#9812) 2026-09-05 09:13:54 +00:00
verify-installation-release.js feat(release): add gated bun/OpenTUI preview flavor to standalone releases (#10814) 2026-09-02 12:01:56 +00:00
version.js fix(release): keep manifest layout when bumping versions (#12487) 2026-09-23 02:54:57 +00:00
vitest-global-setup.js feat(channels): add IMAP and SMTP email channel (#12939) 2026-10-03 02:54:25 +00:00
workspaces.js refactor(build,release): Use pnpm workspace builds and publishing (#12400) 2026-09-21 15:38:36 +00:00