Investigate missing Windows agent settlement after Job cancellation
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 28/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- javascript
- 領域
- backend, devops, testing-qa
調査の方向性
Start with server/lib/windowsAgentSupervisor.cs, server/lib/windowsAgentProcess.js, and server/lib/windowsAgentProcess.test.js; inspect the failed native Windows CI run and identify which settlement stage lacks privacy safe evidence. Run the declared finite cancellation matrix on Windows with real native processes, distinguishing accounting, signaling, receipt persistence, and supervisor failure. Done means a demonstrated cause is fixed and the listed native boundary cases pass while preserving deadlines and proof requirements.
索引モデルが issue の本文から書いたものです。
説明
Problem and evidence
The Windows native CI contract lib/windowsAgentProcess.test.js > native Windows release-agent boundary > cancels the exact Job, persists descendant settlement and preserves a neighboring process failed on PR #14032 at a243bad2499b4647e3fb7b232d7a7b0146ef5b8e:
https://github.com/atomantic/PortOS/actions/runs/40794593042/job/123188453731
The fixture observed started.json, requested cancellation through killProcessTree, awaited the supervisor's close, and then readWindowsAgentSettlement(agent) refused with WINDOWS_AGENT_PROCESS_UNVERIFIED at the assertion near line 119. The job had 151 passing tests and 37 skips. It does not record which receipt/schema/identity condition was unavailable; no causal fault is established.
Context: hosted Windows Server 2025, runner image windows-2025-vs2026 / 20261021.278, Node 26.12.1 x64, native server Vitest with no browser. The prior head's native job passed: https://github.com/atomantic/PortOS/actions/runs/40793879441/job/123185739710 . The Topaz branch does not change windowsAgentProcess.js, windowsAgentSupervisor.cs, or windowsAgentProcess.test.js. These observations support a suspected intermittent boundary failure, not a proven cause or resolution.
Expected: cancellation settles only the exact owned Job, durably publishes the matching whole-tree receipt before normal supervisor completion, and leaves the neighboring process alive. Actual: the durable reader refused after close; the log cannot distinguish missing receipt, failed supervisor stage, or invalid proof.
Chosen next step
Instrument the native supervisor and its boundary test with bounded, allowlisted phase/error and receipt-availability facts, then investigate on Windows with a predeclared finite cancellation matrix. In particular, distinguish empty-Job accounting, retained-process signaling, receipt persistence, and supervisor failure. The zero-time process-signal check after empty accounting is a hypothesis to examine, not a demonstrated cause. Do not print command text, arbitrary exception strings, process identifiers, paths, owner nonces or live instance data.
Affected files: server/lib/windowsAgentSupervisor.cs, server/lib/windowsAgentProcess.js, server/lib/windowsAgentProcess.test.js, and the native Windows CI diagnostic path.
Acceptance criteria
- Retain enough privacy-safe native evidence to identify the failing stage and distinguish publication/identity errors from process settlement.
- Use real Windows native processes with a declared finite run count, stopping on a useful recurrence and reporting non-reproduction honestly.
- Fix any demonstrated cause and cover cancellation, detached descendants, neighboring-process preservation, restart reading, supervisor loss and missing/corrupt proof at the native/service boundary.
- Preserve current deadlines and whole-tree/owner/process-generation assertions; no skip, sleep-after-close workaround, retry-until-green, PID-absence fallback or fabricated receipt.
- Missing or uncertain proof continues to hold recovery. A passing CI rerun is validation only and does not close the investigation without its stated evidence.
hardwareRequirements: ["windows"]
helpWanted: true
Windows is required to exercise Win32 Job objects, native supervisor cancellation and durable settlement; macOS/Linux cannot validate that boundary. The hosted Windows runner can provide the required validation, and Windows contributors can add controlled native reproductions.
Dispatch rationale: model:heavy for native process/receipt ordering and safety; effort:high for bounded diagnosis across kernel state, persistence and restart evidence.
- 主要言語
- JavaScript
- スター
- 38
- フォーク
- 32
- 平均マージ
- 48分
- マージ済み PR(30日)
- 991
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
atomantic/PortOS のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
メンテナーはふだん 1 日以内に返信
atomantic/PortOS の issue をすべて見る
似ている issue
-
bug namespace v1 blocker
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
oakmac/standard-clojure-style-js#269 ·
メンテナーはふだん 1 日以内に返信
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
CakeRepository/agentshangout#12 ·
メンテナーはふだん 1 日以内に返信
-
JS/TS: JSX props compile errors should link to a doc page explaining the static-list requirementオープンarea: js-runtime enhancement exists-upstream interop priority: low
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
shayanhabibi/fickl#307 ·
メンテナーはふだん 1 日以内に返信
-
editor good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
webarkit/webarkit-studio#16 ·
-
agent/dedupe stage/045-needs-decision
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
projectbluefin/documentation#1637 ·
メンテナーはふだん 1 日以内に返信