From 5af84b8edcb3029a97435d9203bcd6794793b80c Mon Sep 17 00:00:00 2001 From: Nucleic Date: Tue, 28 Jul 2026 23:20:33 -0700 Subject: [PATCH] Merge nucleic/olive-jade-civet-rznt into dev --- build.ps1 | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/build.ps1 b/build.ps1 index cb16ce0..b1760ee 100644 --- a/build.ps1 +++ b/build.ps1 @@ -25,11 +25,12 @@ .PARAMETER Target protocol — the wire layer only (the required CI leg; needs no SQLite). - core — NucleicCore, the full Windows manifest. Builds green as of the §12 item-9 - shims; a failure here IS a regression. With -Test it instead runs - NucleicCarbonTests, which builds every declared target (nucleic-hostd, - NucleicProtocolC, nucleic-smoke) — those are §12 items 10+ and may still - fail; that output is what's left of the M0 gap list. + core — NucleicCore, the full Windows manifest. With -Test it builds EVERY declared + target (nucleic-hostd, NucleicProtocolC, nucleic-smoke) and runs + NucleicCarbonTests. Both build and test are green on Windows 11 amd64 as of + 2026-07-29, so a failure here is a REGRESSION, not a gap — this leg used to + be reported as expected-to-fail and that wording is exactly what let a real + `git` spawn bug read as an items-10+ gap for a day. broker — the C# nucleic-brokerd contract tests (no Swift involved). all — all three, continuing past a failing leg. @@ -208,7 +209,7 @@ function Build-Protocol([hashtable]$sql) { function Build-Core([hashtable]$sql) { Write-Step 'core: building NucleicCore (full Windows manifest)' if ($Test) { - Write-Note '-Test builds EVERY target (hostd, NucleicProtocolC, smoke) — §12 items 10+ may still fail.' + Write-Note '-Test builds EVERY target (hostd, NucleicProtocolC, smoke) and runs NucleicCarbonTests.' } # NucleicCore only EXISTS when NUCLEIC_WINDOWS_PROTOCOL_ONLY is absent: with it set, # Package.swift narrows the manifest to [NucleicProtocol, NucleicProtocolTests] and this @@ -255,18 +256,15 @@ try { Write-Host '' Write-Step 'Summary' + # No leg is excused any more. Every one of them has been green on Windows at least once, + # so a red leg is a regression to look at — not a status quo to scroll past. foreach ($k in $results.Keys) { $ok = $results[$k] -eq 0 - # `core -Test` still reaches unported targets (§12 items 10+), so only that - # combination is reported as an expected gap rather than a red build. - $gap = ($k -eq 'core') -and $Test - $label = if ($ok) { 'PASS' } elseif ($gap) { 'FAIL (expected — items 10+ gap list)' } else { 'FAIL' } - $color = if ($ok) { 'Green' } elseif ($gap) { 'Yellow' } else { 'Red' } - Write-Host (" {0,-9} {1}" -f $k, $label) -ForegroundColor $color + Write-Host (" {0,-9} {1}" -f $k, $(if ($ok) { 'PASS' } else { 'FAIL' })) ` + -ForegroundColor $(if ($ok) { 'Green' } else { 'Red' }) } - $hard = @($results.Keys | Where-Object { - $results[$_] -ne 0 -and -not (($_ -eq 'core') -and $Test) }) + $hard = @($results.Keys | Where-Object { $results[$_] -ne 0 }) if ($hard.Count -gt 0) { exit 1 } exit 0 } finally {