Evidence
Current-head Naruon PR #1206 run 30637062852 completed with zero Medium-or-higher findings, but the central Security Scan log still contains strict-contract warning/fatal-class output:
- Trivy:
[pip] Unable to find python site-packages directory. License detection is skipped.
- OSV Scanner v2.3.8:
--output is deprecated in favor of --output-file for base/head scans.
- OSV Reporter v2.3.8:
--output is deprecated in favor of --output-files.
- SARIF upload: local git attribution first emits
fatal: bad object <synthetic merge sha> before falling back to server-side calculation.
The actual scan evidence was clean: Trivy 0 CRITICAL/HIGH/MEDIUM, dependency-review 0 moderate+, OSV reporter SARIF 0, open code-scanning alerts 0. This issue tracks log-contract remediation rather than a package/CVE finding.
Acceptance
- Replace deprecated OSV flags with their v2 forms.
- Run Trivy with its supported quiet/log-suppression input while retaining required SARIF output and the explicit parser that prints every Medium+ finding.
- Materialize and verify the PR synthetic merge object before SARIF upload so attribution does not emit handled
fatal output.
- Add regression assertions and validate the reusable workflow with actionlint plus focused/full tests.
- Prove the change on a downstream current-head canary log.
Evidence
Current-head Naruon PR #1206 run
30637062852completed with zero Medium-or-higher findings, but the centralSecurity Scanlog still contains strict-contract warning/fatal-class output:[pip] Unable to find python site-packages directory. License detection is skipped.--outputis deprecated in favor of--output-filefor base/head scans.--outputis deprecated in favor of--output-files.fatal: bad object <synthetic merge sha>before falling back to server-side calculation.The actual scan evidence was clean: Trivy 0 CRITICAL/HIGH/MEDIUM, dependency-review 0 moderate+, OSV reporter SARIF 0, open code-scanning alerts 0. This issue tracks log-contract remediation rather than a package/CVE finding.
Acceptance
fataloutput.