SWAG 5.9.0-CE-ubuntu24.04-r2 build trail
How ReadyStack built readystack/swag:5.9.0-CE-ubuntu24.04-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/swag:5.9.0-CE-ubuntu24.04-r2 - Index digestsha256:68827ff0ccc506074442f2428da77dd509c299df2e31dda689d69eebaf8491b5
- linux/amd64 digestsha256:4fd953d00676b2ee4f8f88696ed4fce6573df9d14421fe5bfc547ec596cef43a
- Archive
ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.tar.gz - Archive SHA-256 now18a55c0a11768965c7b9f7544cc516821b60faa24fc9ed8e38c1e5506cac12aa
- Pins record
docs/PINS.md,docs/provenance/PINS.jsonin the archive (since generated) - Generated2026-11-11T22:45:50Z 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-swag-5.9.0-CE-ubuntu24.04-r2.trail.json.sigstore ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.trail.json
IdentityWhy this release existsThe path through the harnessModel work per stageReviewDefectsVerificationPublicationPackages and CPU level
Identity
Fully recorded- ProductSWAG (swag) [MANIFEST.json]
- Release tag5.9.0-CE-ubuntu24.04-r2 [MANIFEST.json]
- Imagereadystack/swag:5.9.0-CE-ubuntu24.04-r2 [MANIFEST.json]
- Image index digestsha256:68827ff0ccc506074442f2428da77dd509c299df2e31dda689d69eebaf8491b5 [docs/provenance/LOCKED_DIGEST.txt]
- linux/amd64 image digestsha256:4fd953d00676b2ee4f8f88696ed4fce6573df9d14421fe5bfc547ec596cef43a [ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.rebuild.json, subject.image_manifest_digest]
- ArchiveReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.tar.gz (bytes 406780565) [MANIFEST.json]
- Archive sha256 at publish18a55c0a11768965c7b9f7544cc516821b60faa24fc9ed8e38c1e5506cac12aa [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/linuxserver/docker-swag [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream ref5.9.0-ls497 [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream commit24000edb531a50939fd4e1a9e5943aa659fb2dab [docs/provenance/SOURCE_TREE_HASH.json]
- Source tree hashb8940a29f1bf74e97e31b5fafda9240ff496e094b57d146cf8afaa5dac2348b6 (files 152) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
- Kit tree hashsha256:32c35c95162e2ebbdcd9f0eda3b9c1889e453c263fd6d2040a777cdabc197ea1 [ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.rebuild.json, inputs.tree_hash]
- SOURCE_DATE_EPOCH1794391119 (utc 2026-11-11T09:58:39Z) [ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.rebuild.json, inputs.source_date_epoch]
- Base images
- ref ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852 · platform digest sha256:78d4744ead1f5b19b04d0df558ab182a5300903900755e515b2ca4d10eb2044d
- BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.rebuild.json, engine]
- Engine commit(s)
- commit fb3c8c212feaeb8607d5b295a821989cf0ab3e1e · dirty yes · first drive 4306
- commit 08040de9cc25311cfbe28aaa295df2520044e9e2 · dirty yes · first drive 4314
Why this release exists
Fully recorded- Chain980 (created 2026-11-11T21:25:45Z · trigger customer_request · upstream version 5.9.0) [chains, chains #980]
- Requestbuild request #450 (new_product) (requested at 2026-10-28T08:51:32Z · requested by agent · version 5.9.0) [build_requests, build_requests #450]
- Reasonce.rodeo trending tier 1 (letsencrypt, renamed swag; owner 2026-10-28 ship as renamed; fail2ban NET_ADMIN optional) [build_requests, build_requests #450 request_reason]
- Supersedesreadystack/swag:5.9.0-CE-ubuntu24.04-r1 (chain 860) [chains, chains #860]
The path through the harness
Fully recorded2 chains · 3 drives · 18 stages · 1 rewind
Chain 768 behind it · abandoned
Created 2026-10-28T10:36:00Z, upstream 5.8.0, build request 450 [chains, chains #768]
Abandoned: chain 768 abandoned: stale (it targets '5.8.0', the strategy '5.9.0') [watch_queue, watch_queue #10299 resolution]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 638 | 2026-10-28T10:36:13Z | 18.2 | build host 3 withhold-publish | stage_failed at build_kit [drive_runs, drive_runs #638] rebuilt from a build line's log |
Chain 980 release · ready_to_ship
Created 2026-11-11T21:25:45Z, upstream 5.9.0, build request 450 [chains, chains #980]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 4306 | 2026-11-11T21:26:07Z | 40.1 | build host 5 withhold-publish | ready_to_ship at package_archive; 19 ticks [drive_runs, drive_runs #4306] |
| 4314 | 2026-11-11T22:33:01Z | — | build host 5 publish-held | not recorded [drive_runs, drive_runs #4314] |
Stages, in order
| Stage | First start | Passed | Attempts | Gate checks passed | Artifacts (SHA-256) |
|---|---|---|---|---|---|
intake |
2026-11-11T21:26:18Z | 2026-11-11T21:26:19Z | 1 | 4
|
order_json 4e52b78c0151… |
acquire |
2026-11-11T21:26:23Z | 2026-11-11T21:26:24Z | 1 | 12
|
source_tree e505c19d5c9f…license_file 3972dc9744f6…custody_inputs 077269637473…source_tree_hash b392efb4fac4…source_file_manifest 4be9fa677ca0… |
plan |
2026-11-11T21:26:59Z | 2026-11-11T21:27:00Z | 1 | 10
|
recon_report fb5d2e0b8f4d…input_pin_plan d77c1f0bf4af…toolchain_lock 6f99f589b9aa… |
assemble_kit |
2026-11-11T21:37:13Z | 2026-11-11T21:37:14Z | 1 | 27
|
dockerfile 27b03b7555b2…build_recipe 8286c0732b25…system_pinning 28602e4092a8…build_offline_sh 6633aa31b6b4…generate_sbom_sh ce0f1e6f1e70…first_boot_health 54b2bde15719…verify_offline_sh 3e8184ea230c…base_image_digests 7acd08a7c2d3…dockerfile_offline 27b03b7555b2…first_build_digest 51cb94860ccc… |
remediate |
2026-11-11T21:37:54Z | 2026-11-11T21:37:55Z | 1 | 8
|
vendored_apt e3b0c44298fc…remediation_log a46e5e7cf6fe…security_report 76514b6dd145… |
build_kit |
2026-11-11T21:49:47Z | 2026-11-11T21:49:48Z | 1 | 9
|
cosign_stamp 0007ce9251f5…locked_digest 6398ae67fdd8…freeze_manifest d9b1b0e3f4c0…offline_rebuild_transcript a8383902a210… |
verdict |
2026-11-11T21:52:08Z | 2026-11-11T21:52:09Z | 1 | 8
|
scout_verdict 30796b9b85cb… |
publish_image |
2026-11-11T21:53:23Z | 2026-11-11T21:53:24Z | 1 | 7
|
hub_readme e328e77df473…promotion_record b24ce4b8c88a… |
boot_instance |
2026-11-11T21:53:40Z | 2026-11-11T21:53:45Z | 2 | 3
|
instance_handle b5fdda77dc06… |
sbom |
2026-11-11T21:54:13Z | 2026-11-11T21:54:14Z | 1 | 5
|
sbom_md ac39727c5105…sbom_json 6f5828e15057… |
schema_discovery |
2026-11-11T21:54:17Z | 2026-11-11T21:54:18Z | 1 | 7
|
schema_hash e1893ac93128…dependency_tree 1343eb96ed89…table_classification e03c3d87a147… |
admin_handbook |
2026-11-11T21:54:33Z | 2026-11-11T21:54:34Z | 1 | 7
|
api_map cdc3b6bb2c96…admin_handbook 67537f5ddfe2… |
db_handbook |
2026-11-11T21:54:51Z | 2026-11-11T21:54:52Z | 1 | 8
|
db_handbook d21fac3e91b0…seed_isolation 9ad80c9e4be8… |
seed_data |
2026-11-11T21:55:12Z | 2026-11-11T21:55:13Z | 1 | 6
|
seed_data_sql 97c26d9ebdae…seed_cases_json 00c30041a949… |
seed_validate |
2026-11-11T21:55:15Z | 2026-11-11T21:55:16Z | 1 | 3
|
seed_data_contract 2be5ab7d824a… |
usecase_validate |
2026-11-11T21:55:57Z | 2026-11-11T21:55:59Z | 1 | 10
|
failed_tests b2247b16f5f7…passed_tests 42dbeb793221…test_results 7212cf090a8e…usecase_contract 160cc6be942e… |
finalize_docs |
2026-11-11T21:56:07Z | 2026-11-11T21:56:08Z | 1 | 9
|
defects_json 7f2733a0b181…release_notes 67d82841fb31…api_integration_guide 5282dfdc16f5… |
package_archive invalidated 2026-11-11T22:32:32Z |
2026-11-11T22:06:08Z | 2026-11-11T22:06:10Z | 1 | 36 (final gate PASS)
|
sale_tar b5a573ad1d54…checksums 33dd3b92f9d6…verify_md 24b3e7e2c1a6…rebuild_md 058a4d316b1f…manifest_txt 6ebff2a12c80…actions_jsonl c7ff66ee9fe4…provenance_md 8e1165d3256c…assetchain_log_md e9eccaec0c0f…assetchain_log_json 499a58474eba… |
[stage_runs]
Rewinds
- 2026-11-11T22:32:32Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #32161]
Model work per stage
Fully recordedRole: writer model. Calls up to 2026-11-11T22:06:10Z.
4 calls over 2 stages
| Stage | Calls | Refused | Errors | Max attempt | Forced commits | Real tokens | Lesson rules shown |
|---|---|---|---|---|---|---|---|
plan | 2 | 0 | 0 | 1 | 0 | 11264 | L-A183, L-A15 |
remediate | 2 | 0 | 0 | 1 | 0 | 12666 | L-A183, L-A15 |
[micro_step_runs] [lesson_recalls]
Review
Fully recordedRole: review model.
1 round, 1 counted, $0.30 recorded cost
| Round | Started | Critical | Major | Minor | Verdict | Cost | Cap in force | Archive reviewed |
|---|---|---|---|---|---|---|---|---|
| 1 | 2026-11-11T22:06:58Z | 0 | 0 | 0 | clean to publish [held_rounds, held_rounds #1761] | $0.30 | 3 rounds, $40.00 | b5a573ad1d54… |
Defects
Fully recorded- Ledger entries0 [defects, defects where product_slug=swag and this tag or chain]
- Disclosed in the archive0 [docs/defects/defects.json, entries]
0 ledger entries.
Verification
1 item not recorded- Reproduced before publishingyes (rebuilt digest sha256:4fd953d00676b2ee4f8f88696ed4fce6573df9d14421fe5bfc547ec596cef43a · published digest sha256:4fd953d00676b2ee4f8f88696ed4fce6573df9d14421fe5bfc547ec596cef43a · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 302) [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, thread_exit, trademark_shipped, unpack_files, vex_shipped) [g8_result.json, result]
- Grade at releaseA (percent 94 · docker grade B · docker percent 83 · tool docker scout policy 1.26.0 · config docker-default · org vex no · at 2026-11-11T22:34:04Z · failing Docker Scout counts 110 packages with copyleft licences (GPL, LGPL, MPL), 109 of them operating-system packages (it counts only packages whose licence it can read; the SBOM lists every component). · corrections No outdated base images) [SCOUT_EVIDENCE.json, docker_scout_policy.corrected]
- Image signatureverified on the index and the linux/amd64 manifest (key fingerprint 04daa92344a52dbc · at 2026-11-11T22:33:12Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
- Image signature transparency-log entries
- log index 3818450749 · transparency-log entry
- log index 3818451568 · transparency-log entry
- rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3819209527 · transparency-log entry · integrated 2026-11-11T22:44:36Z) [ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
- Signed attestations
- kind provenance · digest sha256:68827ff0ccc506074442f2428da77dd509c299df2e31dda689d69eebaf8491b5 · state attached · log index 3819210269 · transparency-log entry
- kind sbom · digest sha256:68827ff0ccc506074442f2428da77dd509c299df2e31dda689d69eebaf8491b5 · state attached · log index 3819211650 · transparency-log entry
- kind vsa · digest sha256:68827ff0ccc506074442f2428da77dd509c299df2e31dda689d69eebaf8491b5 · state attached · log index 3819214306 · transparency-log entry
- kind provenance · digest sha256:4fd953d00676b2ee4f8f88696ed4fce6573df9d14421fe5bfc547ec596cef43a · state attached · log index 3819216848 · transparency-log entry
- kind sbom · digest sha256:4fd953d00676b2ee4f8f88696ed4fce6573df9d14421fe5bfc547ec596cef43a · state attached · log index 3819218533 · transparency-log entry
- kind vsa · digest sha256:4fd953d00676b2ee4f8f88696ed4fce6573df9d14421fe5bfc547ec596cef43a · state attached · log index 3819220149 · transparency-log entry
- Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/swag/recipe) [docs/provenance/PINS.json]
Offline clean-room rebuilds
- 2026-11-11T22:07:03Z on build host 5 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
rebuilt sha256:4fd953d00676b2ee4f8f88696ed4fce6573df9d14421fe5bfc547ec596cef43a [clean-room rebuild ledger, runs[761]]
- 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-11T21:53:24Z [stage_runs, stage_runs chain 980 stage publish_image]
- Archive manifests written2026-11-11T22:35:50Z [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 needsv1 (used v4 · baseline v2 · elf files 965 · probed 2026-11-11T21:44:29Z · source build_kit) [release_images, isa_level_hard]
History
2 events- 2026-11-11T22:45:50Z generated: by KitForge release/build_trail.py · generator commit 08040de9cc25311cfbe28aaa295df2520044e9e2
- 2026-11-11T22:47:35Z publication: promoted at 2026-11-11T22:46:24Z · promoted digest sha256:68827ff0ccc506074442f2428da77dd509c299df2e31dda689d69eebaf8491b5 · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 482 · checklist status complete · checklist at 2026-11-11T22:47:35Z · record workspace: deliverables/provenance/PROMOTION_RECORD.json, RELEASE_CHECKLIST.json
Records
26 records| Record | Where it is | Rows |
|---|---|---|
docs/defects/defects.json | inside the archive (ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/IMAGE_EVIDENCE.json | inside the archive (ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/LOCKED_DIGEST.txt | inside the archive (ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/PINS.json | inside the archive (ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/REPRO_VERIFICATION.json | inside the archive (ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/SOURCE_TREE_HASH.json | inside the archive (ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.tar.gz) | — |
MANIFEST.json | beside the archive (prodasset /data/production/swag/5.9.0-CE-ubuntu24.04-r2/), as staged for publishing | — |
PUBLISH_MANIFEST.json | beside the archive (prodasset /data/production/swag/5.9.0-CE-ubuntu24.04-r2/), as staged for publishing | — |
ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.rebuild.json | beside the archive (prodasset /data/production/swag/5.9.0-CE-ubuntu24.04-r2/), as staged for publishing | — |
ReadyStack-swag-5.9.0-CE-ubuntu24.04-r2.rebuild.json.sigstore | beside the archive (prodasset /data/production/swag/5.9.0-CE-ubuntu24.04-r2/), as staged for publishing | — |
SCOUT_EVIDENCE.json | beside the archive (prodasset /data/production/swag/5.9.0-CE-ubuntu24.04-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) | 450 |
chains | sadb, ReadyStack's engine database (not published) | 768, 980 |
defects | sadb, ReadyStack's engine database (not published) | swag 5.9.0-CE-ubuntu24.04-r2 |
drive_runs | sadb, ReadyStack's engine database (not published) | chain 768, chain 980 |
held_rounds | sadb, ReadyStack's engine database (not published) | chain 980 |
lesson_recalls | sadb, ReadyStack's engine database (not published) | chain 980 |
micro_step_runs | sadb, ReadyStack's engine database (not published) | chain 980 |
release_images | sadb, ReadyStack's engine database (not published) | swag 5.9.0-CE-ubuntu24.04-r2 |
stage_events | sadb, ReadyStack's engine database (not published) | chain 980 |
stage_runs | sadb, ReadyStack's engine database (not published) | chain 980 |
watch_queue | sadb, ReadyStack's engine database (not published) | 10299 |
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) | — |