Harden workspace sync quarantine and updater recovery (#6)
ForgeFlow quality gate / secret-scan (push) Successful in 8s
ForgeFlow quality gate / quality (push) Failing after 11m39s

This commit was merged in pull request #6.
This commit is contained in:
2026-08-30 00:34:02 +02:00
parent d926007dae
commit a93231d69f
7 changed files with 163 additions and 17 deletions
+20
View File
@@ -268,6 +268,15 @@ test("PowerShell update helper starts with param and has no BOM or stray leading
assert.match(text, /npm ci --no-audit --no-fund/);
assert.match(text, /package-lock\.json/);
assert.doesNotMatch(text, /Get-Command npm\.cmd/);
assert.match(text, /Integrated source update refuses to overwrite a Git working tree/);
assert.ok(
text.indexOf("Handshake-only verification completed successfully") <
text.indexOf("Integrated source update refuses to overwrite a Git working tree"),
);
assert.ok(
text.indexOf("$actualHash = Get-Sha256") <
text.indexOf("Source update preflight passed"),
);
assert.ok(
text.indexOf('Write-UpdateState -State "success"') <
text.indexOf("Start-ForgeFlow -WorkingDirectory $SourcePath"),
@@ -764,4 +773,15 @@ test("binary update helper verifies, waits, applies and records restart state",
);
}
assert.doesNotMatch(helper, /Get-FileHash/);
assert.match(helper, /function Start-ForgeFlowAndVerify/);
assert.match(helper, /Start-Sleep -Milliseconds 1500/);
assert.match(helper, /Updated portable executable failed its restart probe/);
assert.ok(
helper.indexOf("$actualSha256 = Get-Sha256") <
helper.indexOf("Binary preflight passed"),
);
assert.ok(
helper.indexOf("Binary preflight passed") <
helper.indexOf('Write-UpdateState -State "waiting-for-exit"'),
);
});