OpenProject v17.9.7-CE-ubuntu24.04-r1 build trail

How ReadyStack built readystack/openproject:v17.9.7-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/openproject:v17.9.7-CE-ubuntu24.04-r1
  • Index digestsha256:743c9f0ff4255b095243451bd30618aa0ef84ccfef9fff7cb9441aaec3651295
  • linux/amd64 digestsha256:81d26cd056ebb9c169665e235363724df7825e68fe48caa1d6fc7b4957437062
  • ArchiveReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r1.tar.gz
  • Archive SHA-256 now8f5cf70ce950831a13375e9bb69a79291a65725332b0b3603b341c6095551ac6
  • Pins recorddocs/PINS.md, docs/provenance/PINS.json in the archive (since generated)
  • Generated2026-11-11T05:26:40Z 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-openproject-v17.9.7-CE-ubuntu24.04-r1.trail.json.sigstore ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r1.trail.json

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

Identity

Fully recorded
  • ProductOpenProject (openproject) [MANIFEST.json]
  • Release tagv17.9.7-CE-ubuntu24.04-r1 [MANIFEST.json]
  • Imagereadystack/openproject:v17.9.7-CE-ubuntu24.04-r1 [MANIFEST.json]
  • Image index digestsha256:743c9f0ff4255b095243451bd30618aa0ef84ccfef9fff7cb9441aaec3651295 [docs/provenance/LOCKED_DIGEST.txt]
  • linux/amd64 image digestsha256:81d26cd056ebb9c169665e235363724df7825e68fe48caa1d6fc7b4957437062 [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r1.rebuild.json, subject.image_manifest_digest]
  • ArchiveReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r1.tar.gz (bytes 1060692573) [MANIFEST.json]
  • Archive sha256 at publishb4c19e2f2e72e971408bf8bc147bdd4f3f08001a2fd44511cbd029011adaa441 [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/opf/openproject [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream refv17.9.7 [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream commita4fb463862e438577949ede592dad5158988f9ce [docs/provenance/SOURCE_TREE_HASH.json]
  • Source tree hashf9e5989d0374f04b99f45e4a0357fbc29382293a3235a27368529c70a6e4dd67 (files 23579) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
  • Kit tree hashsha256:c4a7a26e971b7b5ee7c9198a1f0f346a16f81ede23893ed91ed0a800b848e2eb [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r1.rebuild.json, inputs.tree_hash]
  • SOURCE_DATE_EPOCH1794347942 (utc 2026-11-10T21:59:02Z) [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r1.rebuild.json, inputs.source_date_epoch]
  • Base images
    • ref ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852 · platform digest sha256:78d4744ead1f5b19b04d0df558ab182a5300903900755e515b2ca4d10eb2044d
    [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r1.rebuild.json, bases]
  • BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r1.rebuild.json, engine]
  • Engine commit(s)
    • commit e314563e0f09aa490acef381633c8e5eb3c2abc5 · dirty yes · first drive 4196
    • commit d95813ded88556d2c758e920acd67ccde31722f1 · dirty yes · first drive 4248
    • commit c1f462e723936ba7c87d1207ab85ed8f71bbd4d9 · dirty yes · first drive 4261
    [drive_runs, engine_sha]

Why this release exists

Fully recorded
  • Chain959 (created 2026-11-10T22:01:23Z · trigger customer_request · upstream version v17.9.7) [chains, chains #959]
  • Requestbuild request #639 (rebuild) (requested at 2026-11-10T21:59:08Z · requested by kitforge-agent · version v17.9.7) [build_requests, build_requests #639]
  • Reasonretarget to v17.9.7: a newer upstream release (rule 1) [build_requests, build_requests #639 request_reason]
  • Supersedesreadystack/openproject:v17.9.6-CE-ubuntu24.04-r1 (chain 852) [chains, chains #852]

The path through the harness

Fully recorded

1 chain · 3 drives · 18 stages · 2 rewinds

Chain 959 release · ready_to_ship

Created 2026-11-10T22:01:23Z, upstream v17.9.7, build request 639 [chains, chains #959]

DriveStartedMinutesBuild hostHow it stopped
41962026-11-10T22:02:44Z55.1build host 4 withhold-publish stage_failed at verdict; first failed check scout_verdict:osv_clean; 7 ticks [drive_runs, drive_runs #4196]
42482026-11-11T03:34:02Z79.7build host 4 withhold-publish ready_to_ship at package_archive; 16 ticks [drive_runs, drive_runs #4248]
42612026-11-11T05:13:47Z—build host 4 publish-held not recorded [drive_runs, drive_runs #4261]

Stages, in order

StageFirst startPassedAttemptsGate checks passedArtifacts (SHA-256)
intake 2026-11-10T22:02:55Z2026-11-10T22:02:55Z1
4
  • exists:order_json
  • order_json:json_parses
  • order_json:no_forbidden_placeholders
  • produces_paths_exist
order_json 679ff199b481…
acquire 2026-11-10T22:03:20Z2026-11-10T22:03:37Z1
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 c28123fad41b…
license_file 8ceb4b9ee5ad…
custody_inputs 5feb83ba16a2…
source_tree_hash c4283cce06de…
source_file_manifest ff634c2ff2df…
plan 2026-11-10T22:04:18Z2026-11-10T22:04:19Z1
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 c7af6e162bbe…
input_pin_plan 9272b4429fab…
toolchain_lock 431724889b59…
assemble_kit 2026-11-10T22:31:07Z2026-11-11T04:02:19Z2
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 2bd2e85dea12…
build_recipe 61dd12627240…
system_pinning fabe19a297e1…
build_offline_sh 6633aa31b6b4…
generate_sbom_sh ce0f1e6f1e70…
first_boot_health 10390a4c0d00…
verify_offline_sh 3e8184ea230c…
base_image_digests f6b682f401cc…
dockerfile_offline 2bd2e85dea12…
first_build_digest 59c4fe8dc225…
remediate 2026-11-10T22:32:12Z2026-11-11T04:02:23Z2
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 f319c9dbcb45…
security_report 0c147754c001…
build_kit 2026-11-10T22:53:52Z2026-11-11T04:24:20Z2
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 5497e70a2944…
locked_digest 183fd740f819…
freeze_manifest c95d20a92df6…
offline_rebuild_transcript d793b3ea9e70…
verdict 2026-11-10T22:57:52Z2026-11-11T04:27:22Z2
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 a10f0215f812…
publish_image 2026-11-11T04:28:37Z2026-11-11T04:28:38Z1
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 8d0d1fee4dbf…
promotion_record eb25a6d45c1e…
boot_instance 2026-11-11T04:30:30Z2026-11-11T04:30:33Z2
3
  • exists:instance_handle
  • instance_handle:json_parses
  • produces_paths_exist
instance_handle dffd2017aacc…
sbom 2026-11-11T04:31:15Z2026-11-11T04:31:16Z1
5
  • exists:sbom_json
  • exists:sbom_md
  • sbom_json:json_parses
  • sbom_md:md_min_sections:1
  • produces_paths_exist
sbom_md 8b8670fbc27d…
sbom_json 0b7864357a30…
schema_discovery 2026-11-11T04:31:19Z2026-11-11T04:31:20Z1
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 5cbb51d66fd3…
dependency_tree 7f488bcfa3bc…
table_classification 498e5868e34b…
admin_handbook 2026-11-11T04:31:26Z2026-11-11T04:31:27Z1
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 5f1aeb6c0929…
admin_handbook 07c385f708a9…
db_handbook 2026-11-11T04:31:35Z2026-11-11T04:31:36Z1
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 c2ee2c9aee00…
seed_isolation 4336cb14e5d3…
seed_data 2026-11-11T04:31:41Z2026-11-11T04:31:41Z1
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 403d148cad26…
seed_cases_json e417cb2dcc7c…
seed_validate 2026-11-11T04:31:44Z2026-11-11T04:31:45Z1
3
  • exists:seed_data_contract
  • seed_data_contract:json_parses
  • produces_paths_exist
seed_data_contract fd79f431f0b0…
usecase_validate 2026-11-11T04:32:01Z2026-11-11T04:32: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 b2247b16f5f7…
passed_tests 1af2c8cf4e5b…
test_results 33158f55f088…
usecase_contract 40284f0a9aa6…
finalize_docs 2026-11-11T04:32:08Z2026-11-11T04:32:08Z1
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 d251b0552590…
release_notes 251ce0961878…
api_integration_guide 1e2889813a70…
package_archive invalidated 2026-11-11T05:13:22Z 2026-11-11T04:53:42Z2026-11-11T04:53:45Z1
35 (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 thread_exit
  • 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 8d0f3fd7d1e7…
checksums 941591a0f94c…
verify_md 5aa6c5ea593c…
rebuild_md b24e2d8454a5…
manifest_txt c88999bfeb96…
actions_jsonl 00945d855eb9…
provenance_md c1204545ecbb…
assetchain_log_md e9eccaec0c0f…
assetchain_log_json 02eb387dc58d…

[stage_runs]

Rewinds

  • 2026-11-11T03:34:07Z: verdict to assemble_kit on strategy_changed (strategy changed (fbb29fa662c8 -> 374093042f6a)) [stage_events, stage_events #31098]
  • 2026-11-11T05:13:22Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #31233]

Model work per stage

Fully recorded

Role: writer model. Calls up to 2026-11-11T04:53:45Z.

5 calls over 3 stages

StageCallsRefusedErrorsMax attemptForced commitsReal tokensLesson rules shown
plan2001 09840 —
remediate2001 014916 L-A08, L-038, L-036, L-034, L-032
usecase_validate1001 01481 —

[micro_step_runs] [lesson_recalls]

Review

Fully recorded

Role: review model.

1 round, 1 counted, $0.46 recorded cost

RoundStartedCriticalMajorMinorVerdictCostCap in forceArchive reviewed
12026-11-11T04:55:03Z 000 clean to publish [held_rounds, held_rounds #1734] $0.46 3 rounds, $40.00 8d0f3fd7d1e7…

Defects

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

1 ledger entry: by severity high 1; by status open 1.

DefectSeverityStatusFound byFixed in
RSD-openproject-c84377a8f9
Ships a known default credential (admin) [defects, defects #245239]
highopenbuild strategy record—

Verification

1 item not recorded
  • Reproduced before publishingyes (rebuilt digest sha256:81d26cd056ebb9c169665e235363724df7825e68fe48caa1d6fc7b4957437062 · published digest sha256:81d26cd056ebb9c169665e235363724df7825e68fe48caa1d6fc7b4957437062 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 598) [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, 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-11T05:14:39Z · failing Docker Scout counts 157 packages with copyleft licences (CDDL, GPL, LGPL, MPL), 146 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-11T05:13:57Z) [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 3803126830 · transparency-log entry · integrated 2026-11-11T05:24:55Z) [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r1.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
  • Signed attestations
    • kind provenance · digest sha256:743c9f0ff4255b095243451bd30618aa0ef84ccfef9fff7cb9441aaec3651295 · state attached · log index 3803134168 · transparency-log entry
    • kind sbom · digest sha256:743c9f0ff4255b095243451bd30618aa0ef84ccfef9fff7cb9441aaec3651295 · state attached · log index 3803137861 · transparency-log entry
    • kind vsa · digest sha256:743c9f0ff4255b095243451bd30618aa0ef84ccfef9fff7cb9441aaec3651295 · state attached · log index 3803141617 · transparency-log entry
    • kind provenance · digest sha256:81d26cd056ebb9c169665e235363724df7825e68fe48caa1d6fc7b4957437062 · state attached · log index 3803145211 · transparency-log entry
    • kind sbom · digest sha256:81d26cd056ebb9c169665e235363724df7825e68fe48caa1d6fc7b4957437062 · state attached · log index 3803148149 · transparency-log entry
    • kind vsa · digest sha256:81d26cd056ebb9c169665e235363724df7825e68fe48caa1d6fc7b4957437062 · state attached · log index 3803151285 · transparency-log entry
    (at 2026-11-11T05:24:56Z) [attestations.json, results]
  • Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/openproject/recipe) [docs/provenance/PINS.json]

Offline clean-room rebuilds

  • 2026-11-11T04:55:10Z on build host 4 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
    rebuilt sha256:81d26cd056ebb9c169665e235363724df7825e68fe48caa1d6fc7b4957437062 [clean-room rebuild ledger, runs[743]]
  • 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-11T04:28:38Z [stage_runs, stage_runs chain 959 stage publish_image]
  • Archive manifests written2026-11-11T05:19:57Z [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 1254 · probed 2026-11-11T04:14:05Z · source build_kit) [release_images, isa_level_hard]

History

3 events
  • 2026-11-11T05:26:40Z generated: by KitForge release/build_trail.py · generator commit 00fdf292317462fb9f892d85853554d3b1d5c85a
  • 2026-11-11T05:29:10Z publication: promoted at 2026-11-11T05:27:24Z · promoted digest sha256:743c9f0ff4255b095243451bd30618aa0ef84ccfef9fff7cb9441aaec3651295 · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 465 · checklist status complete · checklist at 2026-11-11T05:29:10Z · record workspace: deliverables/provenance/PROMOTION_RECORD.json, RELEASE_CHECKLIST.json
  • 2026-11-12T03:16:44Z repack: previous sha256 b4c19e2f2e72e971408bf8bc147bdd4f3f08001a2fd44511cbd029011adaa441 · sha256 8f5cf70ce950831a13375e9bb69a79291a65725332b0b3603b341c6095551ac6 · reason customer kit files brought up to the current engine: BUILD_OFFLINE.sh (kit root, docs/offline, docs/docker); README.md and FILE_MODES.tsv at the archive root (release/kit_unpack.py), BUILD_OFFLINE.sh putting back the packed file modes, REBUILD.md unpacking with -p and keeping the key and signature outside the kit, and the verifier naming what differs; not image inputs; image and every build input unchanged · label kitfix · replaced BUILD_OFFLINE.sh, docs/REBUILD.md, docs/docker/BUILD_OFFLINE.sh, docs/offline/BUILD_OFFLINE.sh, docs/rebuild-bundle/rebuild_bundle.py · added FILE_MODES.tsv, README.md · record MANIFEST.json repack_history

Records

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