virt-api v1.9.1-CE-debian12-r2 build trail
How ReadyStack built readystack/virtapi:v1.9.1-CE-debian12-r2 and its build kit, copied record by record: why the release exists, every chain, drive and stage it went through, the model work, the review rounds, the defects, the checks that verified it and when it was published. Each line names the record it comes from in brackets; a record that does not exist for this release says so.
This trail
As JSON- Image
readystack/virtapi:v1.9.1-CE-debian12-r2 - Index digestsha256:65177dc67dc11ed39de81fa63968e08cc768b7525fcde52aa0c8dc959f670a31
- linux/amd64 digestsha256:38ee20d8459ac3344e048c09fb4295a29ad9615f08037dfb8a2e651cee253ae2
- Archive
ReadyStack-virtapi-v1.9.1-CE-debian12-r2.tar.gz - Archive SHA-256 now84f94b9360bd279f118ff604be0be6f91c81963ee38632b79adc83964e08ea32
- Pins record
docs/PINS.md,docs/provenance/PINS.jsonin the archive (since generated) - Generated2026-11-08T09:09:15Z by KitForge release/build_trail.py
- Sections9 sections, 8 fully recorded; 1 item not recorded
Signed with the release key The trail's signature is a Sigstore bundle beside it. Check it is ours before you rely on it:
cosign verify-blob --key https://readystack.dev/keys/cosign.pub \ --bundle ReadyStack-virtapi-v1.9.1-CE-debian12-r2.trail.json.sigstore ReadyStack-virtapi-v1.9.1-CE-debian12-r2.trail.json
IdentityWhy this release existsThe path through the harnessModel work per stageReviewDefectsVerificationPublicationPackages and CPU level
Identity
Fully recorded- Productvirt-api (virtapi) [MANIFEST.json]
- Release tagv1.9.1-CE-debian12-r2 [MANIFEST.json]
- Imagereadystack/virtapi:v1.9.1-CE-debian12-r2 [MANIFEST.json]
- Image index digestsha256:65177dc67dc11ed39de81fa63968e08cc768b7525fcde52aa0c8dc959f670a31 [docs/provenance/LOCKED_DIGEST.txt]
- linux/amd64 image digestsha256:38ee20d8459ac3344e048c09fb4295a29ad9615f08037dfb8a2e651cee253ae2 [ReadyStack-virtapi-v1.9.1-CE-debian12-r2.rebuild.json, subject.image_manifest_digest]
- ArchiveReadyStack-virtapi-v1.9.1-CE-debian12-r2.tar.gz (bytes 1173302256) [MANIFEST.json]
- Archive sha256 at publish84f94b9360bd279f118ff604be0be6f91c81963ee38632b79adc83964e08ea32 [MANIFEST.json, tarball_sha256]
- Archive records agreeyes [MANIFEST.json, PUBLISH_MANIFEST.json and .cutover.json name the same sha256]
- Repack historynone: the archive is as first published [MANIFEST.json, repack_history]
- Upstream repositoryhttps://github.com/kubevirt/kubevirt [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream refv1.9.1 [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream commitc3d19093f9c7b843b3879b18dc088911c081c39e [docs/provenance/SOURCE_TREE_HASH.json]
- Source tree hashde7abf04e51b6cf004d0365dfe6d8c5251edeeb69bfa0caa3d8b366b85fe6f36 (files 12717) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
- Kit tree hashsha256:42b8fca5e5be69af6e37a4c18be2ba59db2bbd6413b74eee167204399281bcd8 [ReadyStack-virtapi-v1.9.1-CE-debian12-r2.rebuild.json, inputs.tree_hash]
- SOURCE_DATE_EPOCH1791523273 (utc 2026-10-09T05:21:13Z) [ReadyStack-virtapi-v1.9.1-CE-debian12-r2.rebuild.json, inputs.source_date_epoch]
- Base images
- ref quay.io/kubevirt/builder:2606231619-4fe2cd536f@sha256:a48a7dd5a1b80602269b8c714fdaa54f729a9a4a4d096f7ee0d15c94cef343e8 · platform digest sha256:a48a7dd5a1b80602269b8c714fdaa54f729a9a4a4d096f7ee0d15c94cef343e8
- BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-virtapi-v1.9.1-CE-debian12-r2.rebuild.json, engine]
- Engine commit(s)
- commit ca87f22b0bc07284fe7d35ddd7b8fced30d8dfd5 · dirty yes · first drive 3728
- commit 140ed2f441b69a1f7286874d7402f1794ec4e478 · dirty yes · first drive 3735
Why this release exists
Fully recorded- Chain874 (created 2026-11-08T07:48:39Z · trigger customer_request · upstream version v1.9.1) [chains, chains #874]
- Requestbuild request #577 (rebuild) (requested at 2026-11-08T07:44:43Z · requested by kitforge-agent · version v1.9.1) [build_requests, build_requests #577]
- ReasonKubeVirt v1.9.1 r2 security set: golang.org/x/net v0.62.0 (GO-2026-6860/6866, CVE-2026-78661), PR #225 [build_requests, build_requests #577 request_reason]
- Supersedesreadystack/virtapi:v1.9.1-CE-debian12-r1 (chain 788) [chains, chains #788]
The path through the harness
Fully recorded1 chain · 2 drives · 18 stages · 1 rewind
Chain 874 release · ready_to_ship
Created 2026-11-08T07:48:39Z, upstream v1.9.1, build request 577 [chains, chains #874]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 3728 | 2026-11-08T07:49:06Z | 33.5 | build host 1 withhold-publish | ready_to_ship at package_archive; 19 ticks [drive_runs, drive_runs #3728] |
| 3735 | 2026-11-08T09:03:01Z | — | build host 1 publish-held | not recorded [drive_runs, drive_runs #3735] |
Stages, in order
| Stage | First start | Passed | Attempts | Gate checks passed | Artifacts (SHA-256) |
|---|---|---|---|---|---|
intake |
2026-11-08T07:49:16Z | 2026-11-08T07:49:17Z | 1 | 4
|
order_json 29fb78576c73… |
acquire |
2026-11-08T07:49:42Z | 2026-11-08T07:49:44Z | 1 | 12
|
source_tree 725922dbd71a…license_file 5febf914b9f9…custody_inputs 5c9530588ed3…source_tree_hash 01d037b2587c…source_file_manifest ac5fc885c080… |
plan |
2026-11-08T07:50:24Z | 2026-11-08T07:50:25Z | 1 | 10
|
recon_report ebc99cd18c85…input_pin_plan 40c580485f78…toolchain_lock da6984ccafba… |
assemble_kit |
2026-11-08T07:59:11Z | 2026-11-08T07:59:12Z | 1 | 27
|
dockerfile 162906c42b37…build_recipe 284f903a18a2…system_pinning 01ba4719c80b…build_offline_sh 6633aa31b6b4…generate_sbom_sh ce0f1e6f1e70…first_boot_health 24e425cee54c…verify_offline_sh 3e8184ea230c…base_image_digests f7d52724d89c…dockerfile_offline 162906c42b37…first_build_digest 7153ea5de333… |
remediate |
2026-11-08T07:59:42Z | 2026-11-08T07:59:43Z | 1 | 8
|
vendored_apt e3b0c44298fc…remediation_log c37d20fa24e1…security_report ec4b7aea98cd… |
build_kit |
2026-11-08T08:11:16Z | 2026-11-08T08:11:17Z | 1 | 9
|
cosign_stamp e943a802eaf1…locked_digest fa6621f99906…freeze_manifest a85ff41d388a…offline_rebuild_transcript f483e782d3b6… |
verdict |
2026-11-08T08:11:48Z | 2026-11-08T08:11:49Z | 1 | 8
|
scout_verdict 7029becb812f… |
publish_image |
2026-11-08T08:12:20Z | 2026-11-08T08:12:20Z | 1 | 7
|
hub_readme b43b998a1b36…promotion_record 6e547c5a26ee… |
boot_instance |
2026-11-08T08:12:23Z | 2026-11-08T08:12:23Z | 1 | 3
|
instance_handle 8c19cc81bd08… |
sbom |
2026-11-08T08:12:33Z | 2026-11-08T08:12:34Z | 1 | 5
|
sbom_md 5bbf54f593d6…sbom_json f286de267f0b… |
schema_discovery |
2026-11-08T08:12:36Z | 2026-11-08T08:12:37Z | 1 | 7
|
schema_hash 43dd93f50e4a…dependency_tree 50d969d4c255…table_classification 703de7a49586… |
admin_handbook |
2026-11-08T08:12:40Z | 2026-11-08T08:12:40Z | 1 | 7
|
api_map 40bf27c6212e…admin_handbook f3e328bf1635… |
db_handbook |
2026-11-08T08:12:43Z | 2026-11-08T08:12:44Z | 1 | 8
|
db_handbook 6e12d053c1b3…seed_isolation 2fcfebf1ef92… |
seed_data |
2026-11-08T08:12:46Z | 2026-11-08T08:12:47Z | 1 | 6
|
seed_data_sql 8e20de0579b9…seed_cases_json 9b56dcab2a31… |
seed_validate |
2026-11-08T08:12:49Z | 2026-11-08T08:12:50Z | 1 | 3
|
seed_data_contract f150137d3176… |
usecase_validate |
2026-11-08T08:12:52Z | 2026-11-08T08:12:53Z | 1 | 10
|
failed_tests 4145d937414d…passed_tests fc5dc1221fe2…test_results fa5cce0fa127…usecase_contract 7f3af4f19234… |
finalize_docs |
2026-11-08T08:12:57Z | 2026-11-08T08:12:58Z | 1 | 9
|
defects_json 4d224d424909…release_notes 0c5cbdd09a8c…api_integration_guide 8210ff710846… |
package_archive invalidated 2026-11-08T09:02:33Z |
2026-11-08T08:22:29Z | 2026-11-08T08:22:33Z | 1 | 34 (final gate PASS)
|
sale_tar 70886962a3a7…checksums 04da4426a30e…verify_md 8bd6390af647…rebuild_md d7e9224236d6…manifest_txt e3cceba3e30a…actions_jsonl 079fafed97ed…provenance_md fa4f154fa0dd…assetchain_log_md e9eccaec0c0f…assetchain_log_json a816f1e19be9… |
[stage_runs]
Rewinds
- 2026-11-08T09:02:33Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #25661]
Model work per stage
Fully recordedRole: writer model. Calls up to 2026-11-08T08:22:33Z.
4 calls over 2 stages
| Stage | Calls | Refused | Errors | Max attempt | Forced commits | Real tokens | Lesson rules shown |
|---|---|---|---|---|---|---|---|
plan | 2 | 0 | 0 | 1 | 0 | 8229 | L-A183, L-A15 |
remediate | 2 | 0 | 0 | 1 | 0 | 7727 | L-A183, L-A15 |
[micro_step_runs] [lesson_recalls]
Review
Fully recordedRole: review model.
1 round, 1 counted, $0.69 recorded cost
| Round | Started | Critical | Major | Minor | Verdict | Cost | Cap in force | Archive reviewed |
|---|---|---|---|---|---|---|---|---|
| 1 | 2026-11-08T08:23:22Z | 0 | 0 | 3 | clean to publish [held_rounds, held_rounds #1488] | $0.69 | 3 rounds, $40.00 | 70886962a3a7… |
Defects
Fully recorded- Ledger entries3 [defects, defects where product_slug=virtapi and this tag or chain]
- Disclosed in the archive3 [docs/defects/defects.json, entries]
3 ledger entries: by severity low 3; by status open 3.
| Defect | Severity | Status | Found by | Fixed in |
|---|---|---|---|---|
RSD-virtapi-60f52477a3Release notes: Names the runtime user by account name only; every other record (SECURITY_REPORT line 7, VERIFY line 33, IMAGE_CONFIG User) gives the numeric user 1001, which is what a Kubernetes… [defects, defects #173130] | low | open | held review (review model) | — |
RSD-virtapi-93ee77d3a1Docker Hub README: Says the build kit is free for any registered account (also line 15, 'free with an account'), but the bundle MANIFEST prices this release's kit at 1000 cents and marks it not a free release. [defects, defects #173131] | low | open | held review (review model) | — |
RSD-virtapi-a7f7baa471VERIFY.md: The release's measured attestations list only SLSA provenance v1 and SPDX; no record shows the Verification Summary Attestation, and the promotion record says promotion is deferred, so the third… [defects, defects #173132] | low | open | held review (review model) | — |
Verification
1 item not recorded- Reproduced before publishingyes (rebuilt digest sha256:38ee20d8459ac3344e048c09fb4295a29ad9615f08037dfb8a2e651cee253ae2 · published digest sha256:38ee20d8459ac3344e048c09fb4295a29ad9615f08037dfb8a2e651cee253ae2 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 323) [docs/provenance/REPRO_VERIFICATION.json, verified]
- Final contract gate (G8)PASS (checks artifact_coverage, assetchain_coverage, cosign, cpu_baseline, offline_rebuild, rebuild_manifest, scan_grade, scout_grade_a, script_copies, tag_base_os, trademark_shipped, vex_shipped) [g8_result.json, result]
- Grade at releaseA (percent 94 · tool docker scout policy 1.26.0 · config docker-default · org vex no · at 2026-11-08T09:03:25Z · failing Docker Scout counts 3 packages with copyleft licences (GPL, LGPL), all of them operating-system packages (it counts only packages whose licence it can read; the SBOM lists every component).) [SCOUT_EVIDENCE.json, docker_scout_policy]
- Image signatureverified on the index and the linux/amd64 manifest (key fingerprint 04daa92344a52dbc · at 2026-11-08T09:03:13Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
- Image signature transparency-log entries
- log index 3751947623 · transparency-log entry
- log index 3751949493 · transparency-log entry
- rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3752947872 · transparency-log entry · integrated 2026-11-08T09:07:42Z) [ReadyStack-virtapi-v1.9.1-CE-debian12-r2.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
- Signed attestations
- kind provenance · digest sha256:65177dc67dc11ed39de81fa63968e08cc768b7525fcde52aa0c8dc959f670a31 · state attached · log index 3752952026 · transparency-log entry
- kind sbom · digest sha256:65177dc67dc11ed39de81fa63968e08cc768b7525fcde52aa0c8dc959f670a31 · state attached · log index 3752953397 · transparency-log entry
- kind vsa · digest sha256:65177dc67dc11ed39de81fa63968e08cc768b7525fcde52aa0c8dc959f670a31 · state attached · log index 3752955193 · transparency-log entry
- kind provenance · digest sha256:38ee20d8459ac3344e048c09fb4295a29ad9615f08037dfb8a2e651cee253ae2 · state attached · log index 3752957115 · transparency-log entry
- kind sbom · digest sha256:38ee20d8459ac3344e048c09fb4295a29ad9615f08037dfb8a2e651cee253ae2 · state attached · log index 3752958852 · transparency-log entry
- kind vsa · digest sha256:38ee20d8459ac3344e048c09fb4295a29ad9615f08037dfb8a2e651cee253ae2 · state attached · log index 3752960881 · transparency-log entry
- Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/virtapi/recipe) [docs/provenance/PINS.json]
Offline clean-room rebuilds
- 2026-11-08T08:23:30Z on build host 1 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
rebuilt sha256:38ee20d8459ac3344e048c09fb4295a29ad9615f08037dfb8a2e651cee253ae2 [clean-room rebuild ledger, runs[635]]
- Not recorded: the policy tool's --result-file itself (its per-policy results are copied into SCOUT_EVIDENCE.json and the archive's IMAGE_EVIDENCE.json; the file is not kept)
Publication
Fully recorded 1 pending at generation- Image pushed (internal tag), publish_image passed2026-11-08T08:12:20Z [stage_runs, stage_runs chain 874 stage publish_image]
- Archive manifests written2026-11-08T09:05:45Z [PUBLISH_MANIFEST.json, published_at]
- Pending at generation: the archive cut-over on prodasset, the release tag's promotion and the site event (this trail was generated after G8 and before them; they are appended as a 'publication' event in History)
Packages and CPU level
Fully recorded- x86-64 level the image needsv2 (used v4 · baseline v2 · elf files 280 · probed 2026-11-08T08:05:23Z · source build_kit) [release_images, isa_level_hard]
History
2 events- 2026-11-08T09:09:15Z generated: by KitForge release/build_trail.py · generator commit 652df6e0e6aa50b44c0f12948b3d5baab047fc1f
- 2026-11-08T09:10:54Z publication: promoted at 2026-11-08T09:09:53Z · promoted digest sha256:65177dc67dc11ed39de81fa63968e08cc768b7525fcde52aa0c8dc959f670a31 · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 355 · checklist status complete · checklist at 2026-11-08T09:10:54Z · record workspace: deliverables/provenance/PROMOTION_RECORD.json, RELEASE_CHECKLIST.json
Records
25 records| Record | Where it is | Rows |
|---|---|---|
docs/defects/defects.json | inside the archive (ReadyStack-virtapi-v1.9.1-CE-debian12-r2.tar.gz) | — |
docs/provenance/IMAGE_EVIDENCE.json | inside the archive (ReadyStack-virtapi-v1.9.1-CE-debian12-r2.tar.gz) | — |
docs/provenance/LOCKED_DIGEST.txt | inside the archive (ReadyStack-virtapi-v1.9.1-CE-debian12-r2.tar.gz) | — |
docs/provenance/PINS.json | inside the archive (ReadyStack-virtapi-v1.9.1-CE-debian12-r2.tar.gz) | — |
docs/provenance/REPRO_VERIFICATION.json | inside the archive (ReadyStack-virtapi-v1.9.1-CE-debian12-r2.tar.gz) | — |
docs/provenance/SOURCE_TREE_HASH.json | inside the archive (ReadyStack-virtapi-v1.9.1-CE-debian12-r2.tar.gz) | — |
MANIFEST.json | beside the archive (prodasset /data/production/virtapi/v1.9.1-CE-debian12-r2/), as staged for publishing | — |
PUBLISH_MANIFEST.json | beside the archive (prodasset /data/production/virtapi/v1.9.1-CE-debian12-r2/), as staged for publishing | — |
ReadyStack-virtapi-v1.9.1-CE-debian12-r2.rebuild.json | beside the archive (prodasset /data/production/virtapi/v1.9.1-CE-debian12-r2/), as staged for publishing | — |
ReadyStack-virtapi-v1.9.1-CE-debian12-r2.rebuild.json.sigstore | beside the archive (prodasset /data/production/virtapi/v1.9.1-CE-debian12-r2/), as staged for publishing | — |
SCOUT_EVIDENCE.json | beside the archive (prodasset /data/production/virtapi/v1.9.1-CE-debian12-r2/), as staged for publishing | — |
clean-room rebuild ledger | the clean-room rebuild ledger (runstate/audit-2026-09/bit4bit.json, not published) | — |
build_requests | sadb, ReadyStack's engine database (not published) | 577 |
chains | sadb, ReadyStack's engine database (not published) | 874 |
defects | sadb, ReadyStack's engine database (not published) | virtapi v1.9.1-CE-debian12-r2 |
drive_runs | sadb, ReadyStack's engine database (not published) | chain 874 |
held_rounds | sadb, ReadyStack's engine database (not published) | chain 874 |
lesson_recalls | sadb, ReadyStack's engine database (not published) | chain 874 |
micro_step_runs | sadb, ReadyStack's engine database (not published) | chain 874 |
release_images | sadb, ReadyStack's engine database (not published) | virtapi v1.9.1-CE-debian12-r2 |
stage_events | sadb, ReadyStack's engine database (not published) | chain 874 |
stage_runs | sadb, ReadyStack's engine database (not published) | chain 874 |
attestations.json | the chain's workspace on the controller (not published) | — |
deliverables/provenance/PROMOTION_RECORD.json | the chain's workspace on the controller (not published) | — |
g8_result.json | the chain's workspace on the controller (not published) | — |