Node.js 26.13.0-CE-ubuntu24.04-r2 build trail
How ReadyStack built readystack/nodejs:26.13.0-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- Image
readystack/nodejs:26.13.0-CE-ubuntu24.04-r2 - Index digestsha256:149d536b5e5defb9dc15f594eb311afc81725b1c0ae05679a0585be635891310
- linux/amd64 digestsha256:86ba27321fad66d6655d83eac3e7d3d2f44116b4528598d9a932aaad2cdf4846
- Archive
ReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.tar.gz - Archive SHA-256 now4ff8bef5064c3dd153d470ff57c0e82809f6cc04a44580fffe095234b21b1775
- Pins record
docs/PINS.md,docs/provenance/PINS.jsonin the archive (since generated) - Generated2026-11-12T13:41:42Z 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-nodejs-26.13.0-CE-ubuntu24.04-r2.trail.json.sigstore ReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.trail.json
IdentityWhy this release existsThe path through the harnessModel work per stageReviewDefectsVerificationPublicationPackages and CPU level
Identity
Fully recorded- ProductNode.js (nodejs) [MANIFEST.json]
- Release tag26.13.0-CE-ubuntu24.04-r2 [MANIFEST.json]
- Imagereadystack/nodejs:26.13.0-CE-ubuntu24.04-r2 [MANIFEST.json]
- Image index digestsha256:149d536b5e5defb9dc15f594eb311afc81725b1c0ae05679a0585be635891310 [docs/provenance/LOCKED_DIGEST.txt]
- linux/amd64 image digestsha256:86ba27321fad66d6655d83eac3e7d3d2f44116b4528598d9a932aaad2cdf4846 [ReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.rebuild.json, subject.image_manifest_digest]
- ArchiveReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.tar.gz (bytes 522587081) [MANIFEST.json]
- Archive sha256 at publish4ff8bef5064c3dd153d470ff57c0e82809f6cc04a44580fffe095234b21b1775 [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/nodejs/node [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream refv26.13.0 [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream commit18b32a3b1552e199a01f1a8d9fd64aa756d3b75b [docs/provenance/SOURCE_TREE_HASH.json]
- Source tree hash5b74fd4dea3b1f65df90f73fb2bff5c1579cf286773347aa1bee1b76ea423964 (files 52284) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
- Kit tree hashsha256:20f410465e8ba8d2b924a3d6a0c3cca8a95d2058f3343add2867fea2a54cb2f8 [ReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.rebuild.json, inputs.tree_hash]
- SOURCE_DATE_EPOCH1794391112 (utc 2026-11-11T09:58:32Z) [ReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.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-nodejs-26.13.0-CE-ubuntu24.04-r2.rebuild.json, engine]
- Engine commit(s)
- commit ec0ca178d193bea922ac2a5a9efb632b86f4f6fe · dirty yes · first drive 4284
- commit 8beb4f7a64693db4aaee4b1f4ee85d46fc17950d · dirty yes · first drive 4350
- commit cc378b12903c2379e4b6108d62500c4dc3e5ba89 · dirty yes · first drive 4429
Why this release exists
Fully recorded- Chain970 (created 2026-11-11T10:03:18Z · trigger customer_request · upstream version 26.13.0) [chains, chains #970]
- Requestbuild request #648 (rebuild) (requested at 2026-11-11T09:58:34Z · requested by kitforge-agent · version 26.13.0) [build_requests, build_requests #648]
- Reasonrerelease agenda REVISION -> 26.13.0-CE-ubuntu24.04-r2 (decay loop, IMP-08) [build_requests, build_requests #648 request_reason]
- Supersedesreadystack/nodejs:26.13.0-CE-ubuntu24.04-r1 (chain 867) [chains, chains #867]
The path through the harness
Fully recorded1 chain · 3 drives · 18 stages · 3 rewinds
Chain 970 release · ready_to_ship
Created 2026-11-11T10:03:18Z, upstream 26.13.0, build request 648 [chains, chains #970]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 4284 | 2026-11-11T10:03:55Z | 346.2 | build host 4 withhold-publish | ready_to_ship at package_archive; 19 ticks [drive_runs, drive_runs #4284] |
| 4350 | 2026-11-12T05:17:36Z | 370.7 | build host 4 withhold-publish | ready_to_ship at package_archive; 16 ticks [drive_runs, drive_runs #4350] |
| 4429 | 2026-11-12T13:32:41Z | — | build host 4 publish-held | not recorded [drive_runs, drive_runs #4429] |
Stages, in order
| Stage | First start | Passed | Attempts | Gate checks passed | Artifacts (SHA-256) |
|---|---|---|---|---|---|
intake |
2026-11-11T10:04:05Z | 2026-11-11T10:04:05Z | 1 | 4
|
order_json eacf20f63407… |
acquire |
2026-11-11T10:04:24Z | 2026-11-11T10:04:30Z | 1 | 12
|
source_tree 2840299847b1…license_file 8e603aa87c70…custody_inputs 6226a321cf08…source_tree_hash d3b42bb57054…source_file_manifest 7156e96295fc… |
plan |
2026-11-11T10:05:07Z | 2026-11-11T10:05:08Z | 1 | 10
|
recon_report ca2e3c872d09…input_pin_plan 6fb0b39cc7ea…toolchain_lock 27f82fcbd0df… |
assemble_kit |
2026-11-11T11:30:59Z | 2026-11-12T06:50:17Z | 2 | 27
|
dockerfile bd09432b53ae…build_recipe 31e637ffe68b…system_pinning 30b90438c3de…build_offline_sh 6ab4f08a6ec7…generate_sbom_sh ce0f1e6f1e70…first_boot_health 7f05fa4fb080…verify_offline_sh 3e8184ea230c…base_image_digests b15471b44645…dockerfile_offline bd09432b53ae…first_build_digest 997595279395… |
remediate |
2026-11-11T11:31:36Z | 2026-11-12T06:50:21Z | 2 | 8
|
vendored_apt e3b0c44298fc…remediation_log d434cb82c080…security_report f91a0479270f… |
build_kit |
2026-11-11T14:17:07Z | 2026-11-12T09:52:49Z | 2 | 9
|
cosign_stamp 69567d388388…locked_digest f956ba22391d…freeze_manifest d6446208f70f…offline_rebuild_transcript 873501788e79… |
verdict |
2026-11-11T14:18:09Z | 2026-11-12T09:53:48Z | 2 | 8
|
scout_verdict 4f480c149a29… |
publish_image |
2026-11-11T14:18:55Z | 2026-11-12T09:54:32Z | 2 | 7
|
hub_readme 851f470e7a0e…promotion_record 2d50287dd2a8… |
boot_instance |
2026-11-11T14:19:01Z | 2026-11-12T09:54:44Z | 4 | 3
|
instance_handle b6a0ff7b2ae9… |
sbom |
2026-11-11T14:19:27Z | 2026-11-12T09:55:08Z | 2 | 5
|
sbom_md 38feb3f5cf17…sbom_json e522613ba906… |
schema_discovery |
2026-11-11T14:19:31Z | 2026-11-12T09:55:11Z | 2 | 7
|
schema_hash 32df9c3daa3f…dependency_tree dd081259160e…table_classification 5719756b5c4f… |
admin_handbook |
2026-11-11T14:19:41Z | 2026-11-12T09:55:21Z | 2 | 7
|
api_map 65602101d895…admin_handbook f26be1e6e362… |
db_handbook |
2026-11-11T14:19:46Z | 2026-11-12T09:55:26Z | 2 | 8
|
db_handbook 6913bd16810a…seed_isolation 2e6fbe1e261c… |
seed_data |
2026-11-11T14:20:01Z | 2026-11-12T09:55:40Z | 2 | 6
|
seed_data_sql b53dfb5280bd…seed_cases_json 8002dbb02db5… |
seed_validate |
2026-11-11T14:20:04Z | 2026-11-12T09:55:43Z | 2 | 3
|
seed_data_contract 571b42670263… |
usecase_validate |
2026-11-11T14:20:29Z | 2026-11-12T09:56:07Z | 2 | 10
|
failed_tests b2247b16f5f7…passed_tests 6ad1be1494a1…test_results 2e2b5a5996fd…usecase_contract ed134896ba26… |
finalize_docs |
2026-11-11T14:20:36Z | 2026-11-12T09:56:15Z | 2 | 9
|
defects_json ede703c996d1…release_notes aedbc4aff43f…api_integration_guide 6616ce0d70a8… |
package_archive invalidated 2026-11-12T13:32:07Z |
2026-11-11T15:50:01Z | 2026-11-12T11:28:16Z | 2 | 37 (final gate PASS)
|
sale_tar 8c9472cddadd…checksums d639a499b860…verify_md b61176ddfe06…rebuild_md ae4c550b4312…manifest_txt ea4ff35b2c67…actions_jsonl 0d6889613383…provenance_md 9b36c6bb5c36…assetchain_log_md e9eccaec0c0f…assetchain_log_json d366cbebcb61… |
[stage_runs]
Rewinds
- 2026-11-12T04:42:24Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive --allow-rebuild) [stage_events, stage_events #32803] - 2026-11-12T05:17:44Z:
package_archivetoassemble_kiton strategy_changed (strategy changed (149d894f088c -> 4b7e5d4c7cdc)) [stage_events, stage_events #32914] - 2026-11-12T13:32:07Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #33869]
Model work per stage
Fully recordedRole: writer model. Calls up to 2026-11-12T11:28:16Z.
4 calls over 2 stages
| Stage | Calls | Refused | Errors | Max attempt | Forced commits | Real tokens | Lesson rules shown |
|---|---|---|---|---|---|---|---|
plan | 2 | 0 | 0 | 1 | 0 | 8169 | L-A183, L-A15 |
remediate | 2 | 0 | 0 | 1 | 0 | 8824 | L-A183, L-A15 |
[micro_step_runs] [lesson_recalls]
Review
Fully recordedRole: review model.
2 rounds, 1 counted, $0.33 recorded cost
| Round | Started | Critical | Major | Minor | Verdict | Cost | Cap in force | Archive reviewed |
|---|---|---|---|---|---|---|---|---|
| 1 not counted | 2026-11-11T15:51:03Z | — | — | — | blocked to blocked [held_rounds, held_rounds #1753] | — | 3 rounds, $40.00 | f37093305bbd… |
| 2 | 2026-11-12T11:29:32Z | 0 | 0 | 1 | clean to publish [held_rounds, held_rounds #1816] | $0.33 | 3 rounds, $40.00 | 8c9472cddadd… |
Defects
Fully recorded- Ledger entries3 [defects, defects where product_slug=nodejs and this tag or chain]
- Disclosed in the archive3 [docs/defects/defects.json, entries]
3 ledger entries: by severity critical 1, low 2; by status fixed-before-release 2, wont-fix-by-design 1.
| Defect | Severity | Status | Found by | Fixed in |
|---|---|---|---|---|
RSD-nodejs-135ff9b946Offline rebuild does not reproduce the published image digest [defects, defects #252075] | critical | fixed-before-release | clean-room rebuild | — |
RSD-nodejs-12bf933aa1The upstream source is modified before the build (1 patch step) [defects, defects #265706] | low | wont-fix-by-design | build strategy record | — |
RSD-nodejs-15734307c9Admin handbook: Handbook reproduction time (85 min) contradicts the r2 records (93 min). [defects, defects #269033] | low | fixed-before-release | held review (review model) | — |
Verification
1 item not recorded- Reproduced before publishingyes (rebuilt digest sha256:86ba27321fad66d6655d83eac3e7d3d2f44116b4528598d9a932aaad2cdf4846 · published digest sha256:86ba27321fad66d6655d83eac3e7d3d2f44116b4528598d9a932aaad2cdf4846 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 5602) [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-12T13:33:05Z · failing Docker Scout counts 83 packages with copyleft licences (GPL, LGPL, MPL), all 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-12T13:32:50Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
- Image signature transparency-log entries
- log index 3829703538 · transparency-log entry
- log index 3829705091 · transparency-log entry
- rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3833427333 · transparency-log entry · integrated 2026-11-12T13:39:43Z) [ReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
- Signed attestations
- kind provenance · digest sha256:149d536b5e5defb9dc15f594eb311afc81725b1c0ae05679a0585be635891310 · state attached · log index 3833435718 · transparency-log entry
- kind sbom · digest sha256:149d536b5e5defb9dc15f594eb311afc81725b1c0ae05679a0585be635891310 · state attached · log index 3833438738 · transparency-log entry
- kind vsa · digest sha256:149d536b5e5defb9dc15f594eb311afc81725b1c0ae05679a0585be635891310 · state attached · log index 3833442406 · transparency-log entry
- kind provenance · digest sha256:86ba27321fad66d6655d83eac3e7d3d2f44116b4528598d9a932aaad2cdf4846 · state attached · log index 3833445496 · transparency-log entry
- kind sbom · digest sha256:86ba27321fad66d6655d83eac3e7d3d2f44116b4528598d9a932aaad2cdf4846 · state attached · log index 3833448212 · transparency-log entry
- kind vsa · digest sha256:86ba27321fad66d6655d83eac3e7d3d2f44116b4528598d9a932aaad2cdf4846 · state attached · log index 3833451918 · transparency-log entry
- Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/nodejs/recipe) [docs/provenance/PINS.json]
Offline clean-room rebuilds
- 2026-11-11T15:51:08Z on build host 3 (Docker-in-Docker daemon with --network none): bit for bit no, digest match no, customer verify no, first failure digest_match
rebuilt sha256:259f601bdb864a6d44dee2bea8ab40a0049411deed33ccf2d80a97616d6582cf [clean-room rebuild ledger, runs[754]] - 2026-11-12T11:29:36Z on build host 4 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
rebuilt sha256:86ba27321fad66d6655d83eac3e7d3d2f44116b4528598d9a932aaad2cdf4846 [clean-room rebuild ledger, runs[791]]
- 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-12T09:54:32Z [stage_runs, stage_runs chain 970 stage publish_image]
- Archive manifests written2026-11-12T13:36:31Z [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 724 · probed 2026-11-11T12:55:07Z · source build_kit) [release_images, isa_level_hard]
History
2 events- 2026-11-12T13:41:42Z generated: by KitForge release/build_trail.py · generator commit cc378b12903c2379e4b6108d62500c4dc3e5ba89
- 2026-11-12T13:43:45Z publication: promoted at 2026-11-12T13:42:21Z · promoted digest sha256:149d536b5e5defb9dc15f594eb311afc81725b1c0ae05679a0585be635891310 · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 508 · checklist status complete · checklist at 2026-11-12T13:43:45Z · 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-nodejs-26.13.0-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/IMAGE_EVIDENCE.json | inside the archive (ReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/LOCKED_DIGEST.txt | inside the archive (ReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/PINS.json | inside the archive (ReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/REPRO_VERIFICATION.json | inside the archive (ReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/SOURCE_TREE_HASH.json | inside the archive (ReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.tar.gz) | — |
MANIFEST.json | beside the archive (prodasset /data/production/nodejs/26.13.0-CE-ubuntu24.04-r2/), as staged for publishing | — |
PUBLISH_MANIFEST.json | beside the archive (prodasset /data/production/nodejs/26.13.0-CE-ubuntu24.04-r2/), as staged for publishing | — |
ReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.rebuild.json | beside the archive (prodasset /data/production/nodejs/26.13.0-CE-ubuntu24.04-r2/), as staged for publishing | — |
ReadyStack-nodejs-26.13.0-CE-ubuntu24.04-r2.rebuild.json.sigstore | beside the archive (prodasset /data/production/nodejs/26.13.0-CE-ubuntu24.04-r2/), as staged for publishing | — |
SCOUT_EVIDENCE.json | beside the archive (prodasset /data/production/nodejs/26.13.0-CE-ubuntu24.04-r2/), 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) | 648 |
chains | sadb, ReadyStack's engine database (not published) | 970 |
defects | sadb, ReadyStack's engine database (not published) | nodejs 26.13.0-CE-ubuntu24.04-r2 |
drive_runs | sadb, ReadyStack's engine database (not published) | chain 970 |
held_rounds | sadb, ReadyStack's engine database (not published) | chain 970 |
lesson_recalls | sadb, ReadyStack's engine database (not published) | chain 970 |
micro_step_runs | sadb, ReadyStack's engine database (not published) | chain 970 |
release_images | sadb, ReadyStack's engine database (not published) | nodejs 26.13.0-CE-ubuntu24.04-r2 |
stage_events | sadb, ReadyStack's engine database (not published) | chain 970 |
stage_runs | sadb, ReadyStack's engine database (not published) | chain 970 |
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) | — |