Kubernetes Node v1.36.6-CE-scratch-r1 build trail

How ReadyStack built readystack/kubernetesnode:v1.36.6-CE-scratch-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/kubernetesnode:v1.36.6-CE-scratch-r1
  • Index digestsha256:665c06f34266e48226bb5321a05d403c960e0473f5cf8d6c58ef2e45be14bbaf
  • linux/amd64 digestsha256:0a264881a0b7357fb20767b0922661bf4ba4423b3e90e595195bf18748a8d79c
  • ArchiveReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.tar.gz
  • Archive SHA-256 now55688a8b95dfa7a00fbe999f2e113835f3a01294ac7e1899530a04c911da0afd
  • Generated2026-11-02T23:33:35Z by KitForge release/build_trail.py
  • Sections9 sections, 4 fully recorded; 11 items 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-kubernetesnode-v1.36.6-CE-scratch-r1.trail.json.sigstore ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.trail.json

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

Identity

1 item not recorded
  • ProductKubernetes Node (kubernetesnode) [MANIFEST.json]
  • Release tagv1.36.6-CE-scratch-r1 [MANIFEST.json]
  • Imagereadystack/kubernetesnode:v1.36.6-CE-scratch-r1 [MANIFEST.json]
  • Image index digestsha256:665c06f34266e48226bb5321a05d403c960e0473f5cf8d6c58ef2e45be14bbaf [docs/provenance/LOCKED_DIGEST.txt]
  • linux/amd64 image digestsha256:0a264881a0b7357fb20767b0922661bf4ba4423b3e90e595195bf18748a8d79c [ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.rebuild.json, subject.image_manifest_digest]
  • ArchiveReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.tar.gz (bytes 516934452) [MANIFEST.json]
  • Archive sha256 at publishb5fcb460679f614fb3b0a6eb37cf432e88130b450406252f17acf47c5bc3e460 [MANIFEST.json, repack_history[0].previous_tarball_sha256]
  • Archive sha256 now55688a8b95dfa7a00fbe999f2e113835f3a01294ac7e1899530a04c911da0afd [MANIFEST.json, tarball_sha256]
  • Archive records agreeyes [MANIFEST.json, PUBLISH_MANIFEST.json and .cutover.json name the same sha256]
  • Repack history
    • at 2026-10-29 · label stackdocs · reason documents brought up to the stack's current runbook record (2026-10-29T02:34:55Z run, re-recorded with the runbook corrections); documents only, not image inputs; image and every build input unchanged · previous sha256 b5fcb460679f614fb3b0a6eb37cf432e88130b450406252f17acf47c5bc3e460 · sha256 7cdc6a9879ddb4dd8f2558f75269587fe199461b78508d92da754faf6eb73bb6 · replaced docs/admin-guide/ADMIN_HANDBOOK.md, docs/db-handbook/DB_HANDBOOK.md, docs/db-handbook/DB_HANDBOOK.md.command-transcripts.json, docs/stack/RUNBOOK.md, docs/stack/RUNBOOK_EVIDENCE.json, rebuild.json
    • at 2026-10-29 · label notesfix · reason docs/RELEASE_NOTES.md Known issues and docs/defects/defects.json brought up to the defects ledger (1 defect(s) recorded after packaging: RSD-kubernetesnode-9ed2eae81a); documents only, not image inputs; image and every build input unchanged · previous sha256 7cdc6a9879ddb4dd8f2558f75269587fe199461b78508d92da754faf6eb73bb6 · sha256 a8c27de2f97a7356ebb83b878b33119cd160db933595ebf99e8c054eb2e06092 · replaced docs/RELEASE_NOTES.md, docs/defects/defects.json, rebuild.json
    • at 2026-11-01 · label kitfix · reason customer kit files brought up to the current engine: BUILD_OFFLINE.sh (kit root, docs/offline, docs/docker); the header of BUILD_OFFLINE.sh no longer says a --provenance rebuild meets a SLSA build level, comment lines only; not image inputs; image and every build input unchanged · previous sha256 a8c27de2f97a7356ebb83b878b33119cd160db933595ebf99e8c054eb2e06092 · sha256 55688a8b95dfa7a00fbe999f2e113835f3a01294ac7e1899530a04c911da0afd · replaced BUILD_OFFLINE.sh, docs/docker/BUILD_OFFLINE.sh, docs/offline/BUILD_OFFLINE.sh, rebuild.json
    [MANIFEST.json, repack_history]
  • Upstream repositoryhttps://github.com/kubernetes/kubernetes [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream refv1.36.6 [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream commit1b2171b110bb2a2542e1322035c6583ec86eb976 [docs/provenance/SOURCE_TREE_HASH.json]
  • Source tree hash803692e6a7661d2d72c4cdf0a2a2459bdf6646e2b6c955ed7362f279ee4fa004 (files 29206) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
  • Kit tree hashsha256:c510ff34ad6ae7345b48a446660f6de44a27e5a2df72a55a48de596deb0c047b [ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.rebuild.json, inputs.tree_hash]
  • SOURCE_DATE_EPOCH1793102572 (utc 2026-10-27T12:02:52Z) [ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.rebuild.json, inputs.source_date_epoch]
  • Base images
    • ref golang:1.26.10-bookworm@sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af · platform digest sha256:88750ccdd0f2a77fcc00a14b1a48d6409bd8ddb5d7c2dd6ec0b4a2e916daf9d9
    [ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.rebuild.json, bases]
  • BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.rebuild.json, engine]
  • Not recorded: the engine commit(s) that built it (drive_runs records them for drives from 2026-11-02; this release's drives were rebuilt from line logs, which do not name it)

Why this release exists

Fully recorded
  • Chain778 (created 2026-10-29T03:46:17Z · trigger customer_request · upstream version v1.36.6) [chains, chains #778]
  • Requestbuild request #451 (new_product) (requested at 2026-10-29T03:13:19Z · requested by agent · version v1.36.6) [build_requests, build_requests #451]
  • ReasonKubernetes VM Stack Kits (DevOps 2026-10-28); owner 2026-10-28 "pause all other efforts. This build list is your top priority"; owner 2026-10-29: publish every component through the normal pipeline, listed only at A (virthandler/virtlauncher may be unlisted, grade disclosed); both bundles ship as images [build_requests, build_requests #451 request_reason]

The path through the harness

2 items not recorded

1 chain · 6 drives · 18 stages · 5 rewinds

Chain 778 release · shipped

Created 2026-10-29T03:46:17Z, upstream v1.36.6, build request 451 [chains, chains #778]

DriveStartedMinutesBuild hostHow it stopped
10602026-10-29T03:46:29Z38.7build host 2 withhold-publish ready_to_ship [drive_runs, drive_runs #1060] rebuilt from a build line's log
10642026-10-29T05:22:52Z25.2build host 2 withhold-publish infra_hub_rate_limit at publish_image [drive_runs, drive_runs #1064] rebuilt from a build line's log
10652026-10-29T06:08:54Z14.6build host 2 withhold-publish ready_to_ship [drive_runs, drive_runs #1065] rebuilt from a build line's log
10682026-10-29T07:04:58Z0.1build host 2 publish-held publish_refused_inputs_changed [drive_runs, drive_runs #1068] rebuilt from a build line's log
10692026-10-29T07:20:21Z7.1build host 2 withhold-publish ready_to_ship [drive_runs, drive_runs #1069] rebuilt from a build line's log
10712026-10-29T08:09:08Z9.5build host 2 publish-held shipped [drive_runs, drive_runs #1071] rebuilt from a build line's log

Stages, in order

StageFirst startPassedAttemptsGate checks passedArtifacts (SHA-256)
intake 2026-10-29T03:46:35Z2026-10-29T03:46:36Z1
4
  • exists:order_json
  • order_json:json_parses
  • order_json:no_forbidden_placeholders
  • produces_paths_exist
—
acquire 2026-10-29T03:46:49Z2026-10-29T03:46:50Z1
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
—
plan 2026-10-29T03:47:33Z2026-10-29T03:47: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
—
assemble_kit 2026-10-29T03:56:53Z2026-10-29T05:32:00Z2
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
—
remediate 2026-10-29T03:57:51Z2026-10-29T05:32:03Z2
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
—
build_kit 2026-10-29T04:10:04Z2026-10-29T05:44:17Z2
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
—
verdict 2026-10-29T04:11:08Z2026-10-29T05:45:19Z2
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
—
publish_image 2026-10-29T04:11:56Z2026-10-29T06:10:08Z2
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
—
boot_instance 2026-10-29T04:11:58Z2026-10-29T06:10:12Z2
3
  • exists:instance_handle
  • instance_handle:json_parses
  • produces_paths_exist
—
sbom 2026-10-29T04:12:16Z2026-10-29T06:10:32Z2
5
  • exists:sbom_json
  • exists:sbom_md
  • sbom_json:json_parses
  • sbom_md:md_min_sections:1
  • produces_paths_exist
—
schema_discovery 2026-10-29T04:12:19Z2026-10-29T06:10:35Z2
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
—
admin_handbook 2026-10-29T04:12:21Z2026-10-29T07:20:29Z3
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
—
db_handbook 2026-10-29T04:12:24Z2026-10-29T07:20:31Z3
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
—
seed_data 2026-10-29T04:12:26Z2026-10-29T07:20:34Z3
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_validate 2026-10-29T04:12:29Z2026-10-29T07:20:36Z3
3
  • exists:seed_data_contract
  • seed_data_contract:json_parses
  • produces_paths_exist
—
usecase_validate 2026-10-29T04:12:31Z2026-10-29T07:20:39Z3
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
—
finalize_docs 2026-10-29T04:12:35Z2026-10-29T07:20:43Z3
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
—
package_archive 2026-10-29T04:25:10Z2026-10-29T08:18:34Z4
33 (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 scout_grade_a
  • G8 script_copies
  • G8 three_way_sha
  • G8 offline_rebuild
  • G8 rebuild_manifest
  • G8 artifact_coverage
  • G8 assetchain_coverage
—

[stage_runs]

Rewinds

  • 2026-10-29T05:22:59Z: package_archive to assemble_kit on strategy_changed (chain 778: strategy changed — rewound from 'package_archive' to assemble_kit and dropped the vendored tree so the change actually reaches the build.) [stage_events, stage_events #2344]
  • 2026-10-29T06:58:42Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py) [stage_events, stage_events #1265]
  • 2026-10-29T07:04:28Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py) [stage_events, stage_events #1266]
  • 2026-10-29T07:20:25Z: package_archive to admin_handbook on runbook_changed (chain 778: stack runbook re-recorded — rewound from 'package_archive' to admin_handbook (its documents were rendered from runbook record 8c73807fc931, the stack manifest now names a6582de5e2a2 (the runbook was re-recorded))) [stage_events, stage_events #2352]
  • 2026-10-29T08:08:39Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py) [stage_events, stage_events #1269]
  • Not recorded: each drive's ticks and first failed check (drive_runs records them for drives from 2026-11-02; these drives were rebuilt from line logs)
  • Not recorded: the sha256 of each stage's artifacts (stage_events records them for stages passed from 2026-11-02; this chain's events were rebuilt from stage_runs and logs) — the archive's CHECKSUMS.sha256 lists the sha256 of every file it ships

Model work per stage

3 items not recorded

Role: writer model. Calls up to 2026-10-29T08:18:34Z.

4 calls over 2 stages

StageCallsRefusedErrorsMax attemptForced commitsReal tokensLesson rules shown
plan2001 not recordednot recorded —
remediate2001 not recordednot recorded —

[micro_step_runs]

  • Not recorded: forced commits (micro_step_runs records them for calls from 2026-11-02)
  • Not recorded: real token counts (recorded per call from 2026-11-02; earlier rows hold only an estimate, which is not shown)
  • Not recorded: the lesson rules shown to the writer model (lesson_recalls holds no rows for this chain: its recorder was silent from 2026-06-06 to 2026-11-02)

Review

3 items not recorded

Role: review model.

3 rounds, 3 counted, $3.57 recorded cost

RoundStartedCriticalMajorMinorVerdictCostCap in forceArchive reviewed
12026-10-29T04:28:32Z 016 findings to tests_broken [held_rounds, held_rounds #84] rebuilt from a held-review state file $1.28 not recorded not recorded
22026-10-29T06:24:08Z 008 clean to publish [held_rounds, held_rounds #85] rebuilt from a held-review state file $1.22 not recorded not recorded
32026-10-29T07:27:40Z 004 clean to publish [held_rounds, held_rounds #86] rebuilt from a held-review state file $1.07 not recorded not recorded

Overrides

  • max_rounds: — to 6; by not recorded; why: not recorded predates override recording (2026-11-02): found in runstate/held-auto/kubernetesnode.json, last written 2026-10-29T08:44Z; who set it, why, when and the value before are not known [review_overrides, review_overrides #9]
  • Not recorded: the sha256 of the archive each round reviewed (held_rounds records it for rounds from 2026-11-02; these rounds were rebuilt from state files)
  • Not recorded: the round cap in force at each round (the state files did not keep it)
  • Not recorded: who raised max_rounds to 6 and why (review_overrides #9 was backfilled from a state file; overrides are recorded with who and why from 2026-11-02)

Defects

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

12 ledger entries: by severity high 1, low 10, medium 1; by status fixed-before-release 9, open 3.

DefectSeverityStatusFound byFixed in
RSD-kubernetesnode-a882ef8cf1
Release notes: The sentence says the 12 use cases ran against a container of this image. [defects, defects #134346]
highfixed-before-releaseheld review (review model)—
RSD-kubernetesnode-855d7fe99e
Release notes: The product is not a service and exposes nothing, yet the notes tell the reader to act 'before exposing this service'. [defects, defects #134347]
lowfixed-before-releaseheld review (review model)—
RSD-kubernetesnode-2bf7ae1ad8
Admin handbook: The handbook has no section of that name; a reader of this document cannot find the procedure. [defects, defects #134348]
lowfixed-before-releaseheld review (review model)—
RSD-kubernetesnode-7b7ea507fc
Admin handbook: The state-dirs check is in DB_HANDBOOK.md, not above, and it shows /etc/kubernetes/pki as drwxr-xr-x (755); only /var/lib/etcd is 700. [defects, defects #134349]
lowfixed-before-releaseheld review (review model)—
RSD-kubernetesnode-06009545f6
Admin handbook: Round 2's finding is not corrected: the handbook never says where the tarball and its .sha256 (used at lines 352 and 616) come from. [defects, defects #134350]
lowfixed-before-releaseheld review (review model)—
RSD-kubernetesnode-a5aaff86d1
Docker Hub README: 'A cosign-signed build of Built from ...' is a doubled phrase from joining the doc_facts.upstream text ('Built from kubernetes ...') after 'build of'. [defects, defects #134351]
lowfixed-before-releaseheld review (review model)—
RSD-kubernetesnode-6c49511e01
Release notes: The Known issues list prints a defect that is already corrected in the packaged Docker Hub README. [defects, defects #134563]
lowfixed-before-releaseheld review (review model)—
RSD-kubernetesnode-77c43b9cce
Docker Hub README: 'The same tree ships as a tarball' is not borne out: no tarball is in the sale archive or the image; the kit only contains the script that rebuilds it. [defects, defects #134564]
lowfixed-before-releaseheld review (review model)—
RSD-kubernetesnode-6b4e5b8751
Database handbook: The same 'root-only' claim as ADMIN_HANDBOOK.md:1048 is contradicted by the output printed 14 lines below: the directory is world-readable and traversable; only the key files are root-only. [defects, defects #134565]
lowfixed-before-releaseheld review (review model)—
RSD-kubernetesnode-e805be98cf
Release notes: Round 2's finding is not corrected: the image is not a service (no ports, NOT_TRUE in doc_facts, `docker run` just prints v1.36.6 and exits 0), yet three notes (lines 35, 36, 37) are prefixed… [defects, defects #134817]
lowopenheld review (review model)—
RSD-kubernetesnode-a8df52ac9c
Release notes: The Known issues list prints round 2's own open finding (about the 'Before exposing this service' prefix). [defects, defects #134818]
lowopenheld review (review model)—
RSD-kubernetesnode-9ed2eae81a
The image's licences label omits LGPL-2.1-or-later: runc links the GNU C Library statically [defects, defects #135524]
mediumopenheld review (review model)—

Verification

2 items not recorded
  • Reproduced before publishingyes (rebuilt digest sha256:0a264881a0b7357fb20767b0922661bf4ba4423b3e90e595195bf18748a8d79c · published digest sha256:0a264881a0b7357fb20767b0922661bf4ba4423b3e90e595195bf18748a8d79c · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 357) [docs/provenance/REPRO_VERIFICATION.json, verified]
  • Final contract gate (G8)PASS (checks cosign, scan_grade, tag_base_os, vex_shipped, scout_grade_a, script_copies, three_way_sha, offline_rebuild, rebuild_manifest, artifact_coverage, assetchain_coverage) [stage_runs, stage_runs chain 778 package_archive gate_result.g8.result]
  • Grade at releaseA (percent 94 · tool docker scout policy 1.26.0 · config docker-default · org vex no · at 2026-10-29T08:09:29Z · failing Docker Scout counts 1 package with copyleft licences (LGPL) (it counts only packages whose licence it can read; the SBOM lists every component).) [SCOUT_EVIDENCE.json, docker_scout_policy]
  • First own scan of the releaseA (at 2026-10-29T08:18:46Z · score 100 · rubric cerodeo-v1 · fixable critical 0 · fixable high 0 · syft 1.54.1 · grype 0.120.1 · grype db v6.1.10@2026-10-29T06:23:34Z) [image_scans, image_scans #1540]
  • Image signatureverified on the index and the linux/amd64 manifest (key fingerprint 04daa92344a52dbc · at 2026-10-29T08:09:13Z) [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 3624360428 · transparency-log entry · integrated 2026-11-01T08:21:56Z) [ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
  • Signed attestations
    • kind provenance · digest sha256:665c06f34266e48226bb5321a05d403c960e0473f5cf8d6c58ef2e45be14bbaf · state attached · log index 3562350171 · transparency-log entry
    • kind sbom · digest sha256:665c06f34266e48226bb5321a05d403c960e0473f5cf8d6c58ef2e45be14bbaf · state attached · log index 3562353269 · transparency-log entry
    • kind vsa · digest sha256:665c06f34266e48226bb5321a05d403c960e0473f5cf8d6c58ef2e45be14bbaf · state attached · log index 3562356608 · transparency-log entry
    • kind provenance · digest sha256:0a264881a0b7357fb20767b0922661bf4ba4423b3e90e595195bf18748a8d79c · state attached · log index 3562359957 · transparency-log entry
    • kind sbom · digest sha256:0a264881a0b7357fb20767b0922661bf4ba4423b3e90e595195bf18748a8d79c · state attached · log index 3562362051 · transparency-log entry
    • kind vsa · digest sha256:0a264881a0b7357fb20767b0922661bf4ba4423b3e90e595195bf18748a8d79c · state attached · log index 3562365551 · transparency-log entry
    (at 2026-10-29T08:16:02Z) [attestations.json, results]

Offline clean-room rebuilds

  • 2026-10-29T04:28:34Z on build host 2 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
    rebuilt sha256:42103f016a785e233d8ca68d2c88f79bd873b024650d04655dbcb3c434b61e17 [clean-room rebuild ledger, runs[529]]
  • 2026-10-29T06:24:10Z on build host 2 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
    rebuilt sha256:0a264881a0b7357fb20767b0922661bf4ba4423b3e90e595195bf18748a8d79c [clean-room rebuild ledger, runs[540]]
  • 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)
  • Not recorded: the pins record (docs/PINS.md is not in this archive as generated; a repack that adds it is appended to this trail's history)

Publication

Fully recorded
  • Image pushed (internal tag), publish_image passed2026-10-29T06:10:08Z [stage_runs, stage_runs chain 778 stage publish_image]
  • Release tag promoted2026-10-29T08:17:54Z (method imagetools_create_retag_by_digest_no_rebuild · digest sha256:665c06f34266e48226bb5321a05d403c960e0473f5cf8d6c58ef2e45be14bbaf · tag readystack/kubernetesnode:v1.36.6-CE-scratch-r1) [deliverables/provenance/PROMOTION_RECORD.json, promoted_at]
  • Archive manifests written2026-10-29T08:13:30Z [PUBLISH_MANIFEST.json, published_at]
  • Archive cut over on prodasset, package_archive passed2026-10-29T08:18:34Z [stage_runs, stage_runs chain 778 stage package_archive]
  • Cut-over markerpresent (chain 778) [.cutover.json]
  • Release checklist and site event2026-10-29T08:18:33Z (status complete · site event 264 · steps grade a verified done · release tag promoted done · cosign signed done · release evidence recorded done · contract gate passed done · archive published done · hub readme live done · reproducibility recorded done · defects ledger published done · catalog available done · build request fulfilled done · seo regenerated skipped · site catalogue refreshed done · site grade recorded done · site queue synced done · customer requests charged done · owners notified done) [deliverables/provenance/RELEASE_CHECKLIST.json, run_at]

Packages and CPU level

Fully recorded
  • Packages in the image832 (scanned 2026-11-02T06:30:04Z · source backfill:daily-scan) [release_images, package_count]
  • x86-64 level the image needsv1 (used v4 · baseline v2 · elf files 26 · probed 2026-11-02T17:05:34Z · source backfill) [release_images, isa_level_hard]

History

1 event
  • 2026-11-02T23:33:35Z generated: by KitForge release/build_trail.py · generator commit 916780cc218cf013bd623a8c085aaf73d3b053d0 · note backfill: built after the release from its records

Records

26 records
RecordWhere it isRows
docs/defects/defects.jsoninside the archive (ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.tar.gz)—
docs/provenance/IMAGE_EVIDENCE.jsoninside the archive (ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.tar.gz)—
docs/provenance/LOCKED_DIGEST.txtinside the archive (ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.tar.gz)—
docs/provenance/REPRO_VERIFICATION.jsoninside the archive (ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.tar.gz)—
docs/provenance/SOURCE_TREE_HASH.jsoninside the archive (ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.tar.gz)—
.cutover.jsonbeside the archive (prodasset /data/production/kubernetesnode/v1.36.6-CE-scratch-r1/)—
MANIFEST.jsonbeside the archive (prodasset /data/production/kubernetesnode/v1.36.6-CE-scratch-r1/)—
PUBLISH_MANIFEST.jsonbeside the archive (prodasset /data/production/kubernetesnode/v1.36.6-CE-scratch-r1/)—
ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.rebuild.jsonbeside the archive (prodasset /data/production/kubernetesnode/v1.36.6-CE-scratch-r1/)—
ReadyStack-kubernetesnode-v1.36.6-CE-scratch-r1.rebuild.json.sigstorebeside the archive (prodasset /data/production/kubernetesnode/v1.36.6-CE-scratch-r1/)—
SCOUT_EVIDENCE.jsonbeside the archive (prodasset /data/production/kubernetesnode/v1.36.6-CE-scratch-r1/)—
clean-room rebuild ledgerthe clean-room rebuild ledger (runstate/audit-2026-09/bit4bit.json, not published)—
build_requestssadb, ReadyStack's engine database (not published)451
chainssadb, ReadyStack's engine database (not published)778
defectssadb, ReadyStack's engine database (not published)kubernetesnode v1.36.6-CE-scratch-r1
drive_runssadb, ReadyStack's engine database (not published)chain 778
held_roundssadb, ReadyStack's engine database (not published)chain 778
image_scanssadb, ReadyStack's engine database (not published)1540
micro_step_runssadb, ReadyStack's engine database (not published)chain 778
release_imagessadb, ReadyStack's engine database (not published)kubernetesnode v1.36.6-CE-scratch-r1
review_overridessadb, ReadyStack's engine database (not published)9
stage_eventssadb, ReadyStack's engine database (not published)chain 778
stage_runssadb, ReadyStack's engine database (not published)chain 778
attestations.jsonthe chain's workspace on the controller (not published)—
deliverables/provenance/PROMOTION_RECORD.jsonthe chain's workspace on the controller (not published)—
deliverables/provenance/RELEASE_CHECKLIST.jsonthe chain's workspace on the controller (not published)—