BookStack v26.09.3-CE-ubuntu24.04-r1 build trail

How ReadyStack built readystack/bookstack:v26.09.3-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/bookstack:v26.09.3-CE-ubuntu24.04-r1
  • Index digestsha256:4ab7f0612e09770cce5e51808cf974b9e443beb308bbf57cca700f1f44d7adcd
  • linux/amd64 digestsha256:153425bd864264048c631c48181f036e3d7b8288402b7fb8a8e32987b95e0041
  • ArchiveReadyStack-bookstack-v26.09.3-CE-ubuntu24.04-r1.tar.gz
  • Archive SHA-256 nowcdae1983893edc036e41b795de78eb472c39de24b24a4e9f7229bca8cc22733d
  • Pins recorddocs/PINS.md, docs/provenance/PINS.json in the archive (since generated)
  • Generated2026-11-13T13:48:19Z 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-bookstack-v26.09.3-CE-ubuntu24.04-r1.trail.json.sigstore ReadyStack-bookstack-v26.09.3-CE-ubuntu24.04-r1.trail.json

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

Identity

Fully recorded
  • ProductBookStack (bookstack) [MANIFEST.json]
  • Release tagv26.09.3-CE-ubuntu24.04-r1 [MANIFEST.json]
  • Imagereadystack/bookstack:v26.09.3-CE-ubuntu24.04-r1 [MANIFEST.json]
  • Image index digestsha256:4ab7f0612e09770cce5e51808cf974b9e443beb308bbf57cca700f1f44d7adcd [docs/provenance/LOCKED_DIGEST.txt]
  • linux/amd64 image digestsha256:153425bd864264048c631c48181f036e3d7b8288402b7fb8a8e32987b95e0041 [ReadyStack-bookstack-v26.09.3-CE-ubuntu24.04-r1.rebuild.json, subject.image_manifest_digest]
  • ArchiveReadyStack-bookstack-v26.09.3-CE-ubuntu24.04-r1.tar.gz (bytes 211997504) [MANIFEST.json]
  • Archive sha256 at publishcdae1983893edc036e41b795de78eb472c39de24b24a4e9f7229bca8cc22733d [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/BookStackApp/BookStack [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream refv26.09.3 [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream commitbf680915b6dbaf93eee5234ec72dc33bc5abafbf [docs/provenance/SOURCE_TREE_HASH.json]
  • Source tree hashc735e100fd0c427420fd2fa7b4692756bb713b94d7ff80338925b8ab48b0d5d4 (files 2621) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
  • Kit tree hashsha256:42731903634d15f0aadcf1654fa29e11e84e0098a58916dc608c6e559992da4c [ReadyStack-bookstack-v26.09.3-CE-ubuntu24.04-r1.rebuild.json, inputs.tree_hash]
  • SOURCE_DATE_EPOCH1794448442 (utc 2026-11-12T01:54:02Z) [ReadyStack-bookstack-v26.09.3-CE-ubuntu24.04-r1.rebuild.json, inputs.source_date_epoch]
  • Base images
    • ref ubuntu:24.04@sha256:2198e4c65076e9cb0b3d695219df667c0e3b0072da64ca3c2648aca17dcecaf5 · platform digest sha256:77eb101c607d6e3d4f5ad0c8a02c2136c689b98aba1f359e6502ba517e5c57ec
    [ReadyStack-bookstack-v26.09.3-CE-ubuntu24.04-r1.rebuild.json, bases]
  • BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-bookstack-v26.09.3-CE-ubuntu24.04-r1.rebuild.json, engine]
  • Engine commit(s)
    • commit 53328f4754ecefc18b308504e3b02f89c9062497 · dirty yes · first drive 4555
    • commit 1762e17ee8e9761d80444e254bf92fa18d39ea4a · dirty yes · first drive 4582
    [drive_runs, engine_sha]

Why this release exists

Fully recorded
  • Chain1066 (created 2026-11-13T10:28:21Z · trigger customer_request · upstream version v26.09.3) [chains, chains #1066]
  • Requestbuild request #722 (rebuild) (requested at 2026-11-12T01:54:08Z · requested by kitforge-agent · version v26.09.3) [build_requests, build_requests #722]
  • Reasonretarget to v26.09.3: a newer upstream release (rule 1) [build_requests, build_requests #722 request_reason]
  • Supersedesreadystack/bookstack:v26.09.2-CE-ubuntu24.04-r5 (chain 973) [chains, chains #973]

The path through the harness

Fully recorded

1 chain · 3 drives · 18 stages · 2 rewinds

Chain 1066 release · ready_to_ship

Created 2026-11-13T10:28:21Z, upstream v26.09.3, build request 722 [chains, chains #1066]

DriveStartedMinutesBuild hostHow it stopped
45552026-11-13T10:28:47Z19.6build host 2 withhold-publish ready_to_ship at package_archive; 19 ticks [drive_runs, drive_runs #4555]
45822026-11-13T13:34:56Z4.2build host 2 withhold-publish ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #4582]
45842026-11-13T13:42:28Z—build host 2 publish-held not recorded [drive_runs, drive_runs #4584]

Stages, in order

StageFirst startPassedAttemptsGate checks passedArtifacts (SHA-256)
intake 2026-11-13T10:28:58Z2026-11-13T10:28:58Z1
4
  • exists:order_json
  • order_json:json_parses
  • order_json:no_forbidden_placeholders
  • produces_paths_exist
order_json 04827cc234f7…
acquire 2026-11-13T10:29:03Z2026-11-13T10:29:04Z1
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 e20157959b00…
license_file 5f4d63709572…
custody_inputs 5da742a76ba4…
source_tree_hash c6df0fc8cf41…
source_file_manifest 9e4ffdc2bbc5…
plan 2026-11-13T10:29:36Z2026-11-13T10:29:37Z1
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 3313b6424122…
input_pin_plan a27080140ac8…
toolchain_lock fdb3ecce6483…
assemble_kit 2026-11-13T10:33:47Z2026-11-13T10:33:48Z1
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 482b8564bbff…
build_recipe 78c5a280dab1…
system_pinning f9bd00f803b2…
build_offline_sh 6ab4f08a6ec7…
generate_sbom_sh ce0f1e6f1e70…
first_boot_health d86639518652…
verify_offline_sh 3e8184ea230c…
base_image_digests 6064fa81846b…
dockerfile_offline 482b8564bbff…
first_build_digest b96a79f5346c…
remediate 2026-11-13T10:34:16Z2026-11-13T10:34:17Z1
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 dbebcf88bccb…
security_report 6d0198bd6589…
build_kit 2026-11-13T10:38:32Z2026-11-13T10:38:33Z1
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 56854affbae9…
locked_digest 55e9bd67052d…
freeze_manifest 8bca10f685b5…
offline_rebuild_transcript 83cdd4cc8e58…
verdict 2026-11-13T10:39:40Z2026-11-13T10:39:41Z1
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 2e06860f487e…
publish_image 2026-11-13T10:40:29Z2026-11-13T10:40:30Z1
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 0a54473bf725…
promotion_record a13bda59afbc…
boot_instance 2026-11-13T10:41:03Z2026-11-13T10:41:06Z2
3
  • exists:instance_handle
  • instance_handle:json_parses
  • produces_paths_exist
instance_handle dea595ac92b2…
sbom 2026-11-13T10:41:21Z2026-11-13T10:41:22Z1
5
  • exists:sbom_json
  • exists:sbom_md
  • sbom_json:json_parses
  • sbom_md:md_min_sections:1
  • produces_paths_exist
sbom_md 2e0b25ac8d26…
sbom_json c21af132f82b…
schema_discovery 2026-11-13T10:41:25Z2026-11-13T10:41:25Z1
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 6f2fe42174d4…
dependency_tree 0082e2bdd868…
table_classification c765ed7cc25a…
admin_handbook 2026-11-13T10:41:35Z2026-11-13T10:41:36Z1
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 4ed9ae50faf6…
admin_handbook 2738d1c967bc…
db_handbook 2026-11-13T10:41:49Z2026-11-13T10:41:50Z1
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 0030d90d5521…
seed_isolation 9525b459834a…
seed_data 2026-11-13T10:41:55Z2026-11-13T10:41:56Z1
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 21a60a0e5428…
seed_cases_json dd265d2c23a9…
seed_validate 2026-11-13T10:41:58Z2026-11-13T10:41:59Z1
3
  • exists:seed_data_contract
  • seed_data_contract:json_parses
  • produces_paths_exist
seed_data_contract 1800bc3bfa81…
usecase_validate 2026-11-13T10:42:17Z2026-11-13T10:42:18Z1
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 1153d83f55a1…
test_results e00f99acc20b…
usecase_contract 87aef54a9de2…
finalize_docs 2026-11-13T10:42:24Z2026-11-13T10:42:24Z1
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 c67a69617439…
release_notes 837d8eb2ac69…
api_integration_guide f6d5044d788b…
package_archive invalidated 2026-11-13T13:42:05Z 2026-11-13T10:48:19Z2026-11-13T13:39:08Z2
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 e5ff0df93b20…
checksums f346079dedf2…
verify_md 2c5b3aa592ce…
rebuild_md eb33b80aaee5…
manifest_txt 2369db37f979…
actions_jsonl 2d1398d4ca36…
provenance_md d2bc2856ae5d…
assetchain_log_md e9eccaec0c0f…
assetchain_log_json ba782dd230b5…

[stage_runs]

Rewinds

  • 2026-11-13T11:06:09Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #35687]
  • 2026-11-13T13:42:05Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #36173]

Model work per stage

Fully recorded

Role: writer model. Calls up to 2026-11-13T13:39:08Z.

5 calls over 3 stages

StageCallsRefusedErrorsMax attemptForced commitsReal tokensLesson rules shown
plan2001 09506 L-A183, L-A15
remediate2001 010106 L-A183, L-A15
usecase_validate1001 01607 L-A59

[micro_step_runs] [lesson_recalls]

Review

Fully recorded

Role: review model.

2 rounds, 2 counted, $0.69 recorded cost

RoundStartedCriticalMajorMinorVerdictCostCap in forceArchive reviewed
12026-11-13T10:48:59Z 020 findings to repackage [held_rounds, held_rounds #1866] $0.47 3 rounds, $40.00 1148bc1c45e5…
22026-11-13T13:39:47Z 000 clean to publish [held_rounds, held_rounds #1878] $0.23 3 rounds, $40.00 e5ff0df93b20…

Defects

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

2 ledger entries: by severity high 2; by status fixed-before-release 2.

DefectSeverityStatusFound byFixed in
RSD-bookstack-37a1c84168
Admin handbook: Stale upstream version: the handbook says it covers v26.09.2, contradicting the image tag and other sections. [defects, defects #279267]
highfixed-before-releaseheld review (review model)—
RSD-bookstack-abdbf0dad7
Admin handbook: Stale release version next to the v26.09.3 image tag: the sentence contradicts the tag it introduces. [defects, defects #279268]
highfixed-before-releaseheld review (review model)—

Verification

1 item not recorded
  • Reproduced before publishingyes (rebuilt digest sha256:153425bd864264048c631c48181f036e3d7b8288402b7fb8a8e32987b95e0041 · published digest sha256:153425bd864264048c631c48181f036e3d7b8288402b7fb8a8e32987b95e0041 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 90) [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-13T13:42:59Z · failing Docker Scout counts 139 packages with copyleft licences (GPL, LGPL, MPL), 133 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-13T13:42:38Z) [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 3855208135 · transparency-log entry · integrated 2026-11-13T13:46:45Z) [ReadyStack-bookstack-v26.09.3-CE-ubuntu24.04-r1.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
  • Signed attestations
    • kind provenance · digest sha256:4ab7f0612e09770cce5e51808cf974b9e443beb308bbf57cca700f1f44d7adcd · state attached · log index 3855210890 · transparency-log entry
    • kind sbom · digest sha256:4ab7f0612e09770cce5e51808cf974b9e443beb308bbf57cca700f1f44d7adcd · state attached · log index 3855214057 · transparency-log entry
    • kind vsa · digest sha256:4ab7f0612e09770cce5e51808cf974b9e443beb308bbf57cca700f1f44d7adcd · state attached · log index 3855217263 · transparency-log entry
    • kind provenance · digest sha256:153425bd864264048c631c48181f036e3d7b8288402b7fb8a8e32987b95e0041 · state attached · log index 3855220309 · transparency-log entry
    • kind sbom · digest sha256:153425bd864264048c631c48181f036e3d7b8288402b7fb8a8e32987b95e0041 · state attached · log index 3855223465 · transparency-log entry
    • kind vsa · digest sha256:153425bd864264048c631c48181f036e3d7b8288402b7fb8a8e32987b95e0041 · state attached · log index 3855227354 · transparency-log entry
    (at 2026-11-13T13:46:47Z) [attestations.json, results]
  • Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/bookstack/recipe) [docs/provenance/PINS.json]

Offline clean-room rebuilds

  • 2026-11-13T10:49:02Z on build host 2 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
    rebuilt sha256:153425bd864264048c631c48181f036e3d7b8288402b7fb8a8e32987b95e0041 [clean-room rebuild ledger, runs[824]]
  • 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-13T10:40:30Z [stage_runs, stage_runs chain 1066 stage publish_image]
  • Archive manifests written2026-11-13T13:44:52Z [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 1016 · probed 2026-11-13T10:36:47Z · source build_kit) [release_images, isa_level_hard]

History

2 events
  • 2026-11-13T13:48:19Z generated: by KitForge release/build_trail.py · generator commit 1762e17ee8e9761d80444e254bf92fa18d39ea4a
  • 2026-11-13T13:49:56Z publication: promoted at 2026-11-13T13:48:57Z · promoted digest sha256:4ab7f0612e09770cce5e51808cf974b9e443beb308bbf57cca700f1f44d7adcd · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 544 · checklist status complete · checklist at 2026-11-13T13:49:56Z · record workspace: deliverables/provenance/PROMOTION_RECORD.json, RELEASE_CHECKLIST.json

Records

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