NetBox v4.7.4-CE-ubuntu24.04-r2 build trail
How ReadyStack built readystack/netbox:v4.7.4-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/netbox:v4.7.4-CE-ubuntu24.04-r2 - Index digestsha256:484288dcda8912efbb0382793d4bc461730801237f017a008657ac4bce7e4359
- linux/amd64 digestsha256:84ab041195da4843c28f0c8fbbdd750d8a3711642542f954e068890bd339596c
- Archive
ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.tar.gz - Archive SHA-256 now6a28073312c2ae9425deaed251a10d900b5d33e75d1116bf93e590904d074727
- Pins record
docs/PINS.md,docs/provenance/PINS.jsonin the archive (since generated) - Generated2026-11-07T07:23:03Z 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-netbox-v4.7.4-CE-ubuntu24.04-r2.trail.json.sigstore ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.trail.json
IdentityWhy this release existsThe path through the harnessModel work per stageReviewDefectsVerificationPublicationPackages and CPU level
Identity
Fully recorded- ProductNetBox (netbox) [MANIFEST.json]
- Release tagv4.7.4-CE-ubuntu24.04-r2 [MANIFEST.json]
- Imagereadystack/netbox:v4.7.4-CE-ubuntu24.04-r2 [MANIFEST.json]
- Image index digestsha256:484288dcda8912efbb0382793d4bc461730801237f017a008657ac4bce7e4359 [docs/provenance/LOCKED_DIGEST.txt]
- linux/amd64 image digestsha256:84ab041195da4843c28f0c8fbbdd750d8a3711642542f954e068890bd339596c [ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.rebuild.json, subject.image_manifest_digest]
- ArchiveReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.tar.gz (bytes 544564876) [MANIFEST.json]
- Archive sha256 at publish6a28073312c2ae9425deaed251a10d900b5d33e75d1116bf93e590904d074727 [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/netbox-community/netbox [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream refv4.7.4 [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream commit9b9844bdbc226bc0bacff6bfdf65a824a4be0eec [docs/provenance/SOURCE_TREE_HASH.json]
- Source tree hash3933fbb22c56782410a06d9ce82cd1c7445aea3db4c3c7ee1ebb0baade1d5e15 (files 2306) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
- Kit tree hashsha256:437f027f984032858f9feb1eb09c10216385425549e2832bfefd64a648c16796 [ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.rebuild.json, inputs.tree_hash]
- SOURCE_DATE_EPOCH1793115337 (utc 2026-10-27T15:35:37Z) [ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.rebuild.json, inputs.source_date_epoch]
- Base images
- ref ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852 · platform digest sha256:78d4744ead1f5b19b04d0df558ab182a5300903900755e515b2ca4d10eb2044d
- BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.rebuild.json, engine]
- Engine commit(s)
- commit a40e4d9d4d44a5f8647c6bf01ffdee4ed8801afd · dirty yes · first drive 3583
- commit 478c04dabc474ce9b4851f112108c6b77b1aac89 · dirty yes · first drive 3601
Why this release exists
Fully recorded- Chain849 (created 2026-11-07T05:30:24Z · trigger customer_request · upstream version v4.7.4) [chains, chains #849]
- Requestbuild request #515 (rebuild) (requested at 2026-11-07T02:01:29Z · requested by kitforge-agent · version v4.7.4) [build_requests, build_requests #515]
- Reasonrerelease agenda REVISION -> v4.7.4-CE-ubuntu24.04-r2 (decay loop, IMP-08) [build_requests, build_requests #515 request_reason]
- Supersedesreadystack/netbox:v4.7.4-CE-ubuntu24.04-r1 (chain 809) [chains, chains #809]
The path through the harness
Fully recorded1 chain · 2 drives · 18 stages · 1 rewind
Chain 849 release · ready_to_ship
Created 2026-11-07T05:30:24Z, upstream v4.7.4, build request 515 [chains, chains #849]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 3583 | 2026-11-07T05:30:48Z | 69.6 | build host 4 withhold-publish | ready_to_ship at package_archive; 19 ticks [drive_runs, drive_runs #3583] |
| 3601 | 2026-11-07T07:07:21Z | — | build host 4 publish-held | not recorded [drive_runs, drive_runs #3601] |
Stages, in order
| Stage | First start | Passed | Attempts | Gate checks passed | Artifacts (SHA-256) |
|---|---|---|---|---|---|
intake |
2026-11-07T05:30:59Z | 2026-11-07T05:31:00Z | 1 | 4
|
order_json 22ced5b1ea97… |
acquire |
2026-11-07T05:31:05Z | 2026-11-07T05:31:06Z | 1 | 12
|
source_tree c297d3132d90…license_file 0d542e0c8804…custody_inputs 00caeb232674…source_tree_hash f58a430e4413…source_file_manifest 1f51a25cd5f3… |
plan |
2026-11-07T05:31:37Z | 2026-11-07T05:31:37Z | 1 | 10
|
recon_report 3076ecc62dd5…input_pin_plan 628a8b826fc2…toolchain_lock 3bb95d758565… |
assemble_kit |
2026-11-07T05:49:54Z | 2026-11-07T05:49:54Z | 1 | 27
|
dockerfile c8a7a13201bc…build_recipe 9f98349f434e…system_pinning 01ba4719c80b…build_offline_sh 6633aa31b6b4…generate_sbom_sh ce0f1e6f1e70…first_boot_health 97c189702954…verify_offline_sh 3e8184ea230c…base_image_digests 29ed82d2e65f…dockerfile_offline c8a7a13201bc…first_build_digest a82ce0422c5c… |
remediate |
2026-11-07T05:50:38Z | 2026-11-07T05:50:38Z | 1 | 8
|
vendored_apt e3b0c44298fc…remediation_log bcb50722c902…security_report 47471a1ae929… |
build_kit |
2026-11-07T05:59:58Z | 2026-11-07T05:59:59Z | 1 | 9
|
cosign_stamp 3d011b4adc44…locked_digest 8ebec0e9f3c0…freeze_manifest 1cbe7f940524…offline_rebuild_transcript 15557e273f17… |
verdict |
2026-11-07T06:01:42Z | 2026-11-07T06:01:42Z | 1 | 8
|
scout_verdict a9e39b0bb1aa… |
publish_image |
2026-11-07T06:02:35Z | 2026-11-07T06:02:36Z | 1 | 7
|
hub_readme 6be2793131dd…promotion_record 73f0c2df3a01… |
boot_instance |
2026-11-07T06:12:16Z | 2026-11-07T06:12:20Z | 2 | 3
|
instance_handle badb163b82ca… |
sbom |
2026-11-07T06:12:44Z | 2026-11-07T06:12:45Z | 1 | 5
|
sbom_md fe0702fcd8b8…sbom_json e584ac3df380… |
schema_discovery |
2026-11-07T06:12:47Z | 2026-11-07T06:12:48Z | 1 | 7
|
schema_hash 89d7628b63c2…dependency_tree 6f6b90309bdd…table_classification e2bf2e89b5eb… |
admin_handbook |
2026-11-07T06:12:54Z | 2026-11-07T06:12:55Z | 1 | 7
|
api_map 9526f968321a…admin_handbook fb6b14c400bc… |
db_handbook |
2026-11-07T06:13:03Z | 2026-11-07T06:13:04Z | 1 | 8
|
db_handbook bf7355adb37c…seed_isolation 2fbefa140506… |
seed_data |
2026-11-07T06:13:12Z | 2026-11-07T06:13:13Z | 1 | 6
|
seed_data_sql efd244a4bbe0…seed_cases_json 18d2f35e1700… |
seed_validate |
2026-11-07T06:13:15Z | 2026-11-07T06:13:16Z | 1 | 3
|
seed_data_contract 387300c953ae… |
usecase_validate |
2026-11-07T06:13:36Z | 2026-11-07T06:13:37Z | 1 | 10
|
failed_tests b2247b16f5f7…passed_tests f071cc12e47c…test_results 06c64d68920b…usecase_contract 37d70d130488… |
finalize_docs |
2026-11-07T06:13:43Z | 2026-11-07T06:13:44Z | 1 | 9
|
defects_json 358c68664b33…release_notes ef670d26678d…api_integration_guide a169a3ca1866… |
package_archive invalidated 2026-11-07T07:06:54Z |
2026-11-07T06:40:22Z | 2026-11-07T06:40:24Z | 1 | 34 (final gate PASS)
|
sale_tar 660d13580f04…checksums 50fcd2571c16…verify_md e2b360804d21…rebuild_md befcd815ac20…manifest_txt 2d35d4cc2901…actions_jsonl 35aa8a9de946…provenance_md 392ef7ef8b41…assetchain_log_md e9eccaec0c0f…assetchain_log_json 59a0b7f7a706… |
[stage_runs]
Rewinds
- 2026-11-07T07:06:54Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #24155]
Model work per stage
Fully recordedRole: writer model. Calls up to 2026-11-07T06:40:24Z.
5 calls over 3 stages
| Stage | Calls | Refused | Errors | Max attempt | Forced commits | Real tokens | Lesson rules shown |
|---|---|---|---|---|---|---|---|
plan | 2 | 0 | 0 | 1 | 0 | 5851 | — |
remediate | 2 | 0 | 0 | 1 | 0 | 9747 | L-A08, L-038, L-036, L-034, L-032 |
usecase_validate | 1 | 0 | 0 | 1 | 0 | 1834 | — |
[micro_step_runs] [lesson_recalls]
Review
Fully recordedRole: review model.
1 round, 1 counted, $0.27 recorded cost
| Round | Started | Critical | Major | Minor | Verdict | Cost | Cap in force | Archive reviewed |
|---|---|---|---|---|---|---|---|---|
| 1 | 2026-11-07T06:41:05Z | 0 | 0 | 0 | clean to publish [held_rounds, held_rounds #1445] | $0.27 | 3 rounds, $40.00 | 660d13580f04… |
Defects
Fully recorded- Ledger entries0 [defects, defects where product_slug=netbox and this tag or chain]
- Disclosed in the archive0 [docs/defects/defects.json, entries]
0 ledger entries.
Verification
1 item not recorded- Reproduced before publishingyes (rebuilt digest sha256:84ab041195da4843c28f0c8fbbdd750d8a3711642542f954e068890bd339596c · published digest sha256:84ab041195da4843c28f0c8fbbdd750d8a3711642542f954e068890bd339596c · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 246) [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-07T07:08:01Z · failing Docker Scout counts 110 packages with copyleft licences (GPL, LGPL, MPL), 106 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-07T07:07:31Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
- Image signature transparency-log entries
- log index 3730949176 · transparency-log entry
- log index 3730950988 · transparency-log entry
- rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3732207370 · transparency-log entry · integrated 2026-11-07T07:21:45Z) [ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
- Signed attestations
- kind provenance · digest sha256:484288dcda8912efbb0382793d4bc461730801237f017a008657ac4bce7e4359 · state attached · log index 3732210599 · transparency-log entry
- kind sbom · digest sha256:484288dcda8912efbb0382793d4bc461730801237f017a008657ac4bce7e4359 · state attached · log index 3732212526 · transparency-log entry
- kind vsa · digest sha256:484288dcda8912efbb0382793d4bc461730801237f017a008657ac4bce7e4359 · state attached · log index 3732214997 · transparency-log entry
- kind provenance · digest sha256:84ab041195da4843c28f0c8fbbdd750d8a3711642542f954e068890bd339596c · state attached · log index 3732216934 · transparency-log entry
- kind sbom · digest sha256:84ab041195da4843c28f0c8fbbdd750d8a3711642542f954e068890bd339596c · state attached · log index 3732219456 · transparency-log entry
- kind vsa · digest sha256:84ab041195da4843c28f0c8fbbdd750d8a3711642542f954e068890bd339596c · state attached · log index 3732222550 · transparency-log entry
- Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/netbox/recipe) [docs/provenance/PINS.json]
Offline clean-room rebuilds
- 2026-11-07T06:41:11Z on build host 4 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
rebuilt sha256:84ab041195da4843c28f0c8fbbdd750d8a3711642542f954e068890bd339596c [clean-room rebuild ledger, runs[613]]
- 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-07T06:02:36Z [stage_runs, stage_runs chain 849 stage publish_image]
- Archive manifests written2026-11-07T07:19:24Z [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 907 · probed 2026-11-07T05:55:38Z · source build_kit) [release_images, isa_level_hard]
History
2 events- 2026-11-07T07:23:03Z generated: by KitForge release/build_trail.py · generator commit 0b84905088b3228fdf50e0647d1f5a7d7d60df02
- 2026-11-07T07:24:40Z publication: promoted at 2026-11-07T07:23:34Z · promoted digest sha256:484288dcda8912efbb0382793d4bc461730801237f017a008657ac4bce7e4359 · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 338 · checklist status complete · checklist at 2026-11-07T07:24:40Z · 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-netbox-v4.7.4-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/IMAGE_EVIDENCE.json | inside the archive (ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/LOCKED_DIGEST.txt | inside the archive (ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/PINS.json | inside the archive (ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/REPRO_VERIFICATION.json | inside the archive (ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/SOURCE_TREE_HASH.json | inside the archive (ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.tar.gz) | — |
MANIFEST.json | beside the archive (prodasset /data/production/netbox/v4.7.4-CE-ubuntu24.04-r2/), as staged for publishing | — |
PUBLISH_MANIFEST.json | beside the archive (prodasset /data/production/netbox/v4.7.4-CE-ubuntu24.04-r2/), as staged for publishing | — |
ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.rebuild.json | beside the archive (prodasset /data/production/netbox/v4.7.4-CE-ubuntu24.04-r2/), as staged for publishing | — |
ReadyStack-netbox-v4.7.4-CE-ubuntu24.04-r2.rebuild.json.sigstore | beside the archive (prodasset /data/production/netbox/v4.7.4-CE-ubuntu24.04-r2/), as staged for publishing | — |
SCOUT_EVIDENCE.json | beside the archive (prodasset /data/production/netbox/v4.7.4-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) | 515 |
chains | sadb, ReadyStack's engine database (not published) | 849 |
defects | sadb, ReadyStack's engine database (not published) | netbox v4.7.4-CE-ubuntu24.04-r2 |
drive_runs | sadb, ReadyStack's engine database (not published) | chain 849 |
held_rounds | sadb, ReadyStack's engine database (not published) | chain 849 |
lesson_recalls | sadb, ReadyStack's engine database (not published) | chain 849 |
micro_step_runs | sadb, ReadyStack's engine database (not published) | chain 849 |
release_images | sadb, ReadyStack's engine database (not published) | netbox v4.7.4-CE-ubuntu24.04-r2 |
stage_events | sadb, ReadyStack's engine database (not published) | chain 849 |
stage_runs | sadb, ReadyStack's engine database (not published) | chain 849 |
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) | — |