BookStack v26.09.2-CE-ubuntu24.04-r4 build trail

How ReadyStack built readystack/bookstack:v26.09.2-CE-ubuntu24.04-r4 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.2-CE-ubuntu24.04-r4
  • Index digestsha256:01cd1615bf2036cc60ae33807884b1fb14c03244838c06f8725ef69a7b577714
  • linux/amd64 digestsha256:841a4064cb6904233a0d90e59acf8c1f472005bc5e8d3d2cf6971817075d4efa
  • ArchiveReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.tar.gz
  • Archive SHA-256 now72465c4cfa6b864a2f6ae11af08599c79034e3687bf1bc6dfb14742c8aa5ce00
  • Pins recorddocs/PINS.md, docs/provenance/PINS.json in the archive (since generated)
  • Generated2026-11-07T03:32:35Z 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.2-CE-ubuntu24.04-r4.trail.json.sigstore ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.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.2-CE-ubuntu24.04-r4 [MANIFEST.json]
  • Imagereadystack/bookstack:v26.09.2-CE-ubuntu24.04-r4 [MANIFEST.json]
  • Image index digestsha256:01cd1615bf2036cc60ae33807884b1fb14c03244838c06f8725ef69a7b577714 [docs/provenance/LOCKED_DIGEST.txt]
  • linux/amd64 image digestsha256:841a4064cb6904233a0d90e59acf8c1f472005bc5e8d3d2cf6971817075d4efa [ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.rebuild.json, subject.image_manifest_digest]
  • ArchiveReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.tar.gz (bytes 208568475) [MANIFEST.json]
  • Archive sha256 at publish72465c4cfa6b864a2f6ae11af08599c79034e3687bf1bc6dfb14742c8aa5ce00 [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.2 [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream commit6265d5667dd6904b7aa0d05a8c60795cf104011b [docs/provenance/SOURCE_TREE_HASH.json]
  • Source tree hashb1b18202d7a1855977f8bb43e39c888676544c9c13b2c4d3f19f149354aeae9d (files 2622) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
  • Kit tree hashsha256:f3042203c2ae7d19731c98ae9d163ac060d8b7fb65758a1672abdc50dca661ce [ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.rebuild.json, inputs.tree_hash]
  • SOURCE_DATE_EPOCH1792495911 (utc 2026-10-20T11:31:51Z) [ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.rebuild.json, inputs.source_date_epoch]
  • Base images
    • ref ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852 · platform digest sha256:78d4744ead1f5b19b04d0df558ab182a5300903900755e515b2ca4d10eb2044d
    [ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.rebuild.json, bases]
  • BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.rebuild.json, engine]
  • Engine commit(s)
    • commit e16541e62dbdea62eff6330ceb63cd6047a53c06 · dirty yes · first drive 3548
    • commit 07abd1e1c1197982ae81cf5d46861dd8f90c3cf6 · dirty yes · first drive 3555
    [drive_runs, engine_sha]

Why this release exists

Fully recorded
  • Chain830 (created 2026-11-07T02:49:12Z · trigger customer_request · upstream version v26.09.2) [chains, chains #830]
  • Requestbuild request #509 (rebuild) (requested at 2026-11-07T02:01:18Z · requested by kitforge-agent · version v26.09.2) [build_requests, build_requests #509]
  • Reasonrerelease agenda REVISION -> v26.09.2-CE-ubuntu24.04-r4 (decay loop, IMP-08) [build_requests, build_requests #509 request_reason]
  • Supersedesreadystack/bookstack:v26.09.2-CE-ubuntu24.04-r3 (chain 650) [chains, chains #650]

The path through the harness

Fully recorded

1 chain · 2 drives · 18 stages · 1 rewind

Chain 830 release · ready_to_ship

Created 2026-11-07T02:49:12Z, upstream v26.09.2, build request 509 [chains, chains #830]

DriveStartedMinutesBuild hostHow it stopped
35482026-11-07T02:49:35Z23.9build host 5 withhold-publish ready_to_ship at package_archive; 19 ticks [drive_runs, drive_runs #3548]
35552026-11-07T03:25:42Z—build host 5 publish-held not recorded [drive_runs, drive_runs #3555]

Stages, in order

StageFirst startPassedAttemptsGate checks passedArtifacts (SHA-256)
intake 2026-11-07T02:49:50Z2026-11-07T02:49:51Z1
4
  • exists:order_json
  • order_json:json_parses
  • order_json:no_forbidden_placeholders
  • produces_paths_exist
order_json 97b565dad2c9…
acquire 2026-11-07T02:49:57Z2026-11-07T02:49:58Z1
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 09e02834b65a…
license_file 5f4d63709572…
custody_inputs ec60023ecc44…
source_tree_hash f1d4ee3a9fe3…
source_file_manifest 468c0d5528be…
plan 2026-11-07T02:50:32Z2026-11-07T02:50:33Z1
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 32ef9007bc39…
input_pin_plan 4a2167e37aeb…
toolchain_lock e6f558cbd6a5…
assemble_kit 2026-11-07T02:55:11Z2026-11-07T02:55:12Z1
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 a383449de936…
build_recipe 6b40ec009711…
system_pinning f9bd00f803b2…
build_offline_sh 6633aa31b6b4…
generate_sbom_sh ce0f1e6f1e70…
first_boot_health df30ab5e013b…
verify_offline_sh 3e8184ea230c…
base_image_digests 6064fa81846b…
dockerfile_offline a383449de936…
first_build_digest d5009bcea499…
remediate 2026-11-07T02:55:31Z2026-11-07T02:55:32Z1
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 3a8f6e319ce0…
security_report 70b35c6b1178…
build_kit 2026-11-07T03:00:59Z2026-11-07T03:01:00Z1
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 95d246b0e2ac…
locked_digest ec8e06ec7e83…
freeze_manifest 79e0f944b6fd…
offline_rebuild_transcript d17d48740466…
verdict 2026-11-07T03:02:39Z2026-11-07T03:02:40Z1
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 e6fe5d340b88…
publish_image 2026-11-07T03:03:33Z2026-11-07T03:03:33Z1
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 3366555f149a…
promotion_record 9cddc891f293…
boot_instance 2026-11-07T03:04:25Z2026-11-07T03:04:28Z2
3
  • exists:instance_handle
  • instance_handle:json_parses
  • produces_paths_exist
instance_handle fdad9b0a4de7…
sbom 2026-11-07T03:04:49Z2026-11-07T03:04:50Z1
5
  • exists:sbom_json
  • exists:sbom_md
  • sbom_json:json_parses
  • sbom_md:md_min_sections:1
  • produces_paths_exist
sbom_md 1d37cadc6c83…
sbom_json 65dd35b76149…
schema_discovery 2026-11-07T03:04:52Z2026-11-07T03:04:53Z1
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-07T03:05:05Z2026-11-07T03:05: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 4ed9ae50faf6…
admin_handbook 83c2904c1cf1…
db_handbook 2026-11-07T03:05:21Z2026-11-07T03:05:21Z1
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 421d02f2a126…
seed_isolation 9525b459834a…
seed_data 2026-11-07T03:05:28Z2026-11-07T03:05:28Z1
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 134344e0e882…
seed_validate 2026-11-07T03:05:31Z2026-11-07T03:05:32Z1
3
  • exists:seed_data_contract
  • seed_data_contract:json_parses
  • produces_paths_exist
seed_data_contract 29de920e97de…
usecase_validate 2026-11-07T03:05:51Z2026-11-07T03:05:52Z1
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 c6ea08d46166…
test_results a9def809f391…
usecase_contract 8e67c0b732df…
finalize_docs 2026-11-07T03:05:58Z2026-11-07T03:05:59Z1
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 380801a17a7f…
release_notes 73667ab43859…
api_integration_guide ad7198d44790…
package_archive invalidated 2026-11-07T03:25:14Z 2026-11-07T03:13:27Z2026-11-07T03:13:28Z1
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 cafd83da54a4…
checksums b4429eaa4929…
verify_md cda67557adbd…
rebuild_md 5fa1cbead031…
manifest_txt 24a0d3894d13…
actions_jsonl cede659a186e…
provenance_md 2d27b25fd80e…
assetchain_log_md e9eccaec0c0f…
assetchain_log_json 01668202a62c…

[stage_runs]

Rewinds

  • 2026-11-07T03:25:14Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #23502]

Model work per stage

Fully recorded

Role: writer model. Calls up to 2026-11-07T03:13:28Z.

5 calls over 3 stages

StageCallsRefusedErrorsMax attemptForced commitsReal tokensLesson rules shown
plan2001 08038 L-A183, L-A15
remediate2001 07280 L-A183, L-A15
usecase_validate1001 01639 L-A59

[micro_step_runs] [lesson_recalls]

Review

Fully recorded

Role: review model.

1 round, 1 counted, $0.44 recorded cost

RoundStartedCriticalMajorMinorVerdictCostCap in forceArchive reviewed
12026-11-07T03:14:17Z 000 clean to publish [held_rounds, held_rounds #1420] $0.44 3 rounds, $40.00 cafd83da54a4…

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 low 2; by status fixed-before-release 2.

DefectSeverityStatusFound byFixed in
RSD-bookstack-f77390527a
Admin handbook: The appendix invites customers to rerun the checks, but after they change the administrator password (which the release notes tell them to do) the admin-login check fails although sign-in works,… [defects, defects #158362]
lowfixed-before-releaseheld review (review model)—
RSD-bookstack-d5c02c18c6
The Docker Hub run example puts APP_KEY and DB_PASSWORD on the command line (-e), where the shell's history keeps them [defects, defects #158363]
lowfixed-before-releaseagent case study—

Verification

1 item not recorded
  • Reproduced before publishingyes (rebuilt digest sha256:841a4064cb6904233a0d90e59acf8c1f472005bc5e8d3d2cf6971817075d4efa · published digest sha256:841a4064cb6904233a0d90e59acf8c1f472005bc5e8d3d2cf6971817075d4efa · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 121) [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-07T03:26:30Z · 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). · 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-07T03:25: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 3728689680 · transparency-log entry · integrated 2026-11-07T03:31:27Z) [ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
  • Signed attestations
    • kind provenance · digest sha256:01cd1615bf2036cc60ae33807884b1fb14c03244838c06f8725ef69a7b577714 · state attached · log index 3728690849 · transparency-log entry
    • kind sbom · digest sha256:01cd1615bf2036cc60ae33807884b1fb14c03244838c06f8725ef69a7b577714 · state attached · log index 3728691797 · transparency-log entry
    • kind vsa · digest sha256:01cd1615bf2036cc60ae33807884b1fb14c03244838c06f8725ef69a7b577714 · state attached · log index 3728693046 · transparency-log entry
    • kind provenance · digest sha256:841a4064cb6904233a0d90e59acf8c1f472005bc5e8d3d2cf6971817075d4efa · state attached · log index 3728693921 · transparency-log entry
    • kind sbom · digest sha256:841a4064cb6904233a0d90e59acf8c1f472005bc5e8d3d2cf6971817075d4efa · state attached · log index 3728694620 · transparency-log entry
    • kind vsa · digest sha256:841a4064cb6904233a0d90e59acf8c1f472005bc5e8d3d2cf6971817075d4efa · state attached · log index 3728695231 · transparency-log entry
    (at 2026-11-07T03:31:28Z) [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-07T03:14:20Z on build host 5 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
    rebuilt sha256:841a4064cb6904233a0d90e59acf8c1f472005bc5e8d3d2cf6971817075d4efa [clean-room rebuild ledger, runs[597]]
  • 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-07T03:03:33Z [stage_runs, stage_runs chain 830 stage publish_image]
  • Archive manifests written2026-11-07T03:28:56Z [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-07T02:58:41Z · source build_kit) [release_images, isa_level_hard]

History

2 events
  • 2026-11-07T03:32:35Z generated: by KitForge release/build_trail.py · generator commit 07abd1e1c1197982ae81cf5d46861dd8f90c3cf6
  • 2026-11-07T03:34:05Z publication: promoted at 2026-11-07T03:33:04Z · promoted digest sha256:01cd1615bf2036cc60ae33807884b1fb14c03244838c06f8725ef69a7b577714 · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 326 · checklist status complete · checklist at 2026-11-07T03:34:05Z · 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.2-CE-ubuntu24.04-r4.tar.gz)—
docs/provenance/IMAGE_EVIDENCE.jsoninside the archive (ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.tar.gz)—
docs/provenance/LOCKED_DIGEST.txtinside the archive (ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.tar.gz)—
docs/provenance/PINS.jsoninside the archive (ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.tar.gz)—
docs/provenance/REPRO_VERIFICATION.jsoninside the archive (ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.tar.gz)—
docs/provenance/SOURCE_TREE_HASH.jsoninside the archive (ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.tar.gz)—
MANIFEST.jsonbeside the archive (prodasset /data/production/bookstack/v26.09.2-CE-ubuntu24.04-r4/), as staged for publishing—
PUBLISH_MANIFEST.jsonbeside the archive (prodasset /data/production/bookstack/v26.09.2-CE-ubuntu24.04-r4/), as staged for publishing—
ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.rebuild.jsonbeside the archive (prodasset /data/production/bookstack/v26.09.2-CE-ubuntu24.04-r4/), as staged for publishing—
ReadyStack-bookstack-v26.09.2-CE-ubuntu24.04-r4.rebuild.json.sigstorebeside the archive (prodasset /data/production/bookstack/v26.09.2-CE-ubuntu24.04-r4/), as staged for publishing—
SCOUT_EVIDENCE.jsonbeside the archive (prodasset /data/production/bookstack/v26.09.2-CE-ubuntu24.04-r4/), 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)509
chainssadb, ReadyStack's engine database (not published)830
defectssadb, ReadyStack's engine database (not published)bookstack v26.09.2-CE-ubuntu24.04-r4
drive_runssadb, ReadyStack's engine database (not published)chain 830
held_roundssadb, ReadyStack's engine database (not published)chain 830
lesson_recallssadb, ReadyStack's engine database (not published)chain 830
micro_step_runssadb, ReadyStack's engine database (not published)chain 830
release_imagessadb, ReadyStack's engine database (not published)bookstack v26.09.2-CE-ubuntu24.04-r4
stage_eventssadb, ReadyStack's engine database (not published)chain 830
stage_runssadb, ReadyStack's engine database (not published)chain 830
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)—