NodeBB v4.16.8-CE-ubuntu24.04-r1 build trail

How ReadyStack built readystack/nodebb:v4.16.8-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/nodebb:v4.16.8-CE-ubuntu24.04-r1
  • Index digestsha256:58d71efd0fd233c9982d2357d0596b89e79d66d5c5070c6f0731edf2fa902759
  • linux/amd64 digestsha256:871d5673b43aab55c59bf8506f282739356472d1382ddc66cc6bde7200387598
  • ArchiveReadyStack-nodebb-v4.16.8-CE-ubuntu24.04-r1.tar.gz
  • Archive SHA-256 now07bfb3d1a8b506abed3d23cdd23a2c3a9e854b6ac574ab2f79b0262896f9f1ac
  • Pins recorddocs/PINS.md, docs/provenance/PINS.json in the archive (since generated)
  • Generated2026-11-14T08:17:26Z 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-nodebb-v4.16.8-CE-ubuntu24.04-r1.trail.json.sigstore ReadyStack-nodebb-v4.16.8-CE-ubuntu24.04-r1.trail.json

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

Identity

Fully recorded
  • ProductNodeBB (nodebb) [MANIFEST.json]
  • Release tagv4.16.8-CE-ubuntu24.04-r1 [MANIFEST.json]
  • Imagereadystack/nodebb:v4.16.8-CE-ubuntu24.04-r1 [MANIFEST.json]
  • Image index digestsha256:58d71efd0fd233c9982d2357d0596b89e79d66d5c5070c6f0731edf2fa902759 [docs/provenance/LOCKED_DIGEST.txt]
  • linux/amd64 image digestsha256:871d5673b43aab55c59bf8506f282739356472d1382ddc66cc6bde7200387598 [ReadyStack-nodebb-v4.16.8-CE-ubuntu24.04-r1.rebuild.json, subject.image_manifest_digest]
  • ArchiveReadyStack-nodebb-v4.16.8-CE-ubuntu24.04-r1.tar.gz (bytes 415156888) [MANIFEST.json]
  • Archive sha256 at publish07bfb3d1a8b506abed3d23cdd23a2c3a9e854b6ac574ab2f79b0262896f9f1ac [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/NodeBB/NodeBB [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream refv4.16.8 [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream commitf7ee36d64fee09a39229836dbabad79044f18172 [docs/provenance/SOURCE_TREE_HASH.json]
  • Source tree hash6a6d1348fa2fafd76dea0c49bbb9f18ead2fcfc5b36ff252b7b653afd6a45d98 (files 5803) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
  • Kit tree hashsha256:ca192615fe85bda4520cf51df7aacd24bc8a5e093b1db9d10d3ad291b851e936 [ReadyStack-nodebb-v4.16.8-CE-ubuntu24.04-r1.rebuild.json, inputs.tree_hash]
  • SOURCE_DATE_EPOCH1794520204 (utc 2026-11-12T21:50:04Z) [ReadyStack-nodebb-v4.16.8-CE-ubuntu24.04-r1.rebuild.json, inputs.source_date_epoch]
  • Base images
    • ref ubuntu:24.04@sha256:2198e4c65076e9cb0b3d695219df667c0e3b0072da64ca3c2648aca17dcecaf5 · platform digest sha256:77eb101c607d6e3d4f5ad0c8a02c2136c689b98aba1f359e6502ba517e5c57ec
    [ReadyStack-nodebb-v4.16.8-CE-ubuntu24.04-r1.rebuild.json, bases]
  • BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-nodebb-v4.16.8-CE-ubuntu24.04-r1.rebuild.json, engine]
  • Engine commit(s)
    • commit 6dbc7d85edabbf8f3daffba6b70538bf49f545d8 · dirty yes · first drive 4590
    • commit 9c4253a45dc7d7fe2c593c59f9319e84b043648a · dirty yes · first drive 4638
    • commit 7e5e859529535df572f4abd7beb5734967bb5f63 · dirty yes · first drive 4642
    [drive_runs, engine_sha]

Why this release exists

Fully recorded
  • Chain1020 (created 2026-11-12T11:52:30Z · trigger customer_request · upstream version v4.16.8) [chains, chains #1020]
  • Requestbuild request #671 (rebuild) (requested at 2026-11-11T09:59:23Z · requested by kitforge-agent · version v4.16.7) [build_requests, build_requests #671]
  • Reasonrerelease agenda REVISION -> v4.16.7-CE-ubuntu24.04-r2 (decay loop, IMP-08) [build_requests, build_requests #671 request_reason]
  • Supersedesreadystack/nodebb:v4.16.7-CE-ubuntu24.04-r1 (chain 854) [chains, chains #854]

The path through the harness

Fully recorded

1 chain · 4 drives · 18 stages · 2 rewinds

Chain 1020 release · ready_to_ship

Created 2026-11-12T11:52:30Z, upstream v4.16.8, build request 671 [chains, chains #1020]

DriveStartedMinutesBuild hostHow it stopped
45902026-11-13T14:09:16Z31.6build host 5 withhold-publish stage_failed at verdict; first failed check scout_verdict:osv_clean; 7 ticks [drive_runs, drive_runs #4590]
46382026-11-13T19:07:58Z7.5build host 5 withhold-publish stage_failed at verdict; first failed check scout_verdict:osv_clean; 1 tick [drive_runs, drive_runs #4638]
46422026-11-14T07:06:14Z47.8build host 5 withhold-publish ready_to_ship at package_archive; 16 ticks [drive_runs, drive_runs #4642]
46522026-11-14T08:06:03Z—build host 5 publish-held not recorded [drive_runs, drive_runs #4652]

Stages, in order

StageFirst startPassedAttemptsGate checks passedArtifacts (SHA-256)
intake 2026-11-13T14:09:28Z2026-11-13T14:09:28Z1
4
  • exists:order_json
  • order_json:json_parses
  • order_json:no_forbidden_placeholders
  • produces_paths_exist
order_json 5be0df02c2fb…
acquire 2026-11-13T14:10:02Z2026-11-13T14:10: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 4c6c61582d29…
license_file 8ceb4b9ee5ad…
custody_inputs 37de7197eaa0…
source_tree_hash 433917783858…
source_file_manifest 1f762ab01c3a…
plan 2026-11-13T14:10:33Z2026-11-13T14:10:34Z1
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 cee7128ddb46…
input_pin_plan 2e6aca8a9567…
toolchain_lock 258ba186111f…
assemble_kit 2026-11-13T14:21:59Z2026-11-14T07:18:01Z2
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 fa4af806832b…
build_recipe eed29a5c5dfc…
system_pinning 5b00b1840dc7…
build_offline_sh 6ab4f08a6ec7…
generate_sbom_sh ce0f1e6f1e70…
first_boot_health 57b76f2b5a9f…
verify_offline_sh 3e8184ea230c…
base_image_digests 5931a08867a7…
dockerfile_offline fa4af806832b…
first_build_digest 4879b335817c…
remediate 2026-11-13T14:22:29Z2026-11-14T07:18:05Z2
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 53047f7e0932…
security_report a876013b1f26…
build_kit 2026-11-13T14:36:54Z2026-11-14T07:32:29Z2
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 17e93218300b…
locked_digest 34b36f3dcc54…
freeze_manifest 2312587db8cb…
offline_rebuild_transcript 5356960689c2…
verdict 2026-11-13T14:40:53Z2026-11-14T07:35:47Z3
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 966aaf59c076…
publish_image 2026-11-14T07:37:16Z2026-11-14T07:37:16Z1
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 3b74015e060b…
promotion_record 8f1b5434db3f…
boot_instance 2026-11-14T07:37:39Z2026-11-14T07:37:43Z2
3
  • exists:instance_handle
  • instance_handle:json_parses
  • produces_paths_exist
instance_handle 73cd0d898dbc…
sbom 2026-11-14T07:38:25Z2026-11-14T07:38:26Z1
5
  • exists:sbom_json
  • exists:sbom_md
  • sbom_json:json_parses
  • sbom_md:md_min_sections:1
  • produces_paths_exist
sbom_md 2430ae9b8162…
sbom_json dc5cf9fbc847…
schema_discovery 2026-11-14T07:38:29Z2026-11-14T07:38:30Z1
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 997256f51882…
dependency_tree f23abccbf315…
table_classification 96e373188f98…
admin_handbook 2026-11-14T07:38:36Z2026-11-14T07:38:37Z1
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 666d1e70fe40…
admin_handbook 4afb154e086c…
db_handbook 2026-11-14T07:38:47Z2026-11-14T07:38:48Z1
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 4859198c12be…
seed_isolation c5a6e2ab689b…
seed_data 2026-11-14T07:38:57Z2026-11-14T07:38:57Z1
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 6890e33b00aa…
seed_cases_json cd3f8d55c7b8…
seed_validate 2026-11-14T07:39:00Z2026-11-14T07:39:01Z1
3
  • exists:seed_data_contract
  • seed_data_contract:json_parses
  • produces_paths_exist
seed_data_contract e4d931e2d622…
usecase_validate 2026-11-14T07:39:25Z2026-11-14T07:39:26Z1
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 5cbcc3eaa756…
test_results dbaa269acd27…
usecase_contract 0da4d8c5a25c…
finalize_docs 2026-11-14T07:39:33Z2026-11-14T07:39:34Z1
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 3a0b7ea333fa…
release_notes a2586b20de58…
api_integration_guide 60c1221dbfe2…
package_archive invalidated 2026-11-14T08:05:35Z 2026-11-14T07:54:01Z2026-11-14T07:54:03Z1
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 6ec5deba934b…
checksums 5eff7abcb02d…
verify_md 12ac1f0f2ff6…
rebuild_md d466dca6b407…
manifest_txt 35639ab0b471…
actions_jsonl 1fec643cb7c2…
provenance_md f6cfd052ff03…
assetchain_log_md e9eccaec0c0f…
assetchain_log_json 4c14697c29b9…

[stage_runs]

Rewinds

  • 2026-11-14T07:06:18Z: verdict to assemble_kit on strategy_changed (strategy changed (377bc369dfd9 -> 887a0edaeb3a)) [stage_events, stage_events #36922]
  • 2026-11-14T08:05:35Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #37018]

Model work per stage

Fully recorded

Role: writer model. Calls up to 2026-11-14T07:54:03Z.

6 calls over 4 stages

StageCallsRefusedErrorsMax attemptForced commitsReal tokensLesson rules shown
plan2001 07451 L-A183, L-A15
remediate2001 07321 L-A183, L-A15
db_handbook1001 06202 L-A180, L-A181, L-A182, L-A183, L-A184, L-A114, L-A15
usecase_validate1001 01809 L-A59

[micro_step_runs] [lesson_recalls]

Review

Fully recorded

Role: review model.

1 round, 1 counted, $0.34 recorded cost

RoundStartedCriticalMajorMinorVerdictCostCap in forceArchive reviewed
12026-11-14T07:55:32Z 000 clean to publish [held_rounds, held_rounds #1909] $0.34 3 rounds, $40.00 6ec5deba934b…

Defects

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

2 ledger entries: by severity low 2; by status open 2.

DefectSeverityStatusFound byFixed in
RSD-nodebb-327c128269
The image refuses to start without NODEBB_ADMIN_PASSWORD, although NodeBB uses it only when it creates the administrator on an empty database [defects, defects #288820]
lowopenruntime check—
RSD-nodebb-9a3632f96b
NodeBB's asset build writes language files in a run-dependent key order (concurrent mutation in src/meta/languages.js) [defects, defects #288821]
lowopenbuild strategy record—

Verification

1 item not recorded
  • Reproduced before publishingyes (rebuilt digest sha256:871d5673b43aab55c59bf8506f282739356472d1382ddc66cc6bde7200387598 · published digest sha256:871d5673b43aab55c59bf8506f282739356472d1382ddc66cc6bde7200387598 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 358) [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-14T08:07:22Z · failing Docker Scout counts 102 packages with copyleft licences (GPL, LGPL, MPL), 96 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-14T08:06:14Z) [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 3873498180 · transparency-log entry · integrated 2026-11-14T08:15:43Z) [ReadyStack-nodebb-v4.16.8-CE-ubuntu24.04-r1.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
  • Signed attestations
    • kind provenance · digest sha256:58d71efd0fd233c9982d2357d0596b89e79d66d5c5070c6f0731edf2fa902759 · state attached · log index 3873502729 · transparency-log entry
    • kind sbom · digest sha256:58d71efd0fd233c9982d2357d0596b89e79d66d5c5070c6f0731edf2fa902759 · state attached · log index 3873505427 · transparency-log entry
    • kind vsa · digest sha256:58d71efd0fd233c9982d2357d0596b89e79d66d5c5070c6f0731edf2fa902759 · state attached · log index 3873507745 · transparency-log entry
    • kind provenance · digest sha256:871d5673b43aab55c59bf8506f282739356472d1382ddc66cc6bde7200387598 · state attached · log index 3873509866 · transparency-log entry
    • kind sbom · digest sha256:871d5673b43aab55c59bf8506f282739356472d1382ddc66cc6bde7200387598 · state attached · log index 3873511570 · transparency-log entry
    • kind vsa · digest sha256:871d5673b43aab55c59bf8506f282739356472d1382ddc66cc6bde7200387598 · state attached · log index 3873514801 · transparency-log entry
    (at 2026-11-14T08:15:45Z) [attestations.json, results]
  • Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/nodebb/recipe) [docs/provenance/PINS.json]

Offline clean-room rebuilds

  • 2026-11-14T07:55:36Z on build host 3 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
    rebuilt sha256:871d5673b43aab55c59bf8506f282739356472d1382ddc66cc6bde7200387598 [clean-room rebuild ledger, runs[852]]
  • 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-14T07:37:16Z [stage_runs, stage_runs chain 1020 stage publish_image]
  • Archive manifests written2026-11-14T08:10:49Z [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 762 · probed 2026-11-13T14:30:49Z · source build_kit) [release_images, isa_level_hard]

History

2 events
  • 2026-11-14T08:17:26Z generated: by KitForge release/build_trail.py · generator commit 7e5e859529535df572f4abd7beb5734967bb5f63
  • 2026-11-14T08:20:07Z publication: promoted at 2026-11-14T08:18:10Z · promoted digest sha256:58d71efd0fd233c9982d2357d0596b89e79d66d5c5070c6f0731edf2fa902759 · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 565 · checklist status complete · checklist at 2026-11-14T08:20:07Z · record workspace: deliverables/provenance/PROMOTION_RECORD.json, RELEASE_CHECKLIST.json

Records

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