Skip to content

Require native PostgreSQL 18 Windows/macOS validation before 1.0 - #23

Merged
ShutenOishi merged 9 commits into
mainfrom
feat/phase8-native-os
Oct 3, 2026
Merged

ShutenOishi merged 9 commits into
mainfrom
feat/phase8-native-os

Conversation

@ShutenOishi

@ShutenOishi ShutenOishi commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

English

Three-OS package tests previously left Windows/macOS real PostgreSQL execution outside acceptance. ADR-0022 retains Linux 10–18 and adds mandatory native PostgreSQL 18.6/net10.0 backup/custom-archive restore, finite/session psql and pgbench scenarios on Windows/macOS. Hash-verified source, pinned build tooling, binary/compiler/server provenance, unique Passed TRX and owned cluster receipts form the evidence boundary. Native jobs execute independently, while final acceptance still requires all 18 jobs on the same PR/main commits.

Windows grants the current user SID only on the newly owned fixture root, retains PostgreSQL's restricted token, logs provisioning to files and waits for controller PIDs. Owned evidence/logs stage under a single portable artifact root; binaries/database contents are excluded. Setup/collection/stop and tests remain bounded. The managed continuous-output fixture replaces shell dependency; parent/child stage logs and a test-only hang reader retain diagnostics. net48 stress runs ten rounds, net8/net10 three, stopping at the first failure. Earlier intermittent net48 completion stalls remain unresolved and are not claimed fixed by passing repeats.

Validation: final head 77923b3d63079825ff160b1fcef91d8c79b3c82e, CI 37114443209, all 18 jobs successful at attempt 1. Independently inspected native artifacts 11270178793 (Windows AMD64/MSVC/loopback TCP) and 11270888616 (macOS arm64/Clang/Unix socket): exact head/run/source hash, eight CLI versions/hashes, server 180006, owned receipts/logs and exactly one Passed net10.0 representative scenario each. Windows artifact 11270858556: 19 Passed TRX files, 1810 results, 570 paired completion/drain traces; no raw dumps. Strict local solution build had zero warnings/errors; synthetic provenance/TRX/staging negatives passed and are distinct from real CLI evidence. Exact main f5f7ecbb4f5d04647bc3b2eb570d4e1aa2c503b3, CI 37115096538, also passed all 18 jobs at attempt 1. Main native Windows/macOS artifacts 11271239426/11271323645, all nine Linux reports and Windows deterministic artifact 11270894526 were independently verified. The completion receipt is recorded in the conversation; 1.0 acceptance and unexplained earlier net48 stalls remain separate.

Exclusions remain: native older Windows/macOS majors, net8/net48 real CLI, service lifecycle, TLS/ICU/TTY, compression libraries, native migration/rewind and other destructive scenarios. The immutable alpha.2 selection and disabled publication manifests are preserved. CP-05 completion does not automatically accept/promote 1.0 or publish tags, Releases or NuGet.

日本語

Linux 10〜18を維持し、Windows/macOSのネイティブPostgreSQL 18.6・net10.0でバックアップ/リストア、有限・セッションpsql、pgbenchを1.0必須検証に追加します。版・hash・コンパイラ・所有cluster・一意の成功TRXを確認します。Windowsは新規所有rootのユーザーSIDだけを明示し、制限tokenを維持します。起動出力はファイルへ保存し、所有証拠・ログだけを単一rootへ集めます。

最終head77923b3、CI37114443209は初回で全18ジョブ成功。Windows成果物11270178793、macOS11270888616の実18.6・8CLI hash・所有receipt・単一成功TRXを独立確認しました。Windows通常成果物11270858556はTRX19件・1810結果・完了trace570組が成功しました。期限は緩和せず、以前のnet48間欠停止は原因未解明として保持します。ローカルbuildは警告・エラー0件で、模擬証拠の異常系は実CLI検証とは分けます。マージ後mainの記録を続けます。

旧版・別TFM・service・TLS/TTY・圧縮・native移行等は除外として明示します。1.0承認と外部公開は別判断で、公開設定とalpha.2固定ソースは維持します。

Copy link
Copy Markdown
Owner Author

Initial CI 37111052935 failed Windows/net10 Session_OutputWriteFault_TerminatesProducerAndPropagatesOriginalFailure: completion remained pending at the existing ten-second deadline (job 111168876748). Windows net8/net48 and other OS passed, but native/candidate/real jobs were skipped due to the dependency; those skips are not successful evidence.

The continuous-output test producer still used PowerShell on Windows and /bin/sh elsewhere. Replacing only that producer with a directly launched managed helper, preserving original write-fault/noncooperative-output assertions, ten/six-second deadlines and production APIs/backend. This removes shell startup/production variability without asserting the observed timeout's root cause. Fresh full CI is required; no unchanged retry is used.

日本語: 初回Windows/net10で既存の出力失敗テストが10秒内に終了せず失敗しました。実CLI jobの未実行は成功扱いにしません。連続出力fixtureだけを直接起動する.NET子プロセスに変更し、期限・検証・本番コードを維持します。原因は断定せず、新しい全CIで確認します。

Copy link
Copy Markdown
Owner Author

English

CI 37111416924: Windows net8/net10 full suites passed; net48 was aborted by the two-minute inactivity watchdog. Artifact 11269997870's Blame sequence identifies PsqlCompletionTests.CompleteAsync_SignalsEofAndWaitsForBinaryDrain_WithoutDisposingCallerStreams(size: 0) as incomplete. It does not establish the blocked operation or root cause. Native jobs were skipped. Head 4732591 adds parent/child stage files without relaxing the 15-second deadline or assertions; strict local build passed with zero warnings/errors. No native success or production fix is claimed.

日本語

CI 37111416924ではWindows net8/net10全件が成功、net48は2分の進行停止で終了しました。成果物11269997870の実行順序から0バイトのEOF/drainケースが未完了と確認しましたが、停止操作・原因は未確定です。実CLIジョブは未実行です。4732591で親子の段階記録を追加し、15秒期限・検証は維持します。ローカルbuildは警告・エラー0件。実CLI成功や本番修正とは扱いません。

Copy link
Copy Markdown
Owner Author

English

CI 37112048520 failed the second net48 stress round after all Windows full suites and the first net48 stress round passed. Artifact 11270078805 records the five-byte case's parent start/write/CompleteAsync returning and child EOF/drain at 09:10:32 UTC, but no parent completion before the watchdog. This narrows the observed symptom; the cause is not yet established. Head 65e9d24 adds a bounded Windows stack/async-state reader for test-only watchdog dumps (text retained; raw memory excluded/deleted). Native jobs now execute independently to expose their own diagnostics. Final acceptance still requires all 18 jobs on the same PR/main commits; no failing run is counted as completion.

日本語

CI 37112048520はWindows全対象とnet48反復1回目が成功し、2回目で停止しました。成果物11270078805では5バイトケースの親の開始・write・CompleteAsync復帰と子のEOF・drainを確認しましたが、親の完了待ちが戻りません。原因は未確定です。65e9d24で停止時のスタック・非同期状態を所有CI内で解析し、テキストのみ保存します。実CLIは独立起動して自身の診断も取得します。最終PR/mainの同一commitで全18ジョブ成功という条件は維持し、失敗runを完了扱いしません。

@ShutenOishi ShutenOishi changed the title Add required native PostgreSQL 18 Windows/macOS checkpoint Require native PostgreSQL 18 Windows/macOS validation before 1.0 Oct 3, 2026
@ShutenOishi
ShutenOishi merged commit f5f7ecb into main Oct 3, 2026
18 checks passed

Copy link
Copy Markdown
Owner Author

English

PR validation receipt: head 77923b3d63079825ff160b1fcef91d8c79b3c82e, CI 37114443209, all 18 jobs successful at attempt 1. Independently downloaded native Windows artifact 11270178793 (SHA256 adcea74b31dfd644f97ff97360d34958fbd21305d0d5490127839cc577e631f7) and macOS 11270888616 (6b1ea1996632efec813f82fbfa7c2e448515e6e9df2f59a5e62ebde3ff4824a6). Both reports/TRX match the exact PR head, workflow run, checkout 60a9cbe330c4f3680de3a1616325b1cb57f317f6, pinned 18.6 archive/hash, eight CLI versions/hashes, server 180006, platform/architecture/transport and one Passed representative net10.0 scenario. Owned setup/server logs and portable artifact staging were verified. Windows deterministic artifact 11270858556 confirms 19 Passed TRX files, 1810 results and 570 paired completion/drain traces; no raw dumps.

Merged as f5f7ecbb4f5d04647bc3b2eb570d4e1aa2c503b3, tree 31bd4a9fb60d7b9b9bb3b17148c625a8d1ec4419 (identical to reviewed source). Exact-main CI 37115096538 is in progress; CP-05 completion is pending that result/artifact inspection. Publication remains disabled/postponed. Earlier intermittent net48 stalls are still unresolved; passing repeats do not prove their cause/fix or automatically accept 1.0.

日本語

最終head77923b3、CI37114443209は初回で全18ジョブ成功。Windows/macOS native成果物11270178793/11270888616のZIP hash、同一head・run・checkout、18.6 source hash、8CLI、server180006、OS・transport、単一成功TRXと所有起動ログを独立確認しました。Windows通常成果物11270858556はTRX19件・1810結果・570組の完了/drainが成功しました。

mainへf5f7ecbとしてマージ済みで、treeはレビュー済みソースと一致します。main CI37115096538と成果物確認が完了するまではCP-05完了扱いにしません。公開は延期/無効を維持し、過去のnet48間欠停止は未解明として1.0承認と分けます。

Copy link
Copy Markdown
Owner Author

English

CP-05 completion receipt — three-OS native representative checkpoint complete.

  • Reviewed PR head: 77923b3d63079825ff160b1fcef91d8c79b3c82e; PR CI 37114443209: all 18 jobs successful, attempt 1. PR checkout: 60a9cbe330c4f3680de3a1616325b1cb57f317f6.
  • Exact main: f5f7ecbb4f5d04647bc3b2eb570d4e1aa2c503b3; tree 31bd4a9fb60d7b9b9bb3b17148c625a8d1ec4419, identical to reviewed source. Main CI 37115096538: all 18 jobs successful, attempt 1. Local main is synchronized and clean.
  • Independently downloaded and inspected both PR native artifacts and all 12 main real/deterministic artifacts listed below. ZIP digests match GitHub metadata; evidence/TRX source and tested-head SHAs, run IDs, pinned source hashes, actual CLI/server versions and required unique Passed scenarios match the exact runs.
Main evidence Artifact Verified scope
Native Windows 11271239426 AMD64, MSVC 19.51.36260, loopback TCP, net10.0; one Passed representative scenario
Native macOS 11271323645 arm64, Apple Clang 21.0.0, Unix socket, net10.0; one Passed representative scenario
Windows deterministic 11270894526 19 TRX files / 1810 Passed results / 570 paired parent-completion and child-EOF/drain traces; no raw dumps
Linux 10 / 10.23 11270393679 Two required unique Passed scenarios
Linux 11 / 11.22 11270899790 Two required unique Passed scenarios
Linux 12 / 12.22 11271465111 Two required unique Passed scenarios
Linux 13 / 13.23 11270408740 Three required unique Passed scenarios
Linux 14 / 14.24 11270293901 Three required unique Passed scenarios
Linux 15 / 15.19 11271234230 Three required unique Passed scenarios
Linux 16 / 16.15 11271284064 Three required unique Passed scenarios
Linux 17 / 17.11 11270804956 Three required unique Passed scenarios
Linux 18 / 18.6 11270538558 Four required unique Passed scenarios, including pinned 16→18 Copy migration

Both native reports verify PostgreSQL 18.6 source SHA256 555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f, eight actual executable versions/hashes, server version number 180006, owned build/cluster receipts and setup/server logs. Windows records only the current user SID grant on its new fixture root. Provisioning and artifact staging passed on both platforms. Native ZIP SHA256: Windows d0fa8b970768a244383677fff3d3abcd92217fa56055c8ae5803ea1b9ebe052d; macOS f2b8c64f61b84148ca96297484df685f6bc7ae466c63754ffed0750893efafb0. Conditional out-of-scope Linux TRX entries are not counted as additional real scenarios.

Previous failures/superseded runs remain in the checkpoint document and this conversation. In particular, earlier intermittent net48 completion-observation stalls are still unexplained. The final successful repeats establish those executions, not their cause or a production fix. No hang dump was produced in the final runs; the dump reader is preparedness, not evidence of a diagnosed cause.

This completes ADR-0022's bounded native checkpoint, not automatic Phase 8/1.0 acceptance or publication. Native older Windows/macOS majors, net8/net48 real CLI, privileged services, TLS/ICU/TTY, compression libraries, native migration/rewind and unlisted destructive scenarios remain excluded. The selected alpha.2 source 0b7a2bb2e4dc1c1ed016181b2598645a1e3a8d5d is unchanged; all three publication manifests remain false. No tag, GitHub Release or NuGet publication was performed. Public API/library runtime dependencies were not changed by this checkpoint.

日本語

CP-05の3OS実CLI代表チェックポイントを完了しました。 最終PR head77923b3・CI37114443209と、main f5f7ecb・CI37115096538はいずれも初回で全18ジョブ成功です。treeはレビュー済みソースと一致し、ローカルmainも同期済み・変更なしです。

PRのnative2成果物とmainの上表12成果物を独立取得し、ZIP hash、同一commit/run、固定source hash、実CLI/server版、必要シナリオの一意の成功TRXを確認しました。Windows/macOSは18.6・server180006・8CLI hash・所有receipt・起動/サーバーログを確認し、Windowsの専用SID権限・起動待ち・単一rootへの成果物保存も成功しました。Linuxは10〜18の既存scopeを維持し、条件外で実行されないTRX項目を追加の実検証には数えません。Windows通常検証はTRX19件・1810成功結果・570組の完了/EOF/drainを確認しました。

過去の失敗・置換runは保持します。以前のnet48間欠停止は未解明で、今回の反復成功を原因修正と断定しません。最終runでは停止dumpは生成されず、解析readerは診断準備として扱います。

これはADR-0022の限定チェックポイント完了であり、Phase 8/1.0全体の自動承認ではありません。旧版・別TFMのnative実CLI、service・TLS/TTY・圧縮・native移行等の除外と、間欠停止の残件を明示したままです。alpha.2の固定source、3つの無効な公開設定は維持し、タグ・GitHub Release・NuGetは公開していません。今回、公開APIやライブラリ実行時依存は変更していません。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant