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

How ReadyStack built readystack/openproject:v17.9.7-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
  • Imagereadystack/openproject:v17.9.7-CE-ubuntu24.04-r2
  • Index digestsha256:557dd66d2490f4b0d92a07e26f128bd109cab94e764da7f0bc07e88992d3b8c3
  • linux/amd64 digestsha256:89511224408a345b94e1b4a8638b37ff2a77e8fafa99bfb1adbaa81e26857e7f
  • ArchiveReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r2.tar.gz
  • Archive SHA-256 now32680b910331e2ac71059fd895ac60a820bbf72ffa3caeb3686a90b67511f2e2
  • Pins recorddocs/PINS.md, docs/provenance/PINS.json in the archive (since generated)
  • Generated2026-11-12T22:15:48Z 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-r2.trail.json.sigstore ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r2.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-r2 [MANIFEST.json]
  • Imagereadystack/openproject:v17.9.7-CE-ubuntu24.04-r2 [MANIFEST.json]
  • Image index digestsha256:557dd66d2490f4b0d92a07e26f128bd109cab94e764da7f0bc07e88992d3b8c3 [docs/provenance/LOCKED_DIGEST.txt]
  • linux/amd64 image digestsha256:89511224408a345b94e1b4a8638b37ff2a77e8fafa99bfb1adbaa81e26857e7f [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r2.rebuild.json, subject.image_manifest_digest]
  • ArchiveReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r2.tar.gz (bytes 1062363667) [MANIFEST.json]
  • Archive sha256 at publish32680b910331e2ac71059fd895ac60a820bbf72ffa3caeb3686a90b67511f2e2 [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:5d5408b63f5fe376b8963c7a53ab243a0ba5a96f7d2f3ac65eded1bbeb800cdb [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r2.rebuild.json, inputs.tree_hash]
  • SOURCE_DATE_EPOCH1794448267 (utc 2026-11-12T01:51:07Z) [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r2.rebuild.json, inputs.source_date_epoch]
  • Base images
    • ref ubuntu:24.04@sha256:2198e4c65076e9cb0b3d695219df667c0e3b0072da64ca3c2648aca17dcecaf5 · platform digest sha256:77eb101c607d6e3d4f5ad0c8a02c2136c689b98aba1f359e6502ba517e5c57ec
    [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r2.rebuild.json, bases]
  • BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r2.rebuild.json, engine]
  • Engine commit(s)
    • commit d6d7f1aa091cf0be154f9c62ac83dffb55f782cb · dirty yes · first drive 4464
    • commit e801370d9f59d1c7c9c152835f7fc8cb6cdfe374 · dirty yes · first drive 4479
    [drive_runs, engine_sha]

Why this release exists

Fully recorded
  • Chain1038 (created 2026-11-12T20:02:39Z · trigger customer_request · upstream version v17.9.7) [chains, chains #1038]
  • Requestbuild request #709 (rebuild) (requested at 2026-11-12T01:51:08Z · requested by kitforge-agent · version v17.9.7) [build_requests, build_requests #709]
  • Reasonrevision v17.9.7-CE-ubuntu24.04-r2: same upstream version rebuilt (retarget.py --rev-bump) [build_requests, build_requests #709 request_reason]
  • Supersedesreadystack/openproject:v17.9.7-CE-ubuntu24.04-r1 (chain 959) [chains, chains #959]

The path through the harness

Fully recorded

1 chain · 2 drives · 18 stages · 1 rewind

Chain 1038 release · ready_to_ship

Created 2026-11-12T20:02:39Z, upstream v17.9.7, build request 709 [chains, chains #1038]

DriveStartedMinutesBuild hostHow it stopped
44642026-11-12T20:03:20Z82.9build host 1 withhold-publish ready_to_ship at package_archive; 19 ticks [drive_runs, drive_runs #4464]
44792026-11-12T22:02:19Z—build host 1 publish-held not recorded [drive_runs, drive_runs #4479]

Stages, in order

StageFirst startPassedAttemptsGate checks passedArtifacts (SHA-256)
intake 2026-11-12T20:03:30Z2026-11-12T20:03:31Z1
4
  • exists:order_json
  • order_json:json_parses
  • order_json:no_forbidden_placeholders
  • produces_paths_exist
order_json 4f82e19df0dc…
acquire 2026-11-12T20:03:53Z2026-11-12T20:03:56Z1
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-12T20:04:30Z2026-11-12T20:04:31Z1
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 40983cc61894…
input_pin_plan 765248351871…
toolchain_lock 134eb85252f6…
assemble_kit 2026-11-12T20:32:32Z2026-11-12T20:32:33Z1
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 1081aefd5db6…
build_recipe 6fa4cdd7cbef…
system_pinning fabe19a297e1…
build_offline_sh 6ab4f08a6ec7…
generate_sbom_sh ce0f1e6f1e70…
first_boot_health 1731753fd318…
verify_offline_sh 3e8184ea230c…
base_image_digests f6b682f401cc…
dockerfile_offline 1081aefd5db6…
first_build_digest 8b91a676b78d…
remediate 2026-11-12T20:33:00Z2026-11-12T20:33:01Z1
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 3df1656ff921…
security_report 6656a2d4a337…
build_kit 2026-11-12T20:55:36Z2026-11-12T20:55:37Z1
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 e3b6ca8aa89d…
locked_digest 887d0e57faa1…
freeze_manifest 0c61ef1e23a8…
offline_rebuild_transcript 4ce79e0dfdb9…
verdict 2026-11-12T20:58:36Z2026-11-12T20:58:36Z1
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 822b7aba6eba…
publish_image 2026-11-12T20:59:57Z2026-11-12T20:59:58Z1
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 1b3eb27b7346…
promotion_record 6777709c183e…
boot_instance 2026-11-12T21:02:02Z2026-11-12T21:02:05Z2
3
  • exists:instance_handle
  • instance_handle:json_parses
  • produces_paths_exist
instance_handle 7677e4546b83…
sbom 2026-11-12T21:02:52Z2026-11-12T21:02:53Z1
5
  • exists:sbom_json
  • exists:sbom_md
  • sbom_json:json_parses
  • sbom_md:md_min_sections:1
  • produces_paths_exist
sbom_md ecd5d3adcbec…
sbom_json 8e88f593f335…
schema_discovery 2026-11-12T21:02:55Z2026-11-12T21:02: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 5cbb51d66fd3…
dependency_tree 7f488bcfa3bc…
table_classification 498e5868e34b…
admin_handbook 2026-11-12T21:03:03Z2026-11-12T21:03:04Z1
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 540ce0db3a51…
db_handbook 2026-11-12T21:03:13Z2026-11-12T21:03:13Z1
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 12a55d8a07bc…
seed_isolation 4336cb14e5d3…
seed_data 2026-11-12T21:03:18Z2026-11-12T21:03:19Z1
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 a714694a8358…
seed_validate 2026-11-12T21:03:21Z2026-11-12T21:03:22Z1
3
  • exists:seed_data_contract
  • seed_data_contract:json_parses
  • produces_paths_exist
seed_data_contract 672e4b4ffec3…
usecase_validate 2026-11-12T21:03:39Z2026-11-12T21:03:40Z1
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 9bb40cfad9ad…
test_results 601d2e2d2350…
usecase_contract 101af97eb7f7…
finalize_docs 2026-11-12T21:03:45Z2026-11-12T21:03:46Z1
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 524bc1475aac…
release_notes 124fad7f6296…
api_integration_guide 56781c13695b…
package_archive invalidated 2026-11-12T22:01:54Z 2026-11-12T21:26:11Z2026-11-12T21:26:14Z1
37 (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 unpack_files
  • G8 scout_grade_a
  • G8 script_copies
  • G8 upgrade_check
  • G8 offline_rebuild
  • G8 rebuild_manifest
  • G8 artifact_coverage
  • G8 trademark_shipped
  • G8 assetchain_coverage
sale_tar 499cd5bea062…
checksums 8bb8506ed5ce…
verify_md d5875c9113b6…
rebuild_md 95a05e81e5e2…
manifest_txt 2c03f4d1427a…
actions_jsonl 38c07ee290c1…
provenance_md e18df011b252…
assetchain_log_md e9eccaec0c0f…
assetchain_log_json 3de0a33875f9…

[stage_runs]

Rewinds

  • 2026-11-12T22:01:54Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #34664]

Model work per stage

Fully recorded

Role: writer model. Calls up to 2026-11-12T21:26:14Z.

5 calls over 3 stages

StageCallsRefusedErrorsMax attemptForced commitsReal tokensLesson rules shown
plan2001 09461 L-A183, L-A15
remediate2001 09392 L-A183, L-A15
usecase_validate1001 01526 L-A59

[micro_step_runs] [lesson_recalls]

Review

Fully recorded

Role: review model.

1 round, 1 counted, $0.37 recorded cost

RoundStartedCriticalMajorMinorVerdictCostCap in forceArchive reviewed
12026-11-12T21:29:08Z 000 clean to publish [held_rounds, held_rounds #1838] $0.37 3 rounds, $40.00 499cd5bea062…

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-f2d78e74b8
Ships a known default credential (admin) [defects, defects #273740]
highopenbuild strategy record—

Verification

1 item not recorded
  • Reproduced before publishingyes (rebuilt digest sha256:89511224408a345b94e1b4a8638b37ff2a77e8fafa99bfb1adbaa81e26857e7f · published digest sha256:89511224408a345b94e1b4a8638b37ff2a77e8fafa99bfb1adbaa81e26857e7f · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 619) [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, upgrade_check, 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-12T22:03:09Z · 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).) [SCOUT_EVIDENCE.json, docker_scout_policy]
  • Image signatureverified on the index and the linux/amd64 manifest (key fingerprint 04daa92344a52dbc · at 2026-11-12T22:02:29Z) [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 3840260440 · transparency-log entry · integrated 2026-11-12T22:13:29Z) [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r2.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
  • Signed attestations
    • kind provenance · digest sha256:557dd66d2490f4b0d92a07e26f128bd109cab94e764da7f0bc07e88992d3b8c3 · state attached · log index 3840263765 · transparency-log entry
    • kind sbom · digest sha256:557dd66d2490f4b0d92a07e26f128bd109cab94e764da7f0bc07e88992d3b8c3 · state attached · log index 3840265147 · transparency-log entry
    • kind vsa · digest sha256:557dd66d2490f4b0d92a07e26f128bd109cab94e764da7f0bc07e88992d3b8c3 · state attached · log index 3840266842 · transparency-log entry
    • kind provenance · digest sha256:89511224408a345b94e1b4a8638b37ff2a77e8fafa99bfb1adbaa81e26857e7f · state attached · log index 3840268319 · transparency-log entry
    • kind sbom · digest sha256:89511224408a345b94e1b4a8638b37ff2a77e8fafa99bfb1adbaa81e26857e7f · state attached · log index 3840269593 · transparency-log entry
    • kind vsa · digest sha256:89511224408a345b94e1b4a8638b37ff2a77e8fafa99bfb1adbaa81e26857e7f · state attached · log index 3840271077 · transparency-log entry
    (at 2026-11-12T22:13:30Z) [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-12T21:29:16Z on build host 1 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
    rebuilt sha256:89511224408a345b94e1b4a8638b37ff2a77e8fafa99bfb1adbaa81e26857e7f [clean-room rebuild ledger, runs[806]]
  • 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-12T20:59:58Z [stage_runs, stage_runs chain 1038 stage publish_image]
  • Archive manifests written2026-11-12T22:08:33Z [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-12T20:45:02Z · source build_kit) [release_images, isa_level_hard]

History

2 events
  • 2026-11-12T22:15:48Z generated: by KitForge release/build_trail.py · generator commit 9bf62fc46cb5a4c666ae0d83ee6d1056e96b052a
  • 2026-11-12T22:18:29Z publication: promoted at 2026-11-12T22:16:36Z · promoted digest sha256:557dd66d2490f4b0d92a07e26f128bd109cab94e764da7f0bc07e88992d3b8c3 · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 522 · checklist status complete · checklist at 2026-11-12T22:18:29Z · record workspace: deliverables/provenance/PROMOTION_RECORD.json, RELEASE_CHECKLIST.json

Records

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