changedetection.io 0.60.10-CE-ubuntu24.04-r4 build trail
How ReadyStack built readystack/changedetection:0.60.10-CE-ubuntu24.04-r4 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/changedetection:0.60.10-CE-ubuntu24.04-r4 - Index digestsha256:160de45171b63f2e5767414b4d091a5a429baa254d7f71a11529840501daec84
- linux/amd64 digestsha256:80986cda5f75525a35c52692fa96ac8a923f3dfea2187ea0a8b8212d9dbbd825
- Archive
ReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.tar.gz - Archive SHA-256 now8bdf82edf8cdb5a32224fc010e2090a84d22b2d81d27f6b5ef3c65bd761a9a89
- Pins record
docs/PINS.md,docs/provenance/PINS.jsonin the archive (since generated) - Generated2026-11-13T17:26:28Z 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-changedetection-0.60.10-CE-ubuntu24.04-r4.trail.json.sigstore ReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.trail.json
IdentityWhy this release existsThe path through the harnessModel work per stageReviewDefectsVerificationPublicationPackages and CPU level
Identity
Fully recorded- Productchangedetection.io (changedetection) [MANIFEST.json]
- Release tag0.60.10-CE-ubuntu24.04-r4 [MANIFEST.json]
- Imagereadystack/changedetection:0.60.10-CE-ubuntu24.04-r4 [MANIFEST.json]
- Image index digestsha256:160de45171b63f2e5767414b4d091a5a429baa254d7f71a11529840501daec84 [docs/provenance/LOCKED_DIGEST.txt]
- linux/amd64 image digestsha256:80986cda5f75525a35c52692fa96ac8a923f3dfea2187ea0a8b8212d9dbbd825 [ReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.rebuild.json, subject.image_manifest_digest]
- ArchiveReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.tar.gz (bytes 436058419) [MANIFEST.json]
- Archive sha256 at publish8bdf82edf8cdb5a32224fc010e2090a84d22b2d81d27f6b5ef3c65bd761a9a89 [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/dgtlmoon/changedetection.io [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream ref0.60.10 [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream commit16974bf351cd68b1978af9494082b75efadaa8e0 [docs/provenance/SOURCE_TREE_HASH.json]
- Source tree hashf45413f0584911392b7aae2cff7d933ce697c000566cabb4b87d72192731af38 (files 1175) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
- Kit tree hashsha256:15171d329d32439375c6bfc4ab0a6081fe2f253212693a6351db93f83d752e58 [ReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.rebuild.json, inputs.tree_hash]
- SOURCE_DATE_EPOCH1794578598 (utc 2026-11-13T14:03:18Z) [ReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.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-changedetection-0.60.10-CE-ubuntu24.04-r4.rebuild.json, engine]
- Engine commit(s)
- commit 073535c62a45bea8f3f14b90d7062837d7d2da35 · dirty yes · first drive 4620
- commit 1f57518c1e119546b8c0a074f3e484d7bf2f3b33 · dirty yes · first drive 4627
Why this release exists
Fully recorded- Chain1092 (created 2026-11-13T16:28:49Z · trigger customer_request · upstream version 0.60.10) [chains, chains #1092]
- Requestbuild request #768 (rebuild) (requested at 2026-11-13T14:03:21Z · requested by kitforge-agent · version 0.60.10) [build_requests, build_requests #768]
- Reasonrerelease agenda REVISION -> 0.60.10-CE-ubuntu24.04-r4 (decay loop, IMP-08) [build_requests, build_requests #768 request_reason]
- Supersedesreadystack/changedetection:0.60.10-CE-ubuntu24.04-r3 (chain 1024) [chains, chains #1024]
The path through the harness
Fully recorded1 chain · 2 drives · 18 stages · 1 rewind
Chain 1092 release · ready_to_ship
Created 2026-11-13T16:28:49Z, upstream 0.60.10, build request 768 [chains, chains #1092]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 4620 | 2026-11-13T16:29:15Z | 36.9 | build host 1 withhold-publish | ready_to_ship at package_archive; 19 ticks [drive_runs, drive_runs #4620] |
| 4627 | 2026-11-13T17:19:02Z | — | build host 1 publish-held | not recorded [drive_runs, drive_runs #4627] |
Stages, in order
| Stage | First start | Passed | Attempts | Gate checks passed | Artifacts (SHA-256) |
|---|---|---|---|---|---|
intake |
2026-11-13T16:29:25Z | 2026-11-13T16:29:26Z | 1 | 4
|
order_json b888f254c09b… |
acquire |
2026-11-13T16:29:31Z | 2026-11-13T16:29:31Z | 1 | 12
|
source_tree 948a9b3a0b78…license_file 94819497b44f…custody_inputs c20683d1e565…source_tree_hash 7be1943bfc38…source_file_manifest 6e916fd916bc… |
plan |
2026-11-13T16:29:58Z | 2026-11-13T16:29:58Z | 1 | 10
|
recon_report fc73247631ef…input_pin_plan 5131e103eca6…toolchain_lock 714c8645bc84… |
assemble_kit |
2026-11-13T16:39:35Z | 2026-11-13T16:39:36Z | 1 | 27
|
dockerfile ce63bc9cbfa3…build_recipe 28488d7654b5…system_pinning 5c8a2c451455…build_offline_sh 6ab4f08a6ec7…generate_sbom_sh ce0f1e6f1e70…first_boot_health 97a2ce2a3cfe…verify_offline_sh 3e8184ea230c…base_image_digests 0a5c9a05a950…dockerfile_offline ce63bc9cbfa3…first_build_digest fb5edf53af78… |
remediate |
2026-11-13T16:40:05Z | 2026-11-13T16:40:06Z | 1 | 8
|
vendored_apt e3b0c44298fc…remediation_log d31f65f77e74…security_report ab804b92eada… |
build_kit |
2026-11-13T16:50:45Z | 2026-11-13T16:50:46Z | 1 | 9
|
cosign_stamp 37b639fd7f6f…locked_digest ad88508fd37a…freeze_manifest 3c0d00485014…offline_rebuild_transcript 8524d7482df7… |
verdict |
2026-11-13T16:53:20Z | 2026-11-13T16:53:21Z | 1 | 8
|
scout_verdict 6bc7836687e0… |
publish_image |
2026-11-13T16:54:32Z | 2026-11-13T16:54:32Z | 1 | 7
|
hub_readme b345c47cd49b…promotion_record 8ac4bd00b665… |
boot_instance |
2026-11-13T16:54:44Z | 2026-11-13T16:54:48Z | 2 | 3
|
instance_handle 797a76d3e059… |
sbom |
2026-11-13T16:55:17Z | 2026-11-13T16:55:17Z | 1 | 5
|
sbom_md 04679e9099e8…sbom_json afebd4159f15… |
schema_discovery |
2026-11-13T16:55:20Z | 2026-11-13T16:55:21Z | 1 | 7
|
schema_hash fa672ec95cc1…dependency_tree 7d1216fd66fa…table_classification 9bf4cfc2104b… |
admin_handbook |
2026-11-13T16:55:28Z | 2026-11-13T16:55:29Z | 1 | 7
|
api_map d7c0e1a3fd57…admin_handbook 52dcc5b14edb… |
db_handbook |
2026-11-13T16:55:38Z | 2026-11-13T16:55:39Z | 1 | 8
|
db_handbook ca85798204e3…seed_isolation e3137cd57d42… |
seed_data |
2026-11-13T16:55:44Z | 2026-11-13T16:55:45Z | 1 | 6
|
seed_data_sql 0d95f40a2a91…seed_cases_json d2cceb514bce… |
seed_validate |
2026-11-13T16:55:48Z | 2026-11-13T16:55:49Z | 1 | 3
|
seed_data_contract 256c53da4b34… |
usecase_validate |
2026-11-13T16:56:07Z | 2026-11-13T16:56:08Z | 1 | 10
|
failed_tests b2247b16f5f7…passed_tests 8fe46c9a174f…test_results 77e2bdb7d81a…usecase_contract 6c0b4468567a… |
finalize_docs |
2026-11-13T16:56:12Z | 2026-11-13T16:56:13Z | 1 | 9
|
defects_json 4a2b8d54cf1a…release_notes 94a75b2eaf95…api_integration_guide 5a5dba590a38… |
package_archive invalidated 2026-11-13T17:18:38Z |
2026-11-13T17:06:05Z | 2026-11-13T17:06:07Z | 1 | 37 (final gate PASS)
|
sale_tar f0d6e4be73ea…checksums 701ffccaa979…verify_md 830c7b727bc4…rebuild_md aba77333b1e3…manifest_txt d58527a936bf…actions_jsonl 3668df52eae7…provenance_md 81cc1819ad1a…assetchain_log_md e9eccaec0c0f…assetchain_log_json 27e974f9cf9d… |
[stage_runs]
Rewinds
- 2026-11-13T17:18:38Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #36827]
Model work per stage
Fully recordedRole: writer model. Calls up to 2026-11-13T17:06:07Z.
5 calls over 3 stages
| Stage | Calls | Refused | Errors | Max attempt | Forced commits | Real tokens | Lesson rules shown |
|---|---|---|---|---|---|---|---|
plan | 2 | 0 | 0 | 1 | 0 | 7725 | L-A183, L-A15 |
remediate | 2 | 0 | 0 | 1 | 0 | 8378 | L-A183, L-A15 |
usecase_validate | 1 | 0 | 0 | 1 | 0 | 1907 | L-A59 |
[micro_step_runs] [lesson_recalls]
Review
Fully recordedRole: review model.
1 round, 1 counted, $0.31 recorded cost
| Round | Started | Critical | Major | Minor | Verdict | Cost | Cap in force | Archive reviewed |
|---|---|---|---|---|---|---|---|---|
| 1 | 2026-11-13T17:06:45Z | 0 | 0 | 0 | clean to publish [held_rounds, held_rounds #1901] | $0.31 | 3 rounds, $40.00 | f0d6e4be73ea… |
Defects
Fully recorded- Ledger entries3 [defects, defects where product_slug=changedetection and this tag or chain]
- Disclosed in the archive3 [docs/defects/defects.json, entries]
3 ledger entries: by severity high 1, low 2; by status open 3.
| Defect | Severity | Status | Found by | Fixed in |
|---|---|---|---|---|
RSD-changedetection-a105684e49Unauthenticated access by default [defects, defects #286599] | high | open | build strategy record | — |
RSD-changedetection-d949c693b6The Fetch Method choice offers WebDriver Chrome/Javascript, but the image lacks the Python imaging library (PIL) that fetcher needs: a watch set to it fails every check with `No module named 'PIL'` [defects, defects #286600] | low | open | held review (review model) | — |
RSD-changedetection-61f176a97dThe image sets LC_ALL=en_US.UTF-8 but contains no en_US.UTF-8 locale (only C, C.utf8 and POSIX), so the setting has no effect and every start logs a locale warning [defects, defects #286601] | low | open | held review (review model) | — |
Verification
1 item not recorded- Reproduced before publishingyes (rebuilt digest sha256:80986cda5f75525a35c52692fa96ac8a923f3dfea2187ea0a8b8212d9dbbd825 · published digest sha256:80986cda5f75525a35c52692fa96ac8a923f3dfea2187ea0a8b8212d9dbbd825 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 271) [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-13T17:19:48Z · failing Docker Scout counts 120 packages with copyleft licences (EPL, GPL, LGPL, MPL), 116 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-13T17:19:12Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
- Image signature transparency-log entries
- log index 3858307853 · transparency-log entry
- log index 3858309033 · transparency-log entry
- rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3858825972 · transparency-log entry · integrated 2026-11-13T17:25:00Z) [ReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
- Signed attestations
- kind provenance · digest sha256:160de45171b63f2e5767414b4d091a5a429baa254d7f71a11529840501daec84 · state attached · log index 3858827712 · transparency-log entry
- kind sbom · digest sha256:160de45171b63f2e5767414b4d091a5a429baa254d7f71a11529840501daec84 · state attached · log index 3858829478 · transparency-log entry
- kind vsa · digest sha256:160de45171b63f2e5767414b4d091a5a429baa254d7f71a11529840501daec84 · state attached · log index 3858830795 · transparency-log entry
- kind provenance · digest sha256:80986cda5f75525a35c52692fa96ac8a923f3dfea2187ea0a8b8212d9dbbd825 · state attached · log index 3858832075 · transparency-log entry
- kind sbom · digest sha256:80986cda5f75525a35c52692fa96ac8a923f3dfea2187ea0a8b8212d9dbbd825 · state attached · log index 3858833323 · transparency-log entry
- kind vsa · digest sha256:80986cda5f75525a35c52692fa96ac8a923f3dfea2187ea0a8b8212d9dbbd825 · state attached · log index 3858834792 · transparency-log entry
- Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/changedetection/recipe) [docs/provenance/PINS.json]
Offline clean-room rebuilds
- 2026-11-13T17:06:50Z on build host 1 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
rebuilt sha256:80986cda5f75525a35c52692fa96ac8a923f3dfea2187ea0a8b8212d9dbbd825 [clean-room rebuild ledger, runs[850]]
- 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-13T16:54:32Z [stage_runs, stage_runs chain 1092 stage publish_image]
- Archive manifests written2026-11-13T17:21:43Z [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 993 · probed 2026-11-13T16:45:58Z · source build_kit) [release_images, isa_level_hard]
History
2 events- 2026-11-13T17:26:28Z generated: by KitForge release/build_trail.py · generator commit 7fdf9096d56f34040c780be3745f50315b7188f1
- 2026-11-13T17:28:27Z publication: promoted at 2026-11-13T17:27:06Z · promoted digest sha256:160de45171b63f2e5767414b4d091a5a429baa254d7f71a11529840501daec84 · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 559 · checklist status complete · checklist at 2026-11-13T17:28:27Z · 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-changedetection-0.60.10-CE-ubuntu24.04-r4.tar.gz) | — |
docs/provenance/IMAGE_EVIDENCE.json | inside the archive (ReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.tar.gz) | — |
docs/provenance/LOCKED_DIGEST.txt | inside the archive (ReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.tar.gz) | — |
docs/provenance/PINS.json | inside the archive (ReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.tar.gz) | — |
docs/provenance/REPRO_VERIFICATION.json | inside the archive (ReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.tar.gz) | — |
docs/provenance/SOURCE_TREE_HASH.json | inside the archive (ReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.tar.gz) | — |
MANIFEST.json | beside the archive (prodasset /data/production/changedetection/0.60.10-CE-ubuntu24.04-r4/), as staged for publishing | — |
PUBLISH_MANIFEST.json | beside the archive (prodasset /data/production/changedetection/0.60.10-CE-ubuntu24.04-r4/), as staged for publishing | — |
ReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.rebuild.json | beside the archive (prodasset /data/production/changedetection/0.60.10-CE-ubuntu24.04-r4/), as staged for publishing | — |
ReadyStack-changedetection-0.60.10-CE-ubuntu24.04-r4.rebuild.json.sigstore | beside the archive (prodasset /data/production/changedetection/0.60.10-CE-ubuntu24.04-r4/), as staged for publishing | — |
SCOUT_EVIDENCE.json | beside the archive (prodasset /data/production/changedetection/0.60.10-CE-ubuntu24.04-r4/), 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) | 768 |
chains | sadb, ReadyStack's engine database (not published) | 1092 |
defects | sadb, ReadyStack's engine database (not published) | changedetection 0.60.10-CE-ubuntu24.04-r4 |
drive_runs | sadb, ReadyStack's engine database (not published) | chain 1092 |
held_rounds | sadb, ReadyStack's engine database (not published) | chain 1092 |
lesson_recalls | sadb, ReadyStack's engine database (not published) | chain 1092 |
micro_step_runs | sadb, ReadyStack's engine database (not published) | chain 1092 |
release_images | sadb, ReadyStack's engine database (not published) | changedetection 0.60.10-CE-ubuntu24.04-r4 |
stage_events | sadb, ReadyStack's engine database (not published) | chain 1092 |
stage_runs | sadb, ReadyStack's engine database (not published) | chain 1092 |
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) | — |