fix(verify): run #77 anchors before fail gate; strip BEL in links
CI / routing tests (ubuntu-latest) (push) Canceled after 0s
CI / routing tests (windows-latest) (push) Canceled after 0s
CI / shell script syntax check (push) Canceled after 0s
CI / field-journal leak scan (push) Canceled after 0s
CI / case contract test (ctf-demo) (push) Canceled after 0s
CI / version consistency (push) Canceled after 0s

Move ADF/BSC assertions out of Write-Host string so they update $fail.
Use Ok/Bad + Test-Path/Get-Content (no phantom Assert-File*).
Assert re-agent-workflow hooks blindspot cookbook.
Remove ASCII BEL from ADF/workflow markdown link labels.
This commit is contained in:
yhc
2026-08-15 08:58:36 +08:00
parent 038e69fd5b
commit e489f9ad6a
3 changed files with 56 additions and 35 deletions
+1 -1
View File
@@ -149,4 +149,4 @@ Effort band + A-T pointers -> `E-anti-adversarial` (**no** A-T table copy).
## 5. Blindspot appendix (Issue #77 batch 2)
Language runtimes, heavy obfuscation, injection/detect chains, formats, and agent-meta blindspots: see [nalysis-blindspot-cookbook.md](analysis-blindspot-cookbook.md) (**R52-R81**). Decision rules R1-R51 in this file remain superior.
Language runtimes, heavy obfuscation, injection/detect chains, formats, and agent-meta blindspots: see [analysis-blindspot-cookbook.md](analysis-blindspot-cookbook.md) (**R52-R81**). Decision rules R1-R51 in this file remain superior.
@@ -195,9 +195,9 @@
### Decision quality overlay (Issue #77)
Before closing Synthesis, apply [nalysis-decision-framework.md](../../ops/analysis-decision-framework.md) **P0 checklist**: R41 grounded claims, R4* validated sufficiency, R1 confidence->dynamic, R2 hypothesis exit, R43 deadlock replan (under feasibility gate), R8/R23 no default malice/IOC. Multi-module -> R50; anti-analysis effort -> R51 + A-T cookbook.
Before closing Synthesis, apply [analysis-decision-framework.md](../../ops/analysis-decision-framework.md) **P0 checklist**: R41 grounded claims, R4* validated sufficiency, R1 confidence->dynamic, R2 hypothesis exit, R43 deadlock replan (under feasibility gate), R8/R23 no default malice/IOC. Multi-module -> R50; anti-analysis effort -> R51 + A-T cookbook.
Blindspots (Rust/Go/VMP/injection/OLE/PDF/agent-meta): [nalysis-blindspot-cookbook.md](../../ops/analysis-blindspot-cookbook.md) R52-R81 — detection-oriented; not a parallel master flow.
Blindspots (Rust/Go/VMP/injection/OLE/PDF/agent-meta): [analysis-blindspot-cookbook.md](../../ops/analysis-blindspot-cookbook.md) R52-R81 — detection-oriented; not a parallel master flow.
+53 -32
View File
@@ -442,6 +442,58 @@ $idCheck += "fastapi-in-ops-deps=false"
$idCheck -join [Environment]::NewLine | Set-Content (Join-Path $ScratchDir 'identity-check.txt') -Encoding UTF8
Ok 'identity-check written'
# Issue #77 — analysis decision framework anchors (MUST run before fail gate)
$adf = Join-Path $PackageRoot "skills\ops\analysis-decision-framework.md"
if (Test-Path -LiteralPath $adf) { Ok "analysis-decision-framework.md present (issue #77)" } else { Bad "analysis-decision-framework.md missing (issue #77)" }
if (Test-Path -LiteralPath $adf) {
$adfText = Get-Content -LiteralPath $adf -Raw -Encoding UTF8
foreach ($pair in @(
@("R4*", "ADF R4* validated sufficiency"),
@("E-insufficient-evidence", "ADF E-insufficient-evidence"),
@("E-hypothesis-confirmed", "ADF hypothesis evidence"),
@("ungrounded", "ADF ungrounded flag"),
@("Not** a second master", "ADF not second master workflow"),
@("analysis-blindspot-cookbook", "ADF links blindspot cookbook")
)) {
if ($adfText -like ("*" + $pair[0] + "*")) { Ok $pair[1] } else { Bad ("missing: " + $pair[1]) }
}
}
$efp77 = Join-Path $PackageRoot "skills\ops\evidence-finding-path.md"
if (Test-Path -LiteralPath $efp77) {
$efpText = Get-Content -LiteralPath $efp77 -Raw -Encoding UTF8
if ($efpText -like "*analysis-decision-framework*") { Ok "evidence-finding-path hooks ADF" } else { Bad "evidence-finding-path missing ADF hook" }
if ($efpText -like "*E-insufficient-evidence*") { Ok "evidence-finding-path R4* id" } else { Bad "evidence-finding-path missing E-insufficient-evidence" }
} else { Bad "evidence-finding-path.md missing" }
$wf77 = Join-Path $PackageRoot "skills\reverse-engineering\references\re-agent-workflow.md"
if (Test-Path -LiteralPath $wf77) {
$wfText = Get-Content -LiteralPath $wf77 -Raw -Encoding UTF8
if ($wfText -like "*analysis-decision-framework*") { Ok "re-agent-workflow hooks ADF" } else { Bad "re-agent-workflow missing ADF hook" }
if ($wfText -like "*analysis-blindspot-cookbook*") { Ok "re-agent-workflow hooks blindspot cookbook" } else { Bad "re-agent-workflow missing blindspot cookbook hook" }
} else { Bad "re-agent-workflow.md missing" }
$rules77 = Join-Path $PackageRoot "RULES.md"
if (Test-Path -LiteralPath $rules77) {
$rulesText = Get-Content -LiteralPath $rules77 -Raw -Encoding UTF8
if ($rulesText -like "*analysis-decision-framework*") { Ok "RULES.md hooks ADF" } else { Bad "RULES.md missing ADF hook" }
} else { Bad "RULES.md missing" }
# Issue #77 batch 2 — blindspot cookbook anchors
$bsc = Join-Path $PackageRoot "skills\ops\analysis-blindspot-cookbook.md"
if (Test-Path -LiteralPath $bsc) { Ok "analysis-blindspot-cookbook.md present (issue77 R52-R81)" } else { Bad "analysis-blindspot-cookbook.md missing (issue77 R52-R81)" }
if (Test-Path -LiteralPath $bsc) {
$bscText = Get-Content -LiteralPath $bsc -Raw -Encoding UTF8
foreach ($pair in @(
@("R52", "BSC R52 Rust"),
@("E-rust-identified", "BSC E-rust-identified"),
@("E-vmp-protected", "BSC E-vmp-protected"),
@("E-llm-hallucination", "BSC E-llm-hallucination"),
@("E-kernel-protect-tamper", "BSC kernel detect-only id"),
@("Not** a third master", "BSC not third master workflow"),
@("no bypass tutorial", "BSC no bypass tutorial")
)) {
if ($bscText -like ("*" + $pair[0] + "*")) { Ok $pair[1] } else { Bad ("missing: " + $pair[1]) }
}
}
Write-Host "Scratch=$ScratchDir"
if ($fail.Count -gt 0) {
Write-Host ("FAILED {0}" -f $fail.Count) -ForegroundColor Red
@@ -449,37 +501,6 @@ if ($fail.Count -gt 0) {
$fail | Set-Content (Join-Path $ScratchDir 'failures.txt') -Encoding UTF8
exit 1
}
Write-Host '
# Issue #77 — analysis decision framework anchors
$adf = Join-Path $PackageRoot "skills\ops\analysis-decision-framework.md"
Assert-FileExists $adf "analysis-decision-framework.md (issue #77)"
Assert-FileContains $adf "R4*" "ADF R4* validated sufficiency"
Assert-FileContains $adf "E-insufficient-evidence" "ADF E-insufficient-evidence"
Assert-FileContains $adf "E-hypothesis-confirmed" "ADF hypothesis evidence"
Assert-FileContains $adf "ungrounded" "ADF ungrounded flag"
Assert-FileContains $adf "Not** a second master" "ADF not second master workflow"
$efp77 = Join-Path $PackageRoot "skills\ops\evidence-finding-path.md"
Assert-FileContains $efp77 "analysis-decision-framework" "evidence-finding-path hooks ADF"
Assert-FileContains $efp77 "E-insufficient-evidence" "evidence-finding-path R4* id"
$wf77 = Join-Path $PackageRoot "skills\reverse-engineering\references\re-agent-workflow.md"
Assert-FileContains $wf77 "analysis-decision-framework" "re-agent-workflow hooks ADF"
$rules77 = Join-Path $PackageRoot "RULES.md"
Assert-FileContains $rules77 "analysis-decision-framework" "RULES.md hooks ADF"
# Issue 77 batch 2 blindspot cookbook anchors
$bsc = Join-Path $PackageRoot "skills\ops\analysis-blindspot-cookbook.md"
Assert-FileExists $bsc "analysis-blindspot-cookbook.md (issue77 R52-R81)"
Assert-FileContains $bsc "R52" "BSC R52 Rust"
Assert-FileContains $bsc "E-rust-identified" "BSC E-rust-identified"
Assert-FileContains $bsc "E-vmp-protected" "BSC E-vmp-protected"
Assert-FileContains $bsc "E-llm-hallucination" "BSC E-llm-hallucination"
Assert-FileContains $bsc "E-kernel-protect-tamper" "BSC kernel detect-only id"
Assert-FileContains $bsc "Not** a third master" "BSC not third master workflow"
Assert-FileContains $bsc "no bypass tutorial" "BSC no bypass tutorial"
$adf2 = Join-Path $PackageRoot "skills\ops\analysis-decision-framework.md"
Assert-FileContains $adf2 "analysis-blindspot-cookbook" "ADF links blindspot cookbook"
ALL ROUTING COHERENCE CHECKS PASSED' -ForegroundColor Green
Write-Host 'ALL ROUTING COHERENCE CHECKS PASSED' -ForegroundColor Green
'ALL ROUTING COHERENCE CHECKS PASSED' | Set-Content (Join-Path $ScratchDir 'verify.txt') -Encoding UTF8
exit 0