Repository navigation
Add native SBOM input validators and source tests - #1039
Conversation
|
Prepared ordinary source-test wiring for this draft, without starting its full PR train ahead of the selected #1038 → #1036 → #1039 order. Exact source is The five-file successor adds a real bounded source-test job to the existing PHPUnit workflow, preserving the closed five-step central action preflight. After the existing approved patched-pip action, isolated pip installs the five fixed wheel URLs with required SHA-256 hashes and no dependency solve. Isolated Python runs only the synthetic archive/predicate tests. The source requirements are checked against the existing metadata and the new pip sink is bound to the actual checked bootstrap in the ordinary sink inventory. No fleet APT/setup guard or installer is copied. Forty SBOM source families, ten pip inventory controls, complete repository isolation scan, central source-policy validation, whitespace/public-boundary and changed-line credential-pattern checks pass locally. No wheel/layer/image was acquired and no local package was installed for this work; these tests use existing development tooling. Actual normal source CI for this successor will qualify development test execution only, never the future confined generator/validator or any archive/scan/publishing effect. Generation remains null. Server owns the eventual accepted-base refresh, ordinary required checks and remaining producer source. |
|
The ordered #1039 preparation is now preserved at This combined-source check caught and fixed one real future CI interaction: the promotion-only workflow's Combined verification: full repository isolation and 84 isolation tests pass, both promotion families pass, 17 pip/Composer inventory controls pass, central policy validation and whitespace/changed-line credential-pattern checks pass. Source metadata flags still prohibit the future confined validator/generator effects; README now distinguishes the original metadata-only observation from ordinary development test-tool installation. No local wheel/image/layer acquisition or install, scanner, Docker/container, registry/attestation/Release or runtime operation occurred. Server owns actual-base refresh and normal PR checks after #1036 reaches main; no blanket per-PR source review gate is added. |
|
The normal maintained-base refresh is published to this PR at The earlier #1036 actual-main prerequisite is complete in its acceptance/cleanup receipt. The refreshed delta is only this component's 16 paths; accepted promotion, retention-comparison and CI pacing source are inherited unchanged. Current combined source verification passes: 40 SBOM, 42 promotion, 84 isolation and 17 pip/Composer inventory controls, plus the complete repository isolation scan and accepted central policy's actual workflow inventory validation. The SBOM dependency job is separate from the narrowly selected promotion families, so the latter does not accidentally import schema dependencies. These checks used existing development libraries; no local wheel, package, image or layer acquisition occurred. Fresh ordinary PR checks are starting for this exact head. Historical checks do not qualify it. This source component still does not wire or admit an actual exporter/archive, scanner, generated SBOM, provider attestation or publication. Generation remains null. Server owns current CI/corrections and the later protected integration/main acceptance; the remaining #1012 producer and artifact qualification steps stay explicit. |
|
|
Submitted the current exact source pair once through the normal protected merge queue at 2026-11-05 21:58:06 UTC. Head All 61 current ordinary checks are terminal: 60 success / one declared skip, including all three required contexts and the actual Native SBOM source components job. No historical checks transfer. The PR was marked ready after this verification; it has no automatic merge request or closing references. Entry The actual changed-path inventory reaches no automatic artifact publisher: native publication, alias promotion and GitHub Release remain dispatch-only; no chart paths changed; PHP Server publication remains stopped. This accepts source tests/components only. Exporter, actual OCI archive/custody, scanner, generated output/provider authority, attestation and publication remain the named #1012 work; generation is null. Original queue group independently fetched as |
|
Actual-main acceptance and cleanup are complete. Normal protected #1039 merge is The single original protected queue entry All six actual-main source/analysis/graph workflows passed on attempt 1: Boundary The actual-main SBOM source job After fresh exact-head and ancestry checks, both owned merged refs were deleted: The next source action is the prepared #1040/#699 literal-parser PR on this accepted base, followed by its own fresh ordinary CI. The reviewed local retry-v2 proposal remains separate and does not enable a producer or SDK adoption. |



Native SBOM evidence needs an exact connection between the OCI platform/config, SPDX content and the release's source/run identity. This adds bounded OCI archive graph checks, SPDX 2.3 and provenance-predicate validators, reviewed tool/dependency inputs and synthetic source controls for those boundaries.
Archive validation rejects ambiguous paths, duplicate members, links, wrong subjects/platforms, inconsistent config/layer graphs and resource-limit violations without extraction. Policy validation checks document references, checksums, relationships and the fixed release/run/platform identity. Ordinary source CI runs both test modules through a separate hash-locked dependency job; promotion-contract discovery stays limited to its own dependency-free families.
This is a bounded component of #1012. The actual exporter, archive custody, scanner invocation, generated output, provider/attestation authority and publication wiring remain unfinished; generation is null and the standalone generation path refuses. No build/export/scan/registry/attestation effect is enabled by these source tests.
Validation on actual accepted Server base
cf069f63: 40 SBOM controls, 42 promotion controls, 84 isolation controls and 17 pip/Composer inventory controls pass; the full isolation scan and accepted central-policy inventory validation pass. No local wheel, image or layer was acquired and no local package was installed. Head19ba1bbf/ treebb80f5b4is a normal non-rewriting merge of the prepared source and actual accepted main. Fresh ordinary CI qualifies this exact head; historical checks are not transferred.All 61 current ordinary checks are terminal: 60 success / one declared skip, including all three required contexts and the actual SBOM source-test job. Protected source integration does not qualify generation or publication.