OpenProject v17.9.7-CE-ubuntu24.04-r3 build trail
How ReadyStack built readystack/openproject:v17.9.7-CE-ubuntu24.04-r3 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/openproject:v17.9.7-CE-ubuntu24.04-r3 - Index digestsha256:b95f350ca263845523f52bc5dd182cc9398a9d72fd6a7a402d9a0ea21c5645f5
- linux/amd64 digestsha256:4a52f12daf22108a9bcd57dc813109591cf1b7a301bdb126613f36d145acd52f
- Archive
ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.tar.gz - Archive SHA-256 now0d46369974647504437119caa454e0acf6a2e2b1520ea44a5a4e508cc6274fab
- Pins record
docs/PINS.md,docs/provenance/PINS.jsonin the archive (since generated) - Generated2026-11-13T10:16:24Z 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-r3.trail.json.sigstore ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.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-r3 [MANIFEST.json]
- Imagereadystack/openproject:v17.9.7-CE-ubuntu24.04-r3 [MANIFEST.json]
- Image index digestsha256:b95f350ca263845523f52bc5dd182cc9398a9d72fd6a7a402d9a0ea21c5645f5 [docs/provenance/LOCKED_DIGEST.txt]
- linux/amd64 image digestsha256:4a52f12daf22108a9bcd57dc813109591cf1b7a301bdb126613f36d145acd52f [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.rebuild.json, subject.image_manifest_digest]
- ArchiveReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.tar.gz (bytes 1062374214) [MANIFEST.json]
- Archive sha256 at publish0d46369974647504437119caa454e0acf6a2e2b1520ea44a5a4e508cc6274fab [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:eaebae98e89b3b630fc1bae2cbd9d794bc3b6e6b67450ed1d9d15ffdb0ec89da [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.rebuild.json, inputs.tree_hash]
- SOURCE_DATE_EPOCH1794535124 (utc 2026-11-13T01:58:44Z) [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.rebuild.json, inputs.source_date_epoch]
- Base images
- ref ubuntu:24.04@sha256:2198e4c65076e9cb0b3d695219df667c0e3b0072da64ca3c2648aca17dcecaf5 · platform digest sha256:77eb101c607d6e3d4f5ad0c8a02c2136c689b98aba1f359e6502ba517e5c57ec
- BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.rebuild.json, engine]
- Engine commit(s)
- commit 7d415ff1f1bd2eff83cf586201c7b05acd529095 · dirty yes · first drive 4527
- commit 53328f4754ecefc18b308504e3b02f89c9062497 · dirty yes · first drive 4544
Why this release exists
Fully recorded- Chain1055 (created 2026-11-13T02:20:09Z · trigger customer_request · upstream version v17.9.7) [chains, chains #1055]
- Requestbuild request #743 (rebuild) (requested at 2026-11-13T01:58:45Z · requested by kitforge-agent · version v17.9.7) [build_requests, build_requests #743]
- Reasonrerelease agenda REVISION -> v17.9.7-CE-ubuntu24.04-r3 (decay loop, IMP-08) [build_requests, build_requests #743 request_reason]
- Supersedesreadystack/openproject:v17.9.7-CE-ubuntu24.04-r2 (chain 1038) [chains, chains #1038]
The path through the harness
Fully recorded1 chain · 2 drives · 18 stages · 1 rewind
Chain 1055 release · ready_to_ship
Created 2026-11-13T02:20:09Z, upstream v17.9.7, build request 743 [chains, chains #1055]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 4527 | 2026-11-13T02:20:50Z | 83.8 | build host 1 withhold-publish | ready_to_ship at package_archive; 19 ticks [drive_runs, drive_runs #4527] |
| 4544 | 2026-11-13T10:02:09Z | — | build host 1 publish-held | not recorded [drive_runs, drive_runs #4544] |
Stages, in order
| Stage | First start | Passed | Attempts | Gate checks passed | Artifacts (SHA-256) |
|---|---|---|---|---|---|
intake |
2026-11-13T02:21:00Z | 2026-11-13T02:21:01Z | 1 | 4
|
order_json 59a33307cd66… |
acquire |
2026-11-13T02:21:21Z | 2026-11-13T02:21:24Z | 1 | 12
|
source_tree c28123fad41b…license_file 8ceb4b9ee5ad…custody_inputs 5feb83ba16a2…source_tree_hash c4283cce06de…source_file_manifest ff634c2ff2df… |
plan |
2026-11-13T02:22:03Z | 2026-11-13T02:22:03Z | 1 | 10
|
recon_report 7bedd8095ac9…input_pin_plan 2326c0276cc9…toolchain_lock 9f75972812e6… |
assemble_kit |
2026-11-13T02:50:38Z | 2026-11-13T02:50:39Z | 1 | 27
|
dockerfile 32ff2e9fc351…build_recipe e351afde2a19…system_pinning fabe19a297e1…build_offline_sh 6ab4f08a6ec7…generate_sbom_sh ce0f1e6f1e70…first_boot_health 830c33148941…verify_offline_sh 3e8184ea230c…base_image_digests f6b682f401cc…dockerfile_offline 32ff2e9fc351…first_build_digest 7747c82ff393… |
remediate |
2026-11-13T02:51:33Z | 2026-11-13T02:51:34Z | 1 | 8
|
vendored_apt e3b0c44298fc…remediation_log e5abd4d10e34…security_report 289fae4f84ed… |
build_kit |
2026-11-13T03:14:03Z | 2026-11-13T03:14:04Z | 1 | 9
|
cosign_stamp 0e9b2c2cebb1…locked_digest f4be242a0107…freeze_manifest 24ae86ea3a09…offline_rebuild_transcript 25d202d16373… |
verdict |
2026-11-13T03:17:07Z | 2026-11-13T03:17:08Z | 1 | 8
|
scout_verdict 709d02dea309… |
publish_image |
2026-11-13T03:18:42Z | 2026-11-13T03:18:43Z | 1 | 7
|
hub_readme ecc6bf3bcc2e…promotion_record d214e50356d6… |
boot_instance |
2026-11-13T03:20:40Z | 2026-11-13T03:20:43Z | 2 | 3
|
instance_handle fdaa998d65d5… |
sbom |
2026-11-13T03:21:30Z | 2026-11-13T03:21:31Z | 1 | 5
|
sbom_md 56d3769ddfa1…sbom_json 3796e020af91… |
schema_discovery |
2026-11-13T03:21:33Z | 2026-11-13T03:21:34Z | 1 | 7
|
schema_hash 5cbb51d66fd3…dependency_tree 7f488bcfa3bc…table_classification 498e5868e34b… |
admin_handbook |
2026-11-13T03:21:40Z | 2026-11-13T03:21:40Z | 1 | 7
|
api_map 5f1aeb6c0929…admin_handbook 294dd86bbcaf… |
db_handbook |
2026-11-13T03:21:50Z | 2026-11-13T03:21:50Z | 1 | 8
|
db_handbook 2df8930e68ee…seed_isolation 4336cb14e5d3… |
seed_data |
2026-11-13T03:21:55Z | 2026-11-13T03:21:56Z | 1 | 6
|
seed_data_sql 403d148cad26…seed_cases_json 22f003a23688… |
seed_validate |
2026-11-13T03:21:59Z | 2026-11-13T03:21:59Z | 1 | 3
|
seed_data_contract ea915ae36c37… |
usecase_validate |
2026-11-13T03:22:17Z | 2026-11-13T03:22:17Z | 1 | 10
|
failed_tests b2247b16f5f7…passed_tests c76bf232a7f8…test_results 6ab827eed819…usecase_contract 7b47c779e01d… |
finalize_docs |
2026-11-13T03:22:23Z | 2026-11-13T03:22:24Z | 1 | 9
|
defects_json 22e3afaad48a…release_notes 5ee46573bb9a…api_integration_guide 42d46e5a50d5… |
package_archive invalidated 2026-11-13T10:01:31Z |
2026-11-13T03:44:36Z | 2026-11-13T03:44:39Z | 1 | 37 (final gate PASS)
|
sale_tar 5c7c070aa18b…checksums 828e66b4434c…verify_md 0396799c9690…rebuild_md badbc4e5cbe6…manifest_txt 993460dadc7c…actions_jsonl 3230643f75d6…provenance_md 893f879729ca…assetchain_log_md e9eccaec0c0f…assetchain_log_json 5f5c873cc1d5… |
[stage_runs]
Rewinds
- 2026-11-13T10:01:31Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #35487]
Model work per stage
Fully recordedRole: writer model. Calls up to 2026-11-13T03:44:39Z.
5 calls over 3 stages
| Stage | Calls | Refused | Errors | Max attempt | Forced commits | Real tokens | Lesson rules shown |
|---|---|---|---|---|---|---|---|
plan | 2 | 0 | 0 | 1 | 0 | 10092 | — |
remediate | 2 | 0 | 0 | 1 | 0 | 14510 | L-A08, L-038, L-036, L-034, L-032 |
usecase_validate | 1 | 0 | 0 | 1 | 0 | 1451 | — |
[micro_step_runs] [lesson_recalls]
Review
Fully recordedRole: review model.
1 round, 1 counted, $0.40 recorded cost
| Round | Started | Critical | Major | Minor | Verdict | Cost | Cap in force | Archive reviewed |
|---|---|---|---|---|---|---|---|---|
| 1 | 2026-11-13T03:45:47Z | 0 | 0 | 0 | clean to publish [held_rounds, held_rounds #1858] | $0.40 | 3 rounds, $40.00 | 5c7c070aa18b… |
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.
| Defect | Severity | Status | Found by | Fixed in |
|---|---|---|---|---|
RSD-openproject-f546180b6fShips a known default credential (admin) [defects, defects #277943] | high | open | build strategy record | — |
Verification
1 item not recorded- Reproduced before publishingyes (rebuilt digest sha256:4a52f12daf22108a9bcd57dc813109591cf1b7a301bdb126613f36d145acd52f · published digest sha256:4a52f12daf22108a9bcd57dc813109591cf1b7a301bdb126613f36d145acd52f · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 616) [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 · docker grade B · docker percent 83 · tool docker scout policy 1.26.0 · config docker-default · org vex no · at 2026-11-13T10:03:01Z · 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-13T10:02:20Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
- Image signature transparency-log entries
- log index 3844706792 · transparency-log entry
- log index 3844709856 · transparency-log entry
- rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3851737578 · transparency-log entry · integrated 2026-11-13T10:13:54Z) [ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
- Signed attestations
- kind provenance · digest sha256:b95f350ca263845523f52bc5dd182cc9398a9d72fd6a7a402d9a0ea21c5645f5 · state attached · log index 3851742438 · transparency-log entry
- kind sbom · digest sha256:b95f350ca263845523f52bc5dd182cc9398a9d72fd6a7a402d9a0ea21c5645f5 · state attached · log index 3851745260 · transparency-log entry
- kind vsa · digest sha256:b95f350ca263845523f52bc5dd182cc9398a9d72fd6a7a402d9a0ea21c5645f5 · state attached · log index 3851747879 · transparency-log entry
- kind provenance · digest sha256:4a52f12daf22108a9bcd57dc813109591cf1b7a301bdb126613f36d145acd52f · state attached · log index 3851750577 · transparency-log entry
- kind sbom · digest sha256:4a52f12daf22108a9bcd57dc813109591cf1b7a301bdb126613f36d145acd52f · state attached · log index 3851753791 · transparency-log entry
- kind vsa · digest sha256:4a52f12daf22108a9bcd57dc813109591cf1b7a301bdb126613f36d145acd52f · state attached · log index 3851757434 · transparency-log entry
- 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-13T03:45:54Z on build host 1 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
rebuilt sha256:4a52f12daf22108a9bcd57dc813109591cf1b7a301bdb126613f36d145acd52f [clean-room rebuild ledger, runs[818]]
- 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-13T03:18:43Z [stage_runs, stage_runs chain 1055 stage publish_image]
- Archive manifests written2026-11-13T10:08: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 1254 · probed 2026-11-13T03:03:31Z · source build_kit) [release_images, isa_level_hard]
History
2 events- 2026-11-13T10:16:24Z generated: by KitForge release/build_trail.py · generator commit 53328f4754ecefc18b308504e3b02f89c9062497
- 2026-11-13T10:19:14Z publication: promoted at 2026-11-13T10:17:17Z · promoted digest sha256:b95f350ca263845523f52bc5dd182cc9398a9d72fd6a7a402d9a0ea21c5645f5 · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 534 · checklist status complete · checklist at 2026-11-13T10:19:14Z · record workspace: deliverables/provenance/PROMOTION_RECORD.json, RELEASE_CHECKLIST.json
Records
25 records| Record | Where it is | Rows |
|---|---|---|
docs/defects/defects.json | inside the archive (ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.tar.gz) | — |
docs/provenance/IMAGE_EVIDENCE.json | inside the archive (ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.tar.gz) | — |
docs/provenance/LOCKED_DIGEST.txt | inside the archive (ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.tar.gz) | — |
docs/provenance/PINS.json | inside the archive (ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.tar.gz) | — |
docs/provenance/REPRO_VERIFICATION.json | inside the archive (ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.tar.gz) | — |
docs/provenance/SOURCE_TREE_HASH.json | inside the archive (ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.tar.gz) | — |
MANIFEST.json | beside the archive (prodasset /data/production/openproject/v17.9.7-CE-ubuntu24.04-r3/), as staged for publishing | — |
PUBLISH_MANIFEST.json | beside the archive (prodasset /data/production/openproject/v17.9.7-CE-ubuntu24.04-r3/), as staged for publishing | — |
ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.rebuild.json | beside the archive (prodasset /data/production/openproject/v17.9.7-CE-ubuntu24.04-r3/), as staged for publishing | — |
ReadyStack-openproject-v17.9.7-CE-ubuntu24.04-r3.rebuild.json.sigstore | beside the archive (prodasset /data/production/openproject/v17.9.7-CE-ubuntu24.04-r3/), as staged for publishing | — |
SCOUT_EVIDENCE.json | beside the archive (prodasset /data/production/openproject/v17.9.7-CE-ubuntu24.04-r3/), 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) | 743 |
chains | sadb, ReadyStack's engine database (not published) | 1055 |
defects | sadb, ReadyStack's engine database (not published) | openproject v17.9.7-CE-ubuntu24.04-r3 |
drive_runs | sadb, ReadyStack's engine database (not published) | chain 1055 |
held_rounds | sadb, ReadyStack's engine database (not published) | chain 1055 |
lesson_recalls | sadb, ReadyStack's engine database (not published) | chain 1055 |
micro_step_runs | sadb, ReadyStack's engine database (not published) | chain 1055 |
release_images | sadb, ReadyStack's engine database (not published) | openproject v17.9.7-CE-ubuntu24.04-r3 |
stage_events | sadb, ReadyStack's engine database (not published) | chain 1055 |
stage_runs | sadb, ReadyStack's engine database (not published) | chain 1055 |
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) | — |