Miniflux 2.3.5-CE-ubuntu24.04-r3 build trail
How ReadyStack built readystack/miniflux:2.3.5-CE-ubuntu24.04-r3 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/miniflux:2.3.5-CE-ubuntu24.04-r3 - Index digestsha256:42c33e19d9b400bf2029996037db52d861a0262f3cdbcbed6604596d1216dc6a
- linux/amd64 digestsha256:46d8b08d0582b9a8b93001232f81eb63e32e42eb2a466fed1c00c1bb5ed69677
- Archive
ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.tar.gz - Archive SHA-256 nowd412d25b0de40a39f8b305517c2a37ed5a8f8c18b1e736f3438d221349f37d6b
- Pins record
docs/PINS.md,docs/provenance/PINS.jsonin the archive (since generated) - Generated2026-11-13T17:24:19Z 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-miniflux-2.3.5-CE-ubuntu24.04-r3.trail.json.sigstore ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.trail.json
IdentityWhy this release existsThe path through the harnessModel work per stageReviewDefectsVerificationPublicationPackages and CPU level
Identity
Fully recorded- ProductMiniflux (miniflux) [MANIFEST.json]
- Release tag2.3.5-CE-ubuntu24.04-r3 [MANIFEST.json]
- Imagereadystack/miniflux:2.3.5-CE-ubuntu24.04-r3 [MANIFEST.json]
- Image index digestsha256:42c33e19d9b400bf2029996037db52d861a0262f3cdbcbed6604596d1216dc6a [docs/provenance/LOCKED_DIGEST.txt]
- linux/amd64 image digestsha256:46d8b08d0582b9a8b93001232f81eb63e32e42eb2a466fed1c00c1bb5ed69677 [ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.rebuild.json, subject.image_manifest_digest]
- ArchiveReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.tar.gz (bytes 455654655) [MANIFEST.json]
- Archive sha256 at publishd412d25b0de40a39f8b305517c2a37ed5a8f8c18b1e736f3438d221349f37d6b [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/miniflux/v2 [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream ref2.3.5 [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream commitfaecfa2fac61a91f4f69550bb1afd506c4b51749 [docs/provenance/SOURCE_TREE_HASH.json]
- Source tree hash0f56ee14b8860f3a29387d4aba9e2a3bc569f003173c77f7f8a352760ea5be21 (files 676) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
- Kit tree hashsha256:5559b6ded279ad35fb8f7824e3df6c37e5df94548c9cb886048a46764f1637f4 [ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.rebuild.json, inputs.tree_hash]
- SOURCE_DATE_EPOCH1794578574 (utc 2026-11-13T14:02:54Z) [ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.rebuild.json, inputs.source_date_epoch]
- Base images
- ref golang:1.26.11-bookworm@sha256:dc40a13b61304647ed7e5d581d246b86413dfc29d63c6d018310feb93cd98fc0 · platform digest sha256:79ecd0a7157c7a4cf3b281ced8465350591bf54fedab540e75374a003e1fde7e
- ref ubuntu:24.04@sha256:2198e4c65076e9cb0b3d695219df667c0e3b0072da64ca3c2648aca17dcecaf5 · platform digest sha256:77eb101c607d6e3d4f5ad0c8a02c2136c689b98aba1f359e6502ba517e5c57ec
- BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.rebuild.json, engine]
- Engine commit(s)
- commit 073535c62a45bea8f3f14b90d7062837d7d2da35 · dirty yes · first drive 4615
- commit 1252a76ccb9fe0963d2efc0d07028de8176a15fe · dirty yes · first drive 4622
- commit 1f57518c1e119546b8c0a074f3e484d7bf2f3b33 · dirty yes · first drive 4628
Why this release exists
Fully recorded- Chain1089 (created 2026-11-13T16:12:36Z · trigger customer_request · upstream version 2.3.5) [chains, chains #1089]
- Requestbuild request #764 (rebuild) (requested at 2026-11-13T14:02:56Z · requested by kitforge-agent · version 2.3.5) [build_requests, build_requests #764]
- Reasonrerelease agenda REVISION -> 2.3.5-CE-ubuntu24.04-r3 (decay loop, IMP-08) [build_requests, build_requests #764 request_reason]
- Supersedesreadystack/miniflux:2.3.5-CE-ubuntu24.04-r2 (chain 1034) [chains, chains #1034]
The path through the harness
Fully recorded1 chain · 3 drives · 18 stages · 2 rewinds
Chain 1089 release · ready_to_ship
Created 2026-11-13T16:12:36Z, upstream 2.3.5, build request 764 [chains, chains #1089]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 4615 | 2026-11-13T16:12:56Z | 20.3 | build host 3 withhold-publish | ready_to_ship at package_archive; 19 ticks [drive_runs, drive_runs #4615] |
| 4622 | 2026-11-13T16:55:24Z | 2.5 | build host 3 withhold-publish | ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #4622] |
| 4628 | 2026-11-13T17:20:03Z | — | build host 3 publish-held | not recorded [drive_runs, drive_runs #4628] |
Stages, in order
| Stage | First start | Passed | Attempts | Gate checks passed | Artifacts (SHA-256) |
|---|---|---|---|---|---|
intake |
2026-11-13T16:13:07Z | 2026-11-13T16:13:08Z | 1 | 4
|
order_json 1a5ab8687133… |
acquire |
2026-11-13T16:13:12Z | 2026-11-13T16:13:12Z | 1 | 12
|
source_tree af131423f885…license_file 0d542e0c8804…custody_inputs c8589f4d4672…source_tree_hash 65e2fbe7c858…source_file_manifest 5ec9ee3c9352… |
plan |
2026-11-13T16:13:41Z | 2026-11-13T16:13:42Z | 1 | 10
|
recon_report d9328d7e363d…input_pin_plan 5f3cfa3ddbc2…toolchain_lock b2f00cbc6173… |
assemble_kit |
2026-11-13T16:15:24Z | 2026-11-13T16:15:24Z | 1 | 27
|
dockerfile fd2aa748b28e…build_recipe ffe7b6410c58…system_pinning aa8db05a9a8a…build_offline_sh 6ab4f08a6ec7…generate_sbom_sh ce0f1e6f1e70…first_boot_health 6c082bb61e66…verify_offline_sh 3e8184ea230c…base_image_digests 71074f5aeb8b…dockerfile_offline fd2aa748b28e…first_build_digest 10429df0893a… |
remediate |
2026-11-13T16:16:07Z | 2026-11-13T16:16:08Z | 1 | 8
|
vendored_apt e3b0c44298fc…remediation_log de26e31b3ea9…security_report 7390b36028b0… |
build_kit |
2026-11-13T16:18:37Z | 2026-11-13T16:18:38Z | 1 | 9
|
cosign_stamp 56d7db5696dc…locked_digest 3d2db480fc1a…freeze_manifest 3f49ec9e5112…offline_rebuild_transcript a4366265e904… |
verdict |
2026-11-13T16:19:04Z | 2026-11-13T16:19:05Z | 1 | 8
|
scout_verdict bbe6b980ec06… |
publish_image |
2026-11-13T16:19:34Z | 2026-11-13T16:19:35Z | 1 | 7
|
hub_readme f7d4613a1ea0…promotion_record 84bfaa0fbd8b… |
boot_instance |
2026-11-13T16:19:52Z | 2026-11-13T16:19:58Z | 2 | 3
|
instance_handle 7cea370f2cb6… |
sbom |
2026-11-13T16:20:05Z | 2026-11-13T16:20:05Z | 1 | 5
|
sbom_md 22002a37d018…sbom_json 0a73eab57493… |
schema_discovery |
2026-11-13T16:20:08Z | 2026-11-13T16:20:09Z | 1 | 7
|
schema_hash 7283d823815a…dependency_tree 1767cc681505…table_classification 0b2b4c7b9d07… |
admin_handbook |
2026-11-13T16:24:47Z | 2026-11-13T16:24:48Z | 1 | 7
|
api_map 370132cc6d2c…admin_handbook ab8155385d92… |
db_handbook |
2026-11-13T16:28:23Z | 2026-11-13T16:28:23Z | 1 | 8
|
db_handbook 2a6723567aab…seed_isolation cd95abca06c2… |
seed_data |
2026-11-13T16:28:36Z | 2026-11-13T16:28:37Z | 1 | 6
|
seed_data_sql df3393caf6cf…seed_cases_json 11e2a207a5bb… |
seed_validate |
2026-11-13T16:28:39Z | 2026-11-13T16:28:40Z | 1 | 3
|
seed_data_contract 84f2bd04155e… |
usecase_validate |
2026-11-13T16:29:02Z | 2026-11-13T16:29:03Z | 1 | 10
|
failed_tests b2247b16f5f7…passed_tests 4c301029c058…test_results c3a8c086da01…usecase_contract c2b22b032f51… |
finalize_docs |
2026-11-13T16:29:08Z | 2026-11-13T16:29:09Z | 1 | 9
|
defects_json 0a53432d53f3…release_notes 10ee44312e83…api_integration_guide 0682f48b8307… |
package_archive invalidated 2026-11-13T17:19:39Z |
2026-11-13T16:33:11Z | 2026-11-13T16:57:54Z | 2 | 37 (final gate PASS)
|
sale_tar 98e21c3b46e1…checksums 8b729d31c908…verify_md 35ec389d8b01…rebuild_md 157552ea376a…manifest_txt 90bb72358791…actions_jsonl bbd716f41ef4…provenance_md ce1aebe8c117…assetchain_log_md e9eccaec0c0f…assetchain_log_json aad4d965df97… |
[stage_runs]
Rewinds
- 2026-11-13T16:54:25Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #36756] - 2026-11-13T17:19:39Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #36830]
Model work per stage
Fully recordedRole: writer model. Calls up to 2026-11-13T16:57:54Z.
49 calls over 5 stages
| Stage | Calls | Refused | Errors | Max attempt | Forced commits | Real tokens | Lesson rules shown |
|---|---|---|---|---|---|---|---|
plan | 2 | 0 | 0 | 1 | 0 | 7171 | — |
remediate | 2 | 0 | 0 | 1 | 0 | 11149 | L-A08, L-038, L-036, L-034, L-032 |
admin_handbook | 24 | 8 | 0 | 3 | 1 | 110939 | — |
db_handbook | 20 | 4 | 0 | 2 | 0 | 89058 | — |
usecase_validate | 1 | 0 | 0 | 1 | 0 | 1805 | — |
[micro_step_runs] [lesson_recalls]
Review
Fully recordedRole: review model.
2 rounds, 2 counted, $2.00 recorded cost
| Round | Started | Critical | Major | Minor | Verdict | Cost | Cap in force | Archive reviewed |
|---|---|---|---|---|---|---|---|---|
| 1 | 2026-11-13T16:33:48Z | 0 | 3 | 7 | findings to repackage [held_rounds, held_rounds #1899] | $1.02 | 3 rounds, $40.00 | 67ee9ccc66df… |
| 2 | 2026-11-13T16:58:26Z | 0 | 0 | 4 | clean to publish [held_rounds, held_rounds #1902] | $0.98 | 3 rounds, $40.00 | 98e21c3b46e1… |
Defects
Fully recorded- Ledger entries14 [defects, defects where product_slug=miniflux and this tag or chain]
- Disclosed in the archive14 [docs/defects/defects.json, entries]
14 ledger entries: by severity high 3, low 11; by status fixed-before-release 14.
| Defect | Severity | Status | Found by | Fixed in |
|---|---|---|---|---|
RSD-miniflux-bb2f1fb731Database handbook: Following the example (LISTEN_ADDR=0.0.0.0:9000 with -p 9000:8080) leaves the service unreachable and the health check failing; the sentence also says the 8080 mapping keeps the health check… [defects, defects #286418] | high | fixed-before-release | held review (review model) | — |
RSD-miniflux-6fe8fbc1a1Admin handbook: Restore procedure as written creates the database owned by postgres and restores as miniflux; with a non-superuser miniflux role on PostgreSQL 15+ the restore fails with permission denied for schema… [defects, defects #286419] | high | fixed-before-release | held review (review model) | — |
RSD-miniflux-1cffb9df25Database handbook: Step does not say who owns the new database; if the restoring role is not the owner or a superuser, the restore fails on PostgreSQL 15+. [defects, defects #286420] | high | fixed-before-release | held review (review model) | — |
RSD-miniflux-ccb2b22091Database handbook: 'Start or restart' after changing DATABASE_URL does not apply the change (env is fixed at create); contradicts admin line 662 and DB line 443. [defects, defects #286421] | low | fixed-before-release | held review (review model) | — |
RSD-miniflux-c7e358fe40Admin handbook: 'start or restart' is wrong for an env-file change, and the following docker run fails on an existing container name. [defects, defects #286422] | low | fixed-before-release | held review (review model) | — |
RSD-miniflux-666ba2a4d6Admin handbook: States -version prints 2.3.4; the image prints 2.3.5. [defects, defects #286423] | low | fixed-before-release | held review (review model) | — |
RSD-miniflux-ba60d80df1Admin handbook: Says to keep `-p 8080:8080` so the health check succeeds; the probe runs inside the container and is unaffected by -p; contradicts line 115. [defects, defects #286424] | low | fixed-before-release | held review (review model) | — |
RSD-miniflux-d4e1cb39edDatabase handbook: Primary restore command does not fit the backup procedure the handbook gives and contradicts line 474. [defects, defects #286425] | low | fixed-before-release | held review (review model) | — |
RSD-miniflux-5458b43357Admin handbook: Unsupported version claim that conflicts with the DB handbook. [defects, defects #286426] | low | fixed-before-release | held review (review model) | — |
RSD-miniflux-3331ca1e27Release notes: Refers to data volumes the image does not have (the same class as the prior-round finding). [defects, defects #286427] | low | fixed-before-release | held review (review model) | — |
RSD-miniflux-b067550a32Admin handbook: The sentence says the API never returns anything but JSON; GET /v1/export returns XML. [defects, defects #286755] | low | fixed-before-release | held review (review model) | — |
RSD-miniflux-dec558e6c9Database handbook: Same claim as the admin handbook: /v1/export is not JSON. [defects, defects #286756] | low | fixed-before-release | held review (review model) | — |
RSD-miniflux-0e8b2c1e4eDatabase handbook: The restore command targets the same placeholder name as the backup, not the new database created in step 1. [defects, defects #286757] | low | fixed-before-release | held review (review model) | — |
RSD-miniflux-683534f334Admin handbook: Tells the customer to restart, which is unnecessary and contradicts the preceding paragraph. [defects, defects #286758] | low | fixed-before-release | held review (review model) | — |
Verification
1 item not recorded- Reproduced before publishingyes (rebuilt digest sha256:46d8b08d0582b9a8b93001232f81eb63e32e42eb2a466fed1c00c1bb5ed69677 · published digest sha256:46d8b08d0582b9a8b93001232f81eb63e32e42eb2a466fed1c00c1bb5ed69677 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 72) [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-13T17:20:23Z · failing Docker Scout counts 7 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-13T17:20:13Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
- Image signature transparency-log entries
- log index 3857778300 · transparency-log entry
- log index 3857780115 · transparency-log entry
- rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3858788561 · transparency-log entry · integrated 2026-11-13T17:22:45Z) [ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
- Signed attestations
- kind provenance · digest sha256:42c33e19d9b400bf2029996037db52d861a0262f3cdbcbed6604596d1216dc6a · state attached · log index 3858789339 · transparency-log entry
- kind sbom · digest sha256:42c33e19d9b400bf2029996037db52d861a0262f3cdbcbed6604596d1216dc6a · state attached · log index 3858790595 · transparency-log entry
- kind vsa · digest sha256:42c33e19d9b400bf2029996037db52d861a0262f3cdbcbed6604596d1216dc6a · state attached · log index 3858792924 · transparency-log entry
- kind provenance · digest sha256:46d8b08d0582b9a8b93001232f81eb63e32e42eb2a466fed1c00c1bb5ed69677 · state attached · log index 3858795329 · transparency-log entry
- kind sbom · digest sha256:46d8b08d0582b9a8b93001232f81eb63e32e42eb2a466fed1c00c1bb5ed69677 · state attached · log index 3858797379 · transparency-log entry
- kind vsa · digest sha256:46d8b08d0582b9a8b93001232f81eb63e32e42eb2a466fed1c00c1bb5ed69677 · state attached · log index 3858798734 · transparency-log entry
- Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/miniflux/recipe) [docs/provenance/PINS.json]
Offline clean-room rebuilds
- 2026-11-13T16:33:52Z on build host 3 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
rebuilt sha256:46d8b08d0582b9a8b93001232f81eb63e32e42eb2a466fed1c00c1bb5ed69677 [clean-room rebuild ledger, runs[847]]
- 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:19:35Z [stage_runs, stage_runs chain 1089 stage publish_image]
- Archive manifests written2026-11-13T17:21:40Z [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 57 · probed 2026-11-13T16:17:08Z · source build_kit) [release_images, isa_level_hard]
History
2 events- 2026-11-13T17:24:19Z generated: by KitForge release/build_trail.py · generator commit 1f57518c1e119546b8c0a074f3e484d7bf2f3b33
- 2026-11-13T17:25:45Z publication: promoted at 2026-11-13T17:25:03Z · promoted digest sha256:42c33e19d9b400bf2029996037db52d861a0262f3cdbcbed6604596d1216dc6a · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 558 · checklist status complete · checklist at 2026-11-13T17:25: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-miniflux-2.3.5-CE-ubuntu24.04-r3.tar.gz) | — |
docs/provenance/IMAGE_EVIDENCE.json | inside the archive (ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.tar.gz) | — |
docs/provenance/LOCKED_DIGEST.txt | inside the archive (ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.tar.gz) | — |
docs/provenance/PINS.json | inside the archive (ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.tar.gz) | — |
docs/provenance/REPRO_VERIFICATION.json | inside the archive (ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.tar.gz) | — |
docs/provenance/SOURCE_TREE_HASH.json | inside the archive (ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.tar.gz) | — |
MANIFEST.json | beside the archive (prodasset /data/production/miniflux/2.3.5-CE-ubuntu24.04-r3/), as staged for publishing | — |
PUBLISH_MANIFEST.json | beside the archive (prodasset /data/production/miniflux/2.3.5-CE-ubuntu24.04-r3/), as staged for publishing | — |
ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.rebuild.json | beside the archive (prodasset /data/production/miniflux/2.3.5-CE-ubuntu24.04-r3/), as staged for publishing | — |
ReadyStack-miniflux-2.3.5-CE-ubuntu24.04-r3.rebuild.json.sigstore | beside the archive (prodasset /data/production/miniflux/2.3.5-CE-ubuntu24.04-r3/), as staged for publishing | — |
SCOUT_EVIDENCE.json | beside the archive (prodasset /data/production/miniflux/2.3.5-CE-ubuntu24.04-r3/), 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) | 764 |
chains | sadb, ReadyStack's engine database (not published) | 1089 |
defects | sadb, ReadyStack's engine database (not published) | miniflux 2.3.5-CE-ubuntu24.04-r3 |
drive_runs | sadb, ReadyStack's engine database (not published) | chain 1089 |
held_rounds | sadb, ReadyStack's engine database (not published) | chain 1089 |
lesson_recalls | sadb, ReadyStack's engine database (not published) | chain 1089 |
micro_step_runs | sadb, ReadyStack's engine database (not published) | chain 1089 |
release_images | sadb, ReadyStack's engine database (not published) | miniflux 2.3.5-CE-ubuntu24.04-r3 |
stage_events | sadb, ReadyStack's engine database (not published) | chain 1089 |
stage_runs | sadb, ReadyStack's engine database (not published) | chain 1089 |
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) | — |