Caddy v2.11.9-CE-ubuntu24.04-r1 build trail

How ReadyStack built readystack/caddy:v2.11.9-CE-ubuntu24.04-r1 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
  • Imagereadystack/caddy:v2.11.9-CE-ubuntu24.04-r1
  • Index digestsha256:d10961d638155a0ba77e7ee91178c3a7507c1c634e6d6492bfe17ca4e0ccb7ba
  • linux/amd64 digestsha256:75b0ef39a186607af32cda32813dd64550ddb48b918255de91a885a47fc36f9e
  • ArchiveReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.tar.gz
  • Archive SHA-256 now8cce708117f629f151a4fd15ded968ae9598aa8c5c12ae3c9ebe3900a1e256ec
  • Pins recorddocs/PINS.md, docs/provenance/PINS.json in the archive (since generated)
  • Generated2026-11-07T07:13:02Z 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-caddy-v2.11.9-CE-ubuntu24.04-r1.trail.json.sigstore ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.trail.json

IdentityWhy this release existsThe path through the harnessModel work per stageReviewDefectsVerificationPublicationPackages and CPU level

Identity

Fully recorded
  • ProductCaddy (caddy) [MANIFEST.json]
  • Release tagv2.11.9-CE-ubuntu24.04-r1 [MANIFEST.json]
  • Imagereadystack/caddy:v2.11.9-CE-ubuntu24.04-r1 [MANIFEST.json]
  • Image index digestsha256:d10961d638155a0ba77e7ee91178c3a7507c1c634e6d6492bfe17ca4e0ccb7ba [docs/provenance/LOCKED_DIGEST.txt]
  • linux/amd64 image digestsha256:75b0ef39a186607af32cda32813dd64550ddb48b918255de91a885a47fc36f9e [ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.rebuild.json, subject.image_manifest_digest]
  • ArchiveReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.tar.gz (bytes 454342829) [MANIFEST.json]
  • Archive sha256 at publish8cce708117f629f151a4fd15ded968ae9598aa8c5c12ae3c9ebe3900a1e256ec [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/caddyserver/caddy [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream refv2.11.9 [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream commit0d98caea58f794f88e709b1bef2880996a471bca [docs/provenance/SOURCE_TREE_HASH.json]
  • Source tree hash5d2facdc29aac86a8324199b17b926492644473e77c2f6684159598b839ed808 (files 740) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
  • Kit tree hashsha256:e358d7b971642817ff2572aa0200c879493bc64045b2d2403b74e6548414d324 [ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.rebuild.json, inputs.tree_hash]
  • SOURCE_DATE_EPOCH1793833511 (utc 2026-11-04T23:05:11Z) [ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.rebuild.json, inputs.source_date_epoch]
  • Base images
    • ref golang:1.26.10-bookworm@sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af · platform digest sha256:88750ccdd0f2a77fcc00a14b1a48d6409bd8ddb5d7c2dd6ec0b4a2e916daf9d9
    • ref ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852 · platform digest sha256:78d4744ead1f5b19b04d0df558ab182a5300903900755e515b2ca4d10eb2044d
    [ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.rebuild.json, bases]
  • BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.rebuild.json, engine]
  • Engine commit(s)
    • commit 07abd1e1c1197982ae81cf5d46861dd8f90c3cf6 · dirty yes · first drive 3553
    • commit 2488ac8956ee2098ba13f3ff11fe53d8cbec9ffb · dirty yes · first drive 3588
    • commit dd96302b9a90f1c60df2b90f5c0b896669121550 · dirty yes · first drive 3595
    • commit faa2f5b57c5449de26e6fdd34626d1f8d9e472a6 · dirty yes · first drive 3599
    • commit 0b84905088b3228fdf50e0647d1f5a7d7d60df02 · dirty yes · first drive 3603
    [drive_runs, engine_sha]

Why this release exists

Fully recorded
  • Chain833 (created 2026-11-07T03:17:13Z · trigger customer_request · upstream version v2.11.9) [chains, chains #833]
  • Requestbuild request #534 (rebuild) (requested at 2026-11-07T02:53:20Z · requested by kitforge-agent · version v2.11.9) [build_requests, build_requests #534]
  • Reasonretarget 2026-11-07: caddy v2.11.7-CE-ubuntu24.04-r5 -> v2.11.9 (upstream GA 2026-11-05; Core since revision 3); clears GO-2026-6860 x/net, GO-2026-6865 compress, CVE-2026-109518 apt (SLA missed on CVE-2026-78661); PR #184 merged 658853c1 [build_requests, build_requests #534 request_reason]
  • Supersedesreadystack/caddy:v2.11.7-CE-ubuntu24.04-r5 (chain 741) [chains, chains #741]

The path through the harness

Fully recorded

1 chain · 5 drives · 18 stages · 3 rewinds

Chain 833 release · ready_to_ship

Created 2026-11-07T03:17:13Z, upstream v2.11.9, build request 534 [chains, chains #833]

DriveStartedMinutesBuild hostHow it stopped
35532026-11-07T03:17:36Z20.9build host 1 withhold-publish stage_failed at package_archive; first failed check exists:checksums; 18 ticks [drive_runs, drive_runs #3553]
35882026-11-07T06:02:52Z5.4build host 1 withhold-publish ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #3588]
35952026-11-07T06:27:08Z3build host 1 withhold-publish ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #3595]
35992026-11-07T07:00:56Z3.1build host 1 withhold-publish ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #3599]
36032026-11-07T07:08:29Z—build host 1 publish-held not recorded [drive_runs, drive_runs #3603]

Stages, in order

StageFirst startPassedAttemptsGate checks passedArtifacts (SHA-256)
intake 2026-11-07T03:17:46Z2026-11-07T03:17:47Z1
4
  • exists:order_json
  • order_json:json_parses
  • order_json:no_forbidden_placeholders
  • produces_paths_exist
order_json 925559f91655…
acquire 2026-11-07T03:17:51Z2026-11-07T03:17:52Z1
12
  • exists:source_tree
  • exists:source_tree_hash
  • exists:source_file_manifest
  • exists:custody_inputs
  • exists:license_file
  • source_tree:dir_nonempty
  • source_tree_hash:json_parses
  • source_file_manifest:json_parses
  • custody_inputs:json_parses
  • license_file:file_nonempty
  • produces_paths_exist
  • custody_inputs:json_true:ce_audit.ce_only
source_tree 9bba97c799c9…
license_file cfc7749b96f6…
custody_inputs aa4580bd3507…
source_tree_hash 13bf6fd04d99…
source_file_manifest 011bd62b9298…
plan 2026-11-07T03:18:40Z2026-11-07T03:18:41Z1
10
  • exists:recon_report
  • exists:input_pin_plan
  • exists:toolchain_lock
  • recon_report:md_min_sections:3
  • recon_report:no_forbidden_placeholders
  • input_pin_plan:md_min_sections:2
  • input_pin_plan:no_forbidden_placeholders
  • toolchain_lock:file_nonempty
  • toolchain_lock:no_forbidden_placeholders
  • produces_paths_exist
recon_report aba4b3f5f8d0…
input_pin_plan 8812264fbc8c…
toolchain_lock 9ae34cf87399…
assemble_kit 2026-11-07T03:22:13Z2026-11-07T03:22:14Z1
27
  • exists:dockerfile
  • exists:base_image_digests
  • exists:system_pinning
  • exists:build_recipe
  • exists:first_build_digest
  • exists:first_boot_health
  • exists:dockerfile_offline
  • exists:verify_offline_sh
  • exists:build_offline_sh
  • exists:generate_sbom_sh
  • dockerfile:file_nonempty
  • dockerfile:no_forbidden_placeholders
  • base_image_digests:file_nonempty
  • system_pinning:file_nonempty
  • build_recipe:json_parses
  • first_build_digest:file_nonempty
  • first_boot_health:file_nonempty
  • dockerfile_offline:file_nonempty
  • dockerfile_offline:no_forbidden_placeholders
  • verify_offline_sh:file_nonempty
  • verify_offline_sh:no_forbidden_placeholders
  • build_offline_sh:file_nonempty
  • build_offline_sh:no_forbidden_placeholders
  • generate_sbom_sh:file_nonempty
  • generate_sbom_sh:no_forbidden_placeholders
  • produces_paths_exist
  • first_boot_health:file_contains:healthy=True
dockerfile b44248dd8387…
build_recipe 8ffd2e433f97…
system_pinning d9e8e7dec128…
build_offline_sh 6633aa31b6b4…
generate_sbom_sh ce0f1e6f1e70…
first_boot_health e453e3017285…
verify_offline_sh 3e8184ea230c…
base_image_digests 0dcbe2e588a4…
dockerfile_offline 5e33d6ecb58b…
first_build_digest 737814119bf9…
remediate 2026-11-07T03:23:07Z2026-11-07T03:23:08Z1
8
  • exists:vendored_apt
  • exists:remediation_log
  • exists:security_report
  • vendored_apt:dir_exists
  • remediation_log:json_parses
  • security_report:md_min_sections:2
  • security_report:no_forbidden_placeholders
  • produces_paths_exist
vendored_apt e3b0c44298fc…
remediation_log 843979bccbc6…
security_report 5b484041fafe…
build_kit 2026-11-07T03:26:43Z2026-11-07T03:26:44Z1
9
  • exists:freeze_manifest
  • exists:locked_digest
  • exists:cosign_stamp
  • exists:offline_rebuild_transcript
  • freeze_manifest:json_parses
  • locked_digest:file_nonempty
  • cosign_stamp:file_nonempty
  • offline_rebuild_transcript:json_parses
  • produces_paths_exist
cosign_stamp 9a183fc1ea29…
locked_digest 77aeb12dcdd5…
freeze_manifest 81a4a4f103a9…
offline_rebuild_transcript ada43baf3467…
verdict 2026-11-07T03:27:34Z2026-11-07T03:27:35Z1
8
  • exists:scout_verdict
  • scout_verdict:json_parses
  • produces_paths_exist
  • scout_verdict:release_check_passed
  • scout_verdict:nonroot_green
  • scout_verdict:zero_fixable_crit_high
  • scout_verdict:osv_clean
  • scout_verdict:no_baked_secrets
scout_verdict 797b8b30a548…
publish_image 2026-11-07T03:28:13Z2026-11-07T03:28:14Z1
7
  • exists:promotion_record
  • exists:hub_readme
  • promotion_record:json_parses
  • hub_readme:md_min_sections:2
  • hub_readme:no_forbidden_placeholders
  • produces_paths_exist
  • promotion_record:json_true:signed
hub_readme e10609fec97a…
promotion_record 76266b154939…
boot_instance 2026-11-07T03:28:20Z2026-11-07T03:28:23Z2
3
  • exists:instance_handle
  • instance_handle:json_parses
  • produces_paths_exist
instance_handle 9606fa56dfbc…
sbom 2026-11-07T03:28:35Z2026-11-07T03:28:35Z1
5
  • exists:sbom_json
  • exists:sbom_md
  • sbom_json:json_parses
  • sbom_md:md_min_sections:1
  • produces_paths_exist
sbom_md 4a2484013c51…
sbom_json 2dd7607669fb…
schema_discovery 2026-11-07T03:28:38Z2026-11-07T03:28:39Z1
7
  • exists:dependency_tree
  • exists:table_classification
  • exists:schema_hash
  • dependency_tree:json_parses
  • table_classification:json_parses
  • schema_hash:file_nonempty
  • produces_paths_exist
schema_hash 9dfb26084a20…
dependency_tree 58ece5c4716f…
table_classification 0b214d9d7e26…
admin_handbook 2026-11-07T03:28:47Z2026-11-07T03:28:48Z1
7
  • exists:admin_handbook
  • exists:api_map
  • admin_handbook:md_min_sections:10
  • admin_handbook:no_forbidden_placeholders
  • api_map:json_parses
  • produces_paths_exist
  • admin_handbook:command_transcripts_clean
api_map 6efa5f8a4ac6…
admin_handbook f11ce41668c0…
db_handbook 2026-11-07T03:28:58Z2026-11-07T03:28:59Z1
8
  • exists:db_handbook
  • exists:seed_isolation
  • db_handbook:md_min_sections:5
  • db_handbook:no_forbidden_placeholders
  • seed_isolation:md_min_sections:1
  • seed_isolation:no_forbidden_placeholders
  • produces_paths_exist
  • db_handbook:command_transcripts_clean
db_handbook 1e30b91f5fce…
seed_isolation e8e4bfd9358f…
seed_data 2026-11-07T03:29:04Z2026-11-07T03:29:04Z1
6
  • exists:seed_data_sql
  • exists:seed_cases_json
  • seed_data_sql:sql_parses
  • seed_data_sql:no_forbidden_placeholders
  • seed_cases_json:json_parses
  • produces_paths_exist
seed_data_sql 9367b17dfde9…
seed_cases_json 90adeefedf6b…
seed_validate 2026-11-07T03:29:07Z2026-11-07T03:29:08Z1
3
  • exists:seed_data_contract
  • seed_data_contract:json_parses
  • produces_paths_exist
seed_data_contract 7b989e656355…
usecase_validate 2026-11-07T03:29:25Z2026-11-07T03:29:26Z1
10
  • exists:usecase_contract
  • exists:passed_tests
  • exists:failed_tests
  • exists:test_results
  • usecase_contract:json_parses
  • passed_tests:md_min_sections:1
  • failed_tests:md_min_sections:1
  • test_results:json_parses
  • produces_paths_exist
  • test_results:usecase_thresholds:80,70
failed_tests a0d1717017dc…
passed_tests 84a90f126bf8…
test_results 7f92e7bbe768…
usecase_contract bb7d63fa64d8…
finalize_docs 2026-11-07T03:29:31Z2026-11-07T03:29:31Z1
9
  • exists:api_integration_guide
  • exists:release_notes
  • exists:defects_json
  • api_integration_guide:md_min_sections:3
  • api_integration_guide:no_forbidden_placeholders
  • release_notes:md_min_sections:3
  • release_notes:no_forbidden_placeholders
  • defects_json:json_parses
  • produces_paths_exist
defects_json 20e7db26c94b…
release_notes c269f11e13e5…
api_integration_guide 212f2980a63d…
package_archive invalidated 2026-11-07T07:08:02Z 2026-11-07T03:38:31Z2026-11-07T07:04:01Z4
34 (final gate PASS)
  • exists:checksums
  • exists:verify_md
  • exists:rebuild_md
  • exists:provenance_md
  • exists:manifest_txt
  • exists:assetchain_log_md
  • exists:assetchain_log_json
  • exists:actions_jsonl
  • exists:sale_tar
  • checksums:file_nonempty
  • verify_md:md_min_sections:2
  • verify_md:no_forbidden_placeholders
  • rebuild_md:md_min_sections:2
  • rebuild_md:no_forbidden_placeholders
  • provenance_md:md_min_sections:2
  • provenance_md:no_forbidden_placeholders
  • manifest_txt:file_nonempty
  • assetchain_log_md:md_min_sections:1
  • assetchain_log_json:json_parses
  • actions_jsonl:file_nonempty
  • sale_tar:file_nonempty
  • produces_paths_exist
  • G8 cosign
  • G8 scan_grade
  • G8 tag_base_os
  • G8 vex_shipped
  • G8 cpu_baseline
  • G8 scout_grade_a
  • G8 script_copies
  • G8 offline_rebuild
  • G8 rebuild_manifest
  • G8 artifact_coverage
  • G8 trademark_shipped
  • G8 assetchain_coverage
sale_tar 0c01f8ad0612…
checksums 69e218f3733c…
verify_md 1a83b81d52eb…
rebuild_md 5719398e2f19…
manifest_txt 0ab1b4c9f16a…
actions_jsonl 889300b3e1b3…
provenance_md 39582464d842…
assetchain_log_md e9eccaec0c0f…
assetchain_log_json e6798f7a49f7…

[stage_runs]

Rewinds

  • 2026-11-07T06:25:39Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #24107]
  • 2026-11-07T06:51:08Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #24149]
  • 2026-11-07T07:08:02Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #24158]

Model work per stage

Fully recorded

Role: writer model. Calls up to 2026-11-07T07:04:01Z.

40 calls over 6 stages

StageCallsRefusedErrorsMax attemptForced commitsReal tokensLesson rules shown
plan2001 011571 —
remediate2001 014749 L-A08, L-038, L-036, L-034, L-032
admin_handbook14203 0120887 —
db_handbook10303 083429 —
usecase_validate1001 01553 —
finalize_docs11202 093853 —

[micro_step_runs] [lesson_recalls]

Review

Fully recorded

Role: review model.

3 rounds, 3 counted, $1.50 recorded cost

RoundStartedCriticalMajorMinorVerdictCostCap in forceArchive reviewed
12026-11-07T06:08:35Z 022 findings to repackage [held_rounds, held_rounds #1441] $0.60 3 rounds, $40.00 1826a70383ab…
22026-11-07T06:30:31Z 020 findings to repackage [held_rounds, held_rounds #1444] $0.52 3 rounds, $40.00 d200ff9c9df0…
32026-11-07T07:04:25Z 000 clean to publish [held_rounds, held_rounds #1446] $0.39 3 rounds, $40.00 0c01f8ad0612…

Defects

Fully recorded
  • Ledger entries7 [defects, defects where product_slug=caddy and this tag or chain]
  • Disclosed in the archive7 [docs/defects/defects.json, entries]

7 ledger entries: by severity low 3, high 4; by status fixed-before-release 7.

DefectSeverityStatusFound byFixed in
RSD-caddy-fbaf78800f
A Caddyfile that cannot be read or parsed at startup makes the container exit 1 without logging why [defects, defects #163597]
lowfixed-before-releaseheld review (review model)—
RSD-caddy-d00c3a1218
Admin handbook: Stale v2.11.7 sentence left in the Configuration section: says docker logs will not show the startup error; false on v2.11.9 and contradicts the rewritten sections. [defects, defects #163716]
highfixed-before-releaseheld review (review model)—
RSD-caddy-b033d44a9f
Database handbook: Stale v2.11.7 sentence in 'Startup Error Handling': claims docker logs omits the error reason; false on v2.11.9 and contradicts the rewritten sections of the same handbook. [defects, defects #163717]
highfixed-before-releaseheld review (review model)—
RSD-caddy-43cf460560
Admin handbook: Log example inside a json code block has every quote backslash-escaped, so it is not what Caddy prints and not valid JSON. [defects, defects #163718]
lowfixed-before-releaseheld review (review model)—
RSD-caddy-d11a6fc3db
Admin handbook: Lists GET / as a documented admin endpoint although it returns 404 (the shipped text said so; this rewrite dropped it). [defects, defects #163719]
lowfixed-before-releaseheld review (review model)—
RSD-caddy-0f21544c1b
Database handbook: Stale v2.11.7 sentence (round-1 finding persists in the DB handbook's Configuration section): says the startup error is not written to docker logs; false on v2.11.9. [defects, defects #164428]
highfixed-before-releaseheld review (review model)—
RSD-caddy-0aa331a709
API guide: Stale v2.11.7 sentence in 'Startup Error Visibility': claims docker logs does not display the reason and shows only initial startup lines; false on v2.11.9. [defects, defects #164429]
highfixed-before-releaseheld review (review model)—

Verification

1 item not recorded
  • Reproduced before publishingyes (rebuilt digest sha256:75b0ef39a186607af32cda32813dd64550ddb48b918255de91a885a47fc36f9e · published digest sha256:75b0ef39a186607af32cda32813dd64550ddb48b918255de91a885a47fc36f9e · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 101) [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 · docker grade B · docker percent 83 · tool docker scout policy 1.26.0 · config docker-default · org vex no · at 2026-11-07T07:08:49Z · failing Docker Scout counts 97 packages with copyleft licences (GPL, LGPL, MPL), all 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-07T07:08:39Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
  • Image signature transparency-log entries [deliverables/provenance/PROMOTION_RECORD.json, sign_stdout_tail]
  • rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3732015766 · transparency-log entry · integrated 2026-11-07T07:11:41Z) [ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
  • Signed attestations
    • kind provenance · digest sha256:d10961d638155a0ba77e7ee91178c3a7507c1c634e6d6492bfe17ca4e0ccb7ba · state attached · log index 3732019096 · transparency-log entry
    • kind sbom · digest sha256:d10961d638155a0ba77e7ee91178c3a7507c1c634e6d6492bfe17ca4e0ccb7ba · state attached · log index 3732021957 · transparency-log entry
    • kind vsa · digest sha256:d10961d638155a0ba77e7ee91178c3a7507c1c634e6d6492bfe17ca4e0ccb7ba · state attached · log index 3732026414 · transparency-log entry
    • kind provenance · digest sha256:75b0ef39a186607af32cda32813dd64550ddb48b918255de91a885a47fc36f9e · state attached · log index 3732029042 · transparency-log entry
    • kind sbom · digest sha256:75b0ef39a186607af32cda32813dd64550ddb48b918255de91a885a47fc36f9e · state attached · log index 3732032489 · transparency-log entry
    • kind vsa · digest sha256:75b0ef39a186607af32cda32813dd64550ddb48b918255de91a885a47fc36f9e · state attached · log index 3732035346 · transparency-log entry
    (at 2026-11-07T07:11:44Z) [attestations.json, results]
  • Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/caddy/recipe) [docs/provenance/PINS.json]

Offline clean-room rebuilds

  • 2026-11-07T06:08:40Z on build host 2 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
    rebuilt sha256:75b0ef39a186607af32cda32813dd64550ddb48b918255de91a885a47fc36f9e [clean-room rebuild ledger, runs[611]]
  • 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-07T03:28:14Z [stage_runs, stage_runs chain 833 stage publish_image]
  • Archive manifests written2026-11-07T07:10:14Z [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 747 · probed 2026-11-07T03:24:46Z · source build_kit) [release_images, isa_level_hard]

History

2 events
  • 2026-11-07T07:13:02Z generated: by KitForge release/build_trail.py · generator commit 0b84905088b3228fdf50e0647d1f5a7d7d60df02
  • 2026-11-07T07:14:19Z publication: promoted at 2026-11-07T07:13:33Z · promoted digest sha256:d10961d638155a0ba77e7ee91178c3a7507c1c634e6d6492bfe17ca4e0ccb7ba · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 337 · checklist status complete · checklist at 2026-11-07T07:14:19Z · record workspace: deliverables/provenance/PROMOTION_RECORD.json, RELEASE_CHECKLIST.json

Records

25 records
RecordWhere it isRows
docs/defects/defects.jsoninside the archive (ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.tar.gz)—
docs/provenance/IMAGE_EVIDENCE.jsoninside the archive (ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.tar.gz)—
docs/provenance/LOCKED_DIGEST.txtinside the archive (ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.tar.gz)—
docs/provenance/PINS.jsoninside the archive (ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.tar.gz)—
docs/provenance/REPRO_VERIFICATION.jsoninside the archive (ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.tar.gz)—
docs/provenance/SOURCE_TREE_HASH.jsoninside the archive (ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.tar.gz)—
MANIFEST.jsonbeside the archive (prodasset /data/production/caddy/v2.11.9-CE-ubuntu24.04-r1/), as staged for publishing—
PUBLISH_MANIFEST.jsonbeside the archive (prodasset /data/production/caddy/v2.11.9-CE-ubuntu24.04-r1/), as staged for publishing—
ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.rebuild.jsonbeside the archive (prodasset /data/production/caddy/v2.11.9-CE-ubuntu24.04-r1/), as staged for publishing—
ReadyStack-caddy-v2.11.9-CE-ubuntu24.04-r1.rebuild.json.sigstorebeside the archive (prodasset /data/production/caddy/v2.11.9-CE-ubuntu24.04-r1/), as staged for publishing—
SCOUT_EVIDENCE.jsonbeside the archive (prodasset /data/production/caddy/v2.11.9-CE-ubuntu24.04-r1/), as staged for publishing—
clean-room rebuild ledgerthe clean-room rebuild ledger (runstate/audit-2026-09/bit4bit.json, not published)—
build_requestssadb, ReadyStack's engine database (not published)534
chainssadb, ReadyStack's engine database (not published)833
defectssadb, ReadyStack's engine database (not published)caddy v2.11.9-CE-ubuntu24.04-r1
drive_runssadb, ReadyStack's engine database (not published)chain 833
held_roundssadb, ReadyStack's engine database (not published)chain 833
lesson_recallssadb, ReadyStack's engine database (not published)chain 833
micro_step_runssadb, ReadyStack's engine database (not published)chain 833
release_imagessadb, ReadyStack's engine database (not published)caddy v2.11.9-CE-ubuntu24.04-r1
stage_eventssadb, ReadyStack's engine database (not published)chain 833
stage_runssadb, ReadyStack's engine database (not published)chain 833
attestations.jsonthe chain's workspace on the controller (not published)—
deliverables/provenance/PROMOTION_RECORD.jsonthe chain's workspace on the controller (not published)—
g8_result.jsonthe chain's workspace on the controller (not published)—