Home Assistant 2026.11.1-CE-ubuntu24.04-r1 build trail

How ReadyStack built readystack/homeassistant:2026.11.1-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/homeassistant:2026.11.1-CE-ubuntu24.04-r1
  • Index digestsha256:b5627e66e2aadf8bd21c4ba09817b5f188f215e05f8d0a951c8e1d92622c9ccc
  • linux/amd64 digestsha256:fc4480d1f0fc9535f5fc62097c065eaffbfaa271b0c535b0f32e824ccf51ecb9
  • ArchiveReadyStack-homeassistant-2026.11.1-CE-ubuntu24.04-r1.tar.gz
  • Archive SHA-256 now260a771d819271331dd72137f2e1159209472e300e5c4d728f1ad8bff28d2dbf
  • Pins recorddocs/PINS.md, docs/provenance/PINS.json in the archive (since generated)
  • Generated2026-11-11T06:13:41Z 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-homeassistant-2026.11.1-CE-ubuntu24.04-r1.trail.json.sigstore ReadyStack-homeassistant-2026.11.1-CE-ubuntu24.04-r1.trail.json

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

Identity

Fully recorded
  • ProductHome Assistant (homeassistant) [MANIFEST.json]
  • Release tag2026.11.1-CE-ubuntu24.04-r1 [MANIFEST.json]
  • Imagereadystack/homeassistant:2026.11.1-CE-ubuntu24.04-r1 [MANIFEST.json]
  • Image index digestsha256:b5627e66e2aadf8bd21c4ba09817b5f188f215e05f8d0a951c8e1d92622c9ccc [docs/provenance/LOCKED_DIGEST.txt]
  • linux/amd64 image digestsha256:fc4480d1f0fc9535f5fc62097c065eaffbfaa271b0c535b0f32e824ccf51ecb9 [ReadyStack-homeassistant-2026.11.1-CE-ubuntu24.04-r1.rebuild.json, subject.image_manifest_digest]
  • ArchiveReadyStack-homeassistant-2026.11.1-CE-ubuntu24.04-r1.tar.gz (bytes 729784133) [MANIFEST.json]
  • Archive sha256 at publish2480b5d08765e025221ceb0619739513efb5ec96be36c0c9af07d7956e9ca618 [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/home-assistant/core [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream ref2026.11.1 [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream commitd8a0dc698c8946b44e455d904000db563cfbf1ba [docs/provenance/SOURCE_TREE_HASH.json]
  • Source tree hashfbef0052e65c2f89d7d8841fce466d1a59d7ce9a69f5dc6870d1836999529afa (files 30208) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
  • Kit tree hashsha256:8ace0762bf12767c308118b63fc67d70dfcb280e9bdaefb74bb9da325a70e9be [ReadyStack-homeassistant-2026.11.1-CE-ubuntu24.04-r1.rebuild.json, inputs.tree_hash]
  • SOURCE_DATE_EPOCH1794294150 (utc 2026-11-10T07:02:30Z) [ReadyStack-homeassistant-2026.11.1-CE-ubuntu24.04-r1.rebuild.json, inputs.source_date_epoch]
  • Base images
    • ref ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852 · platform digest sha256:78d4744ead1f5b19b04d0df558ab182a5300903900755e515b2ca4d10eb2044d
    [ReadyStack-homeassistant-2026.11.1-CE-ubuntu24.04-r1.rebuild.json, bases]
  • BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-homeassistant-2026.11.1-CE-ubuntu24.04-r1.rebuild.json, engine]
  • Engine commit(s)
    • commit 8f330f31aa066ed1381d543d473df5415ecba80a · dirty yes · first drive 4171
    • commit fe86dcda396aa0c1d90aeae422eec76ef93e5c80 · dirty yes · first drive 4208
    • commit 71d02fc0c22809ef2782acabd88e5160257646ea · dirty yes · first drive 4250
    • commit bccb9b96b7ab0eaa162fc6d62e6bf1c56b1840a1 · dirty yes · first drive 4263
    [drive_runs, engine_sha]

Why this release exists

Fully recorded
  • Chain955 (created 2026-11-10T08:58:36Z · trigger customer_request · upstream version 2026.11.1) [chains, chains #955]
  • Requestbuild request #632 (rebuild) (requested at 2026-11-10T07:02:37Z · requested by kitforge-agent · version 2026.11.1) [build_requests, build_requests #632]
  • Reasonretarget to 2026.11.1: a newer upstream release (rule 1) [build_requests, build_requests #632 request_reason]
  • Supersedesreadystack/homeassistant:2026.11.0-CE-ubuntu24.04-r1 (chain 895) [chains, chains #895]

The path through the harness

Fully recorded

1 chain · 6 drives · 18 stages · 2 rewinds

Chain 955 release · ready_to_ship

Created 2026-11-10T08:58:36Z, upstream 2026.11.1, build request 632 [chains, chains #955]

DriveStartedMinutesBuild hostHow it stopped
41712026-11-10T08:59:12Z4.4build host 2 withhold-publish stage_failed at assemble_kit; first failed check exists:first_build_digest; 4 ticks [drive_runs, drive_runs #4171]
41722026-11-10T09:05:07Z6.1build host 2 withhold-publish stage_failed at assemble_kit; first failed check exists:first_build_digest; 1 tick [drive_runs, drive_runs #4172]
42082026-11-10T22:59:03Z3.3build host 2 withhold-publish stage_failed at assemble_kit; first failed check exists:first_build_digest; 1 tick [drive_runs, drive_runs #4208]
42502026-11-11T03:44:53Z63.3build host 2 withhold-publish ready_to_ship at package_archive; 16 ticks [drive_runs, drive_runs #4250]
42632026-11-11T05:40:09Z12.3build host 2 withhold-publish ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #4263]
42642026-11-11T06:00:01Z—build host 2 publish-held not recorded [drive_runs, drive_runs #4264]

Stages, in order

StageFirst startPassedAttemptsGate checks passedArtifacts (SHA-256)
intake 2026-11-10T08:59:23Z2026-11-10T08:59:23Z1
4
  • exists:order_json
  • order_json:json_parses
  • order_json:no_forbidden_placeholders
  • produces_paths_exist
order_json 4abd7b7da5f6…
acquire 2026-11-10T08:59:39Z2026-11-10T08:59:42Z1
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 dd89f9af2959…
license_file c71d239df917…
custody_inputs f451aac968e6…
source_tree_hash 0b0990785b2b…
source_file_manifest d5c3276c6e52…
plan 2026-11-10T09:00:29Z2026-11-10T09:00:29Z1
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 b78ce56bb408…
input_pin_plan df5ddf4bf111…
toolchain_lock ab7f08e31993…
assemble_kit 2026-11-10T09:03:36Z2026-11-11T04:00:45Z4
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 5af902448fc9…
build_recipe 74d5157029c7…
system_pinning 53a8ed1eb1d1…
build_offline_sh 6633aa31b6b4…
generate_sbom_sh ce0f1e6f1e70…
first_boot_health 3c852c1fb52c…
verify_offline_sh 3e8184ea230c…
base_image_digests c3d6a7ac1257…
dockerfile_offline 5af902448fc9…
first_build_digest 9b75ebff43c8…
remediate 2026-11-11T04:01:37Z2026-11-11T04:01:38Z1
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 22849e33cbe6…
security_report 508f26827b33…
build_kit 2026-11-11T04:20:42Z2026-11-11T04:20:42Z1
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 77565f666587…
locked_digest 07362c60e97a…
freeze_manifest dd42e2dd8258…
offline_rebuild_transcript 672db18c7c1e…
verdict 2026-11-11T04:25:27Z2026-11-11T04:25:28Z1
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 0d6421455cf8…
publish_image 2026-11-11T04:27:23Z2026-11-11T04:27:23Z1
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 1b32bd43225d…
promotion_record 82400f83b6b3…
boot_instance 2026-11-11T04:27:41Z2026-11-11T04:27:44Z2
3
  • exists:instance_handle
  • instance_handle:json_parses
  • produces_paths_exist
instance_handle 0f97d50bcc9a…
sbom 2026-11-11T04:28:35Z2026-11-11T04:28:36Z1
5
  • exists:sbom_json
  • exists:sbom_md
  • sbom_json:json_parses
  • sbom_md:md_min_sections:1
  • produces_paths_exist
sbom_md 7905084df672…
sbom_json 329ceb86cf9d…
schema_discovery 2026-11-11T04:28:42Z2026-11-11T04:28:43Z1
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 5cc3eb0465f2…
dependency_tree 91f0a7ca88a5…
table_classification f5d77a8a38dd…
admin_handbook 2026-11-11T04:28:53Z2026-11-11T04:28:54Z1
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 0202ca54f70c…
admin_handbook 47c19bc132bb…
db_handbook 2026-11-11T04:29:05Z2026-11-11T04:29:06Z1
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 262cc0d10caf…
seed_isolation 134d59fa13c5…
seed_data 2026-11-11T04:29:13Z2026-11-11T04:29:14Z1
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 c809a1d5c2f6…
seed_cases_json 427e0f03adda…
seed_validate 2026-11-11T04:29:17Z2026-11-11T04:29:18Z1
3
  • exists:seed_data_contract
  • seed_data_contract:json_parses
  • produces_paths_exist
seed_data_contract f05c90cd946c…
usecase_validate 2026-11-11T04:29:37Z2026-11-11T04:29:38Z1
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 dfef46305e4f…
test_results 321db5e2188b…
usecase_contract bb3f2dd7a8da…
finalize_docs 2026-11-11T04:29:43Z2026-11-11T04:29:44Z1
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 e7bc2493c7a1…
release_notes cb1f52b658d2…
api_integration_guide 49bd2ebc24e9…
package_archive invalidated 2026-11-11T05:59:36Z 2026-11-11T04:48:08Z2026-11-11T05:52:25Z2
35 (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 scout_grade_a
  • G8 script_copies
  • G8 offline_rebuild
  • G8 rebuild_manifest
  • G8 artifact_coverage
  • G8 trademark_shipped
  • G8 assetchain_coverage
sale_tar c119dc07c9cd…
checksums e4d5f105e623…
verify_md 7b2e1ce02a47…
rebuild_md f59da2cdbcd6…
manifest_txt cc0b70fb8c30…
actions_jsonl 5b6fc7b57a97…
provenance_md f44de7497880…
assetchain_log_md e9eccaec0c0f…
assetchain_log_json 8f7e150ec352…

[stage_runs]

Rewinds

  • 2026-11-11T05:17:29Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #31238]
  • 2026-11-11T05:59:36Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #31259]

Model work per stage

Fully recorded

Role: writer model. Calls up to 2026-11-11T05:52:25Z.

5 calls over 3 stages

StageCallsRefusedErrorsMax attemptForced commitsReal tokensLesson rules shown
plan2001 010617 —
remediate2001 013439 L-A08, L-038, L-036, L-034, L-032
usecase_validate1001 01628 —

[micro_step_runs] [lesson_recalls]

Review

Fully recorded

Role: review model.

2 rounds, 2 counted, $0.83 recorded cost

RoundStartedCriticalMajorMinorVerdictCostCap in forceArchive reviewed
12026-11-11T04:50:43Z 052 findings to repackage [held_rounds, held_rounds #1735] $0.49 3 rounds, $40.00 b123c5498a53…
22026-11-11T05:53:06Z 000 clean to publish [held_rounds, held_rounds #1737] $0.34 3 rounds, $40.00 c119dc07c9cd…

Defects

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

12 ledger entries: by severity low 7, high 5; by status open 2, fixed-before-release 7, fixed-in-release 3.

DefectSeverityStatusFound byFixed in
RSD-homeassistant-d8538efec6
Docker Hub README: Free-download claim contradicts the manifest price. [defects, defects #245237]
lowopenheld review (review model)—
RSD-homeassistant-31938f6deb
Docker Hub README: README says the kit is free; the manifest prices it at 1000 cents. [defects, defects #245238]
lowopenheld review (review model)—
RSD-homeassistant-2c9bf31651
API guide: Image measured: importlib.metadata home-assistant-frontend 20261028.5 (held-run 001); provenance/BUILD_RECIPE.json:19 and PINS.json:84 pin 20261028.5. [defects, defects #246283]
highfixed-before-releaseheld review (review model)—
RSD-homeassistant-8c1e8092fd
Admin handbook: Image measured: importlib.metadata home-assistant-frontend 20261028.5 (held-run 001); provenance/BUILD_RECIPE.json:19 and PINS.json:84 pin 20261028.5. [defects, defects #246284]
highfixed-before-releaseheld review (review model)—
RSD-homeassistant-8b5d4f171d
Admin handbook: Image measured: importlib.metadata home-assistant-frontend 20261028.5 (held-run 001); provenance/BUILD_RECIPE.json:19 and PINS.json:84 pin 20261028.5. [defects, defects #246285]
highfixed-before-releaseheld review (review model)—
RSD-homeassistant-8c379226c3
Database handbook: Image measured: importlib.metadata home-assistant-frontend 20261028.5 (held-run 001); provenance/BUILD_RECIPE.json:19 and PINS.json:84 pin 20261028.5. [defects, defects #246286]
highfixed-before-releaseheld review (review model)—
RSD-homeassistant-b2e07e89de
Database handbook: Image measured: importlib.metadata home-assistant-frontend 20261028.5 (held-run 001); provenance/BUILD_RECIPE.json:19 and PINS.json:84 pin 20261028.5. [defects, defects #246287]
highfixed-before-releaseheld review (review model)—
RSD-homeassistant-09e0067139
API guide: Image runs homeassistant 2026.11.1 (held-run 001); the example version is the superseded line's. [defects, defects #246288]
lowfixed-before-releaseheld review (review model)—
RSD-homeassistant-02f6ea9abd
Admin handbook: This release is 2026.11.1; 2026.11.0 is the unpublished predecessor. [defects, defects #246289]
lowfixed-before-releaseheld review (review model)—
RSD-homeassistant-60b28bb19a
Admin handbook: Same single-message claim as the release notes; the file named depends on the directory mode. [defects, defects #248592]
lowfixed-in-releaseheld review (review model)2026.11.1-CE-ubuntu24.04-r1
RSD-homeassistant-7b08ced1a5
API guide: The WebSocket auth step is said to require a long-lived token, but any valid access token is accepted and the next paragraphs say a short-lived token is used to request the long-lived one. [defects, defects #248593]
lowfixed-in-releaseheld review (review model)2026.11.1-CE-ubuntu24.04-r1
RSD-homeassistant-f04a6bd308
Release notes: The exact error text is stated as always .ha_run.lock; on a root-owned 750 /config it is .HA_RESTORE. [defects, defects #248594]
lowfixed-in-releaseheld review (review model)2026.11.1-CE-ubuntu24.04-r1

Verification

1 item not recorded
  • Reproduced before publishingyes (rebuilt digest sha256:fc4480d1f0fc9535f5fc62097c065eaffbfaa271b0c535b0f32e824ccf51ecb9 · published digest sha256:fc4480d1f0fc9535f5fc62097c065eaffbfaa271b0c535b0f32e824ccf51ecb9 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 469) [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, 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-11T06:01:54Z · failing Docker Scout counts 207 packages with copyleft licences (GPL, LGPL, MPL), 203 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-11T06:00:11Z) [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 3804146240 · transparency-log entry · integrated 2026-11-11T06:12:09Z) [ReadyStack-homeassistant-2026.11.1-CE-ubuntu24.04-r1.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
  • Signed attestations
    • kind provenance · digest sha256:b5627e66e2aadf8bd21c4ba09817b5f188f215e05f8d0a951c8e1d92622c9ccc · state attached · log index 3804148673 · transparency-log entry
    • kind sbom · digest sha256:b5627e66e2aadf8bd21c4ba09817b5f188f215e05f8d0a951c8e1d92622c9ccc · state attached · log index 3804149678 · transparency-log entry
    • kind vsa · digest sha256:b5627e66e2aadf8bd21c4ba09817b5f188f215e05f8d0a951c8e1d92622c9ccc · state attached · log index 3804150580 · transparency-log entry
    • kind provenance · digest sha256:fc4480d1f0fc9535f5fc62097c065eaffbfaa271b0c535b0f32e824ccf51ecb9 · state attached · log index 3804151273 · transparency-log entry
    • kind sbom · digest sha256:fc4480d1f0fc9535f5fc62097c065eaffbfaa271b0c535b0f32e824ccf51ecb9 · state attached · log index 3804152669 · transparency-log entry
    • kind vsa · digest sha256:fc4480d1f0fc9535f5fc62097c065eaffbfaa271b0c535b0f32e824ccf51ecb9 · state attached · log index 3804154055 · transparency-log entry
    (at 2026-11-11T06:12:10Z) [attestations.json, results]
  • Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/homeassistant/recipe) [docs/provenance/PINS.json]

Offline clean-room rebuilds

  • 2026-11-11T04:50:49Z on build host 3 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
    rebuilt sha256:fc4480d1f0fc9535f5fc62097c065eaffbfaa271b0c535b0f32e824ccf51ecb9 [clean-room rebuild ledger, runs[742]]
  • 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-11T04:27:23Z [stage_runs, stage_runs chain 955 stage publish_image]
  • Archive manifests written2026-11-11T06:05:35Z [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 1185 · probed 2026-11-11T04:12:38Z · source build_kit) [release_images, isa_level_hard]

History

3 events
  • 2026-11-11T06:13:41Z generated: by KitForge release/build_trail.py · generator commit e32f755506839e1e8665016830ccd4c597d4312b
  • 2026-11-11T06:16:41Z publication: promoted at 2026-11-11T06:14:17Z · promoted digest sha256:b5627e66e2aadf8bd21c4ba09817b5f188f215e05f8d0a951c8e1d92622c9ccc · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 467 · checklist status complete · checklist at 2026-11-11T06:16:41Z · record workspace: deliverables/provenance/PROMOTION_RECORD.json, RELEASE_CHECKLIST.json
  • 2026-11-12T00:59:21Z repack: previous sha256 2480b5d08765e025221ceb0619739513efb5ec96be36c0c9af07d7956e9ca618 · sha256 260a771d819271331dd72137f2e1159209472e300e5c4d728f1ad8bff28d2dbf · reason customer kit files brought up to the current engine: BUILD_OFFLINE.sh (kit root, docs/offline, docs/docker); README.md and FILE_MODES.tsv at the archive root (release/kit_unpack.py), BUILD_OFFLINE.sh putting back the packed file modes, REBUILD.md unpacking with -p and keeping the key and signature outside the kit, and the verifier naming what differs; not image inputs; image and every build input unchanged · label kitfix · replaced BUILD_OFFLINE.sh, docs/REBUILD.md, docs/docker/BUILD_OFFLINE.sh, docs/offline/BUILD_OFFLINE.sh, docs/rebuild-bundle/rebuild_bundle.py · added FILE_MODES.tsv, README.md · record MANIFEST.json repack_history

Records

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