Harbor v2.15.4-CE-ubuntu24.04-r5 build trail

How ReadyStack built readystack/harbor:v2.15.4-CE-ubuntu24.04-r5 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/harbor:v2.15.4-CE-ubuntu24.04-r5
  • Index digestsha256:c2a84b8d8693c5daa63e66220db5a6fbbc6b901d6a379ea6d51aef4f2215ff9b
  • linux/amd64 digestsha256:37c78e56944b30796accd6839bf8c17f09b0d9301e7ba84c43f84e938b2e9255
  • ArchiveReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.tar.gz
  • Archive SHA-256 now1f004ec0b2c041961ba9060c482bb8a5ee41951d7369485b9a59b556d87e2c3a
  • Pins recorddocs/PINS.md, docs/provenance/PINS.json in the archive (since generated)
  • Generated2026-11-08T12:16:42Z 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-harbor-v2.15.4-CE-ubuntu24.04-r5.trail.json.sigstore ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.trail.json

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

Identity

Fully recorded
  • ProductHarbor (harbor) [MANIFEST.json]
  • Release tagv2.15.4-CE-ubuntu24.04-r5 [MANIFEST.json]
  • Imagereadystack/harbor:v2.15.4-CE-ubuntu24.04-r5 [MANIFEST.json]
  • Image index digestsha256:c2a84b8d8693c5daa63e66220db5a6fbbc6b901d6a379ea6d51aef4f2215ff9b [docs/provenance/LOCKED_DIGEST.txt]
  • linux/amd64 image digestsha256:37c78e56944b30796accd6839bf8c17f09b0d9301e7ba84c43f84e938b2e9255 [ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.rebuild.json, subject.image_manifest_digest]
  • ArchiveReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.tar.gz (bytes 519613922) [MANIFEST.json]
  • Archive sha256 at publish1f004ec0b2c041961ba9060c482bb8a5ee41951d7369485b9a59b556d87e2c3a [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/goharbor/harbor [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream refv2.15.4 [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream commit0a6bf30d54e779962ad5b862fc67e3e9f6b010d8 [docs/provenance/SOURCE_TREE_HASH.json]
  • Source tree hashc720c8b87a8214ee487223dc0d6a0287b6e82722713f1ee37f6f870b03718c7f (files 3289) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
  • Kit tree hashsha256:b6e82ecffb4a10bdd667d41d8a28f384b6540ba39ff16be37344ef1d9c01671b [ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.rebuild.json, inputs.tree_hash]
  • SOURCE_DATE_EPOCH1791512107 (utc 2026-10-09T02:15:07Z) [ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.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-harbor-v2.15.4-CE-ubuntu24.04-r5.rebuild.json, bases]
  • BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.rebuild.json, engine]
  • Engine commit(s)
    • commit edc79852ba16a5e69eeda21d1a93d01cfc9748f9 · dirty yes · first drive 3543
    • commit 51b2b16f817c9ef72f9eae92153faa98cb236aff · dirty yes · first drive 3781
    • commit 14ac19f4178268c2dbfa7e7cae4be76d466ea445 · dirty yes · first drive 3790
    [drive_runs, engine_sha]

Why this release exists

Fully recorded
  • Chain827 (created 2026-11-07T02:22:56Z · trigger customer_request · upstream version v2.15.4) [chains, chains #827]
  • Requestbuild request #507 (rebuild) (requested at 2026-11-07T02:00:35Z · requested by kitforge-agent · version v2.15.4) [build_requests, build_requests #507]
  • Reasonrerelease agenda REVISION -> v2.15.4-CE-ubuntu24.04-r5 (decay loop, IMP-08) [build_requests, build_requests #507 request_reason]
  • Supersedesreadystack/harbor:v2.15.4-CE-ubuntu24.04-r4 (chain 748) [chains, chains #748]

The path through the harness

Fully recorded

1 chain · 3 drives · 18 stages · 1 rewind

Chain 827 release · ready_to_ship

Created 2026-11-07T02:22:56Z, upstream v2.15.4, build request 507 [chains, chains #827]

DriveStartedMinutesBuild hostHow it stopped
35432026-11-07T02:23:24Z22.1build host 2 withhold-publish instance_boot_failed at boot_instance; 9 ticks [drive_runs, drive_runs #3543]
37812026-11-08T11:31:55Z10.8build host 2 withhold-publish ready_to_ship at package_archive; 11 ticks [drive_runs, drive_runs #3781]
37902026-11-08T12:10:42Z—build host 2 publish-held not recorded [drive_runs, drive_runs #3790]

Stages, in order

StageFirst startPassedAttemptsGate checks passedArtifacts (SHA-256)
intake 2026-11-07T02:23:34Z2026-11-07T02:23:35Z1
4
  • exists:order_json
  • order_json:json_parses
  • order_json:no_forbidden_placeholders
  • produces_paths_exist
order_json fa74315f63a8…
acquire 2026-11-07T02:23:41Z2026-11-07T02:23:42Z1
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 53df69459aa5…
license_file 12317570bcb2…
custody_inputs 1c579c0de5e0…
source_tree_hash 737c5b3167cb…
source_file_manifest 8681f300eb87…
plan 2026-11-07T02:24:41Z2026-11-07T02:24: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 0ff58416d65c…
input_pin_plan 10b101b5f16f…
toolchain_lock a87d9b1795b9…
assemble_kit 2026-11-07T02:34:51Z2026-11-07T02:34:52Z1
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 765cab87e421…
build_recipe 43d24ac964fb…
system_pinning d0b7c9e605cc…
build_offline_sh 6633aa31b6b4…
generate_sbom_sh ce0f1e6f1e70…
first_boot_health b435a649a0fa…
verify_offline_sh 3e8184ea230c…
base_image_digests 92f69da14256…
dockerfile_offline 765cab87e421…
first_build_digest 7e0dc7a813f2…
remediate 2026-11-07T02:35:56Z2026-11-07T02:35:57Z1
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 862fa9ab58ff…
security_report 25d1b79df8d5…
build_kit 2026-11-07T02:43:30Z2026-11-07T02:43:31Z1
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 29aa03d08ba3…
locked_digest 68d3fcb6d72b…
freeze_manifest 45d3b418a669…
offline_rebuild_transcript 814b41068d5c…
verdict 2026-11-07T02:44:29Z2026-11-07T02:44:30Z1
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 1b08b39986b6…
publish_image 2026-11-07T02:45:16Z2026-11-07T02:45:17Z1
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 f901f18cf08c…
promotion_record be396a94db39…
boot_instance 2026-11-08T11:32:33Z2026-11-08T11:32:36Z2
3
  • exists:instance_handle
  • instance_handle:json_parses
  • produces_paths_exist
instance_handle e733fd5fe974…
sbom 2026-11-08T11:32:52Z2026-11-08T11:32:53Z1
5
  • exists:sbom_json
  • exists:sbom_md
  • sbom_json:json_parses
  • sbom_md:md_min_sections:1
  • produces_paths_exist
sbom_md d5d13de9f5c6…
sbom_json 98f5809d7307…
schema_discovery 2026-11-08T11:32:56Z2026-11-08T11:32:56Z1
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 424ee5ea9d1d…
dependency_tree dfe36ffbe3f9…
table_classification 5db53410d8a3…
admin_handbook 2026-11-08T11:33:06Z2026-11-08T11:33:06Z1
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 5eb3f966f394…
admin_handbook 5472a282fc26…
db_handbook 2026-11-08T11:33:18Z2026-11-08T11:33:19Z1
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 3ae72efa4b8b…
seed_isolation d81a51972ae9…
seed_data 2026-11-08T11:33:31Z2026-11-08T11:33:32Z1
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 68627e0fccd9…
seed_cases_json 3bde167f1e48…
seed_validate 2026-11-08T11:33:34Z2026-11-08T11:33:35Z1
3
  • exists:seed_data_contract
  • seed_data_contract:json_parses
  • produces_paths_exist
seed_data_contract a43db3c3b533…
usecase_validate 2026-11-08T11:34:01Z2026-11-08T11:34:02Z1
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 06b24f6b6204…
passed_tests 4e8e0b71b597…
test_results 61f6d08fb15b…
usecase_contract bfb4303d323f…
finalize_docs 2026-11-08T11:34:08Z2026-11-08T11:34:09Z1
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 ebb6f59a92fb…
release_notes d9c160b81b90…
api_integration_guide f28068f5950f…
package_archive invalidated 2026-11-08T12:10:18Z 2026-11-08T11:42:38Z2026-11-08T11:42:40Z1
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 4c3a598855ef…
checksums 0c42ec9555b6…
verify_md 1457b1483f6a…
rebuild_md c9c5a987cb42…
manifest_txt 3f798c4ed7f6…
actions_jsonl 8ad944776d6e…
provenance_md 370b5ff4f4a8…
assetchain_log_md e9eccaec0c0f…
assetchain_log_json 3ef4de802136…

[stage_runs]

Rewinds

  • 2026-11-08T12:10:18Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #26123]

Model work per stage

Fully recorded

Role: writer model. Calls up to 2026-11-08T11:42:40Z.

5 calls over 3 stages

StageCallsRefusedErrorsMax attemptForced commitsReal tokensLesson rules shown
plan2001 014183 —
remediate2001 018133 L-A08, L-038, L-036, L-034, L-032
usecase_validate1001 01934 —

[micro_step_runs] [lesson_recalls]

Review

Fully recorded

Role: review model.

1 round, 1 counted, $0.28 recorded cost

RoundStartedCriticalMajorMinorVerdictCostCap in forceArchive reviewed
12026-11-08T11:43:18Z 000 clean to publish [held_rounds, held_rounds #1505] $0.28 3 rounds, $40.00 4c3a598855ef…

Defects

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

2 ledger entries: by severity low 2; by status open 2.

DefectSeverityStatusFound byFixed in
RSD-harbor-93b4e780a6
Release notes: The 400 is Harbor's designed answer to a request without scope (both handbooks document scope=g / scope=p&project_id). [defects, defects #175767]
lowopenheld review (review model)—
RSD-harbor-ce366bb99a
The image refuses to start without HARBOR_ADMIN_PASSWORD, although Harbor uses it only when it first initialises its database [defects, defects #175768]
lowopenruntime check—

Verification

1 item not recorded
  • Reproduced before publishingyes (rebuilt digest sha256:37c78e56944b30796accd6839bf8c17f09b0d9301e7ba84c43f84e938b2e9255 · published digest sha256:37c78e56944b30796accd6839bf8c17f09b0d9301e7ba84c43f84e938b2e9255 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 206) [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-08T12:11:06Z · failing Docker Scout counts 115 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-08T12:10:53Z) [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 3754971361 · transparency-log entry · integrated 2026-11-08T12:15:24Z) [ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
  • Signed attestations
    • kind provenance · digest sha256:c2a84b8d8693c5daa63e66220db5a6fbbc6b901d6a379ea6d51aef4f2215ff9b · state attached · log index 3754973858 · transparency-log entry
    • kind sbom · digest sha256:c2a84b8d8693c5daa63e66220db5a6fbbc6b901d6a379ea6d51aef4f2215ff9b · state attached · log index 3754975333 · transparency-log entry
    • kind vsa · digest sha256:c2a84b8d8693c5daa63e66220db5a6fbbc6b901d6a379ea6d51aef4f2215ff9b · state attached · log index 3754976958 · transparency-log entry
    • kind provenance · digest sha256:37c78e56944b30796accd6839bf8c17f09b0d9301e7ba84c43f84e938b2e9255 · state attached · log index 3754979031 · transparency-log entry
    • kind sbom · digest sha256:37c78e56944b30796accd6839bf8c17f09b0d9301e7ba84c43f84e938b2e9255 · state attached · log index 3754980629 · transparency-log entry
    • kind vsa · digest sha256:37c78e56944b30796accd6839bf8c17f09b0d9301e7ba84c43f84e938b2e9255 · state attached · log index 3754982617 · transparency-log entry
    (at 2026-11-08T12:15:24Z) [attestations.json, results]
  • Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/harbor/recipe) [docs/provenance/PINS.json]

Offline clean-room rebuilds

  • 2026-11-08T11:43:22Z on build host 4 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
    rebuilt sha256:37c78e56944b30796accd6839bf8c17f09b0d9301e7ba84c43f84e938b2e9255 [clean-room rebuild ledger, runs[645]]
  • 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-07T02:45:17Z [stage_runs, stage_runs chain 827 stage publish_image]
  • Archive manifests written2026-11-08T12:12:59Z [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 840 · probed 2026-11-07T02:39:50Z · source build_kit) [release_images, isa_level_hard]

History

2 events
  • 2026-11-08T12:16:42Z generated: by KitForge release/build_trail.py · generator commit 14ac19f4178268c2dbfa7e7cae4be76d466ea445
  • 2026-11-08T12:18:05Z publication: promoted at 2026-11-08T12:17:12Z · promoted digest sha256:c2a84b8d8693c5daa63e66220db5a6fbbc6b901d6a379ea6d51aef4f2215ff9b · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 368 · checklist status complete · checklist at 2026-11-08T12:18:05Z · record workspace: deliverables/provenance/PROMOTION_RECORD.json, RELEASE_CHECKLIST.json

Records

25 records
RecordWhere it isRows
docs/defects/defects.jsoninside the archive (ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.tar.gz)—
docs/provenance/IMAGE_EVIDENCE.jsoninside the archive (ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.tar.gz)—
docs/provenance/LOCKED_DIGEST.txtinside the archive (ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.tar.gz)—
docs/provenance/PINS.jsoninside the archive (ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.tar.gz)—
docs/provenance/REPRO_VERIFICATION.jsoninside the archive (ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.tar.gz)—
docs/provenance/SOURCE_TREE_HASH.jsoninside the archive (ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.tar.gz)—
MANIFEST.jsonbeside the archive (prodasset /data/production/harbor/v2.15.4-CE-ubuntu24.04-r5/), as staged for publishing—
PUBLISH_MANIFEST.jsonbeside the archive (prodasset /data/production/harbor/v2.15.4-CE-ubuntu24.04-r5/), as staged for publishing—
ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.rebuild.jsonbeside the archive (prodasset /data/production/harbor/v2.15.4-CE-ubuntu24.04-r5/), as staged for publishing—
ReadyStack-harbor-v2.15.4-CE-ubuntu24.04-r5.rebuild.json.sigstorebeside the archive (prodasset /data/production/harbor/v2.15.4-CE-ubuntu24.04-r5/), as staged for publishing—
SCOUT_EVIDENCE.jsonbeside the archive (prodasset /data/production/harbor/v2.15.4-CE-ubuntu24.04-r5/), 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)507
chainssadb, ReadyStack's engine database (not published)827
defectssadb, ReadyStack's engine database (not published)harbor v2.15.4-CE-ubuntu24.04-r5
drive_runssadb, ReadyStack's engine database (not published)chain 827
held_roundssadb, ReadyStack's engine database (not published)chain 827
lesson_recallssadb, ReadyStack's engine database (not published)chain 827
micro_step_runssadb, ReadyStack's engine database (not published)chain 827
release_imagessadb, ReadyStack's engine database (not published)harbor v2.15.4-CE-ubuntu24.04-r5
stage_eventssadb, ReadyStack's engine database (not published)chain 827
stage_runssadb, ReadyStack's engine database (not published)chain 827
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)—