Miniflux 2.3.4-CE-ubuntu24.04-r3 build trail

How ReadyStack built readystack/miniflux:2.3.4-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
  • Imagereadystack/miniflux:2.3.4-CE-ubuntu24.04-r3
  • Index digestsha256:9d95b4060c916f98b435376dbcd0049a700ffeea35a6b7c9cdcdc9d89d80e096
  • linux/amd64 digestsha256:c4809ba317e5a207d6fd40e32f311f08303124d00df4ebe3b96a51906decec86
  • ArchiveReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.tar.gz
  • Archive SHA-256 now812d6890bf213aa7145b066934cc651d19280d30ce20bf49e6fdc460d9e99fde
  • Generated2026-11-02T23:33:35Z by KitForge release/build_trail.py
  • Sections9 sections, 4 fully recorded; 10 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-miniflux-2.3.4-CE-ubuntu24.04-r3.trail.json.sigstore ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.trail.json

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

Identity

1 item not recorded
  • ProductMiniflux (miniflux) [MANIFEST.json]
  • Release tag2.3.4-CE-ubuntu24.04-r3 [MANIFEST.json]
  • Imagereadystack/miniflux:2.3.4-CE-ubuntu24.04-r3 [MANIFEST.json]
  • Image index digestsha256:9d95b4060c916f98b435376dbcd0049a700ffeea35a6b7c9cdcdc9d89d80e096 [docs/provenance/LOCKED_DIGEST.txt]
  • linux/amd64 image digestsha256:c4809ba317e5a207d6fd40e32f311f08303124d00df4ebe3b96a51906decec86 [ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.rebuild.json, subject.image_manifest_digest]
  • ArchiveReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.tar.gz (bytes 455263244) [MANIFEST.json]
  • Archive sha256 at publisha99d5c1e775b79ecec08fe7ad2377f7063d7ed013b431878718f030b5a468887 [MANIFEST.json, repack_history[0].previous_tarball_sha256]
  • Archive sha256 now812d6890bf213aa7145b066934cc651d19280d30ce20bf49e6fdc460d9e99fde [MANIFEST.json, tarball_sha256]
  • Archive records agreeyes [MANIFEST.json, PUBLISH_MANIFEST.json and .cutover.json name the same sha256]
  • Repack history
    • 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 a99d5c1e775b79ecec08fe7ad2377f7063d7ed013b431878718f030b5a468887 · sha256 812d6890bf213aa7145b066934cc651d19280d30ce20bf49e6fdc460d9e99fde · replaced BUILD_OFFLINE.sh, docs/docker/BUILD_OFFLINE.sh, docs/offline/BUILD_OFFLINE.sh, rebuild.json
    [MANIFEST.json, repack_history]
  • Upstream repositoryhttps://github.com/miniflux/v2 [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream ref2.3.4 [docs/provenance/SOURCE_TREE_HASH.json]
  • Upstream commit238c5614e584ebc87894e7d9f10bc91373a0b2c2 [docs/provenance/SOURCE_TREE_HASH.json]
  • Source tree hashf90e82c917d576c658e378f0837d104ed8060c9887bacc04f7ddc7ac2fd26f7a (files 663) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
  • Kit tree hashsha256:f673697668c8d4669393baccb56ec626dd1ced0b9805272cba77cad0bafba9d7 [ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.rebuild.json, inputs.tree_hash]
  • SOURCE_DATE_EPOCH1792443271 (utc 2026-10-19T20:54:31Z) [ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.rebuild.json, inputs.source_date_epoch]
  • Base images
    • ref golang:1.26.10-bookworm@sha256:632dff7351799a5a9954a48dc06670ade72ee44e8c351cdc0e5a57af2fea21af · platform digest sha256:88750ccdd0f2a77fcc00a14b1a48d6409bd8ddb5d7c2dd6ec0b4a2e916daf9d9
    • ref ubuntu:24.04@sha256:24737cef17f4e22b1977df7d9a05e77c4e28b7da5b8911f8d8ccda136bf3573c · platform digest sha256:78d4744ead1f5b19b04d0df558ab182a5300903900755e515b2ca4d10eb2044d
    [ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.rebuild.json, bases]
  • BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.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
  • Chain721 (created 2026-10-27T20:09:14Z · trigger customer_request · upstream version 2.3.4) [chains, chains #721]
  • Requestbuild request #405 (rebuild) (requested at 2026-10-27T19:58:33Z · requested by kitforge-agent · version 2.3.4) [build_requests, build_requests #405]
  • Reasonrevision 2.3.4-CE-ubuntu24.04-r3: same upstream version rebuilt (retarget.py --rev-bump) [build_requests, build_requests #405 request_reason]
  • Supersedesreadystack/miniflux:2.3.4-CE-ubuntu24.04-r2 (chain 666) [chains, chains #666]

The path through the harness

2 items not recorded

1 chain · 6 drives · 18 stages · 5 rewinds

Chain 721 release · shipped

Created 2026-10-27T20:09:14Z, upstream 2.3.4, build request 405 [chains, chains #721]

DriveStartedMinutesBuild hostHow it stopped
8112026-10-27T20:09:32Z22build host 4 withhold-publish stage_failed at package_archive [drive_runs, drive_runs #811] rebuilt from a build line's log
8132026-10-27T22:21:50Z11.4build host 4 withhold-publish ready_to_ship [drive_runs, drive_runs #813] rebuilt from a build line's log
8152026-10-27T23:26:10Z3build host 4 withhold-publish ready_to_ship [drive_runs, drive_runs #815] rebuilt from a build line's log
8172026-10-28T00:00:51Z2.4build host 4 withhold-publish ready_to_ship [drive_runs, drive_runs #817] rebuilt from a build line's log
8192026-10-28T00:56:03Z3.7build host 4 publish-held stage_failed at package_archive [drive_runs, drive_runs #819] rebuilt from a build line's log
8212026-10-28T01:12:55Z4.5build host 4 publish-held shipped [drive_runs, drive_runs #821] rebuilt from a build line's log

Stages, in order

StageFirst startPassedAttemptsGate checks passedArtifacts (SHA-256)
intake 2026-10-27T20:09:38Z2026-10-27T20:09:39Z1
4
  • exists:order_json
  • order_json:json_parses
  • order_json:no_forbidden_placeholders
  • produces_paths_exist
—
acquire 2026-10-27T20:09:42Z2026-10-27T20:09:43Z1
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-27T20:10:16Z2026-10-27T20:10:17Z1
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-27T20:11:57Z2026-10-27T22:23:47Z2
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-27T20:12:34Z2026-10-27T22:23:50Z2
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-27T20:14:52Z2026-10-27T22:26:19Z2
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-27T20:15:19Z2026-10-27T22:26:45Z2
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-27T20:15:47Z2026-10-27T22:27:16Z2
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-27T20:16:05Z2026-10-27T22:27:34Z4
3
  • exists:instance_handle
  • instance_handle:json_parses
  • produces_paths_exist
—
sbom 2026-10-27T20:16:14Z2026-10-27T22:27:45Z2
5
  • exists:sbom_json
  • exists:sbom_md
  • sbom_json:json_parses
  • sbom_md:md_min_sections:1
  • produces_paths_exist
—
schema_discovery 2026-10-27T20:16:16Z2026-10-27T22:27:47Z2
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-27T20:21:43Z2026-10-27T22:27:53Z2
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-27T20:25:57Z2026-10-27T22:28:01Z2
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-27T20:26:11Z2026-10-27T22:28:15Z2
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-27T20:26:13Z2026-10-27T22:28:18Z2
3
  • exists:seed_data_contract
  • seed_data_contract:json_parses
  • produces_paths_exist
—
usecase_validate 2026-10-27T20:26:42Z2026-10-27T22:28:45Z2
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-27T20:30:21Z2026-10-27T22:28:51Z2
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-27T20:31:31Z2026-10-28T01:17:19Z6
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-27T22:21:55Z: package_archive to assemble_kit on strategy_changed (chain 721: 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 #2370]
  • 2026-10-27T22:57:02Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py) [stage_events, stage_events #2139]
  • 2026-10-27T23:47:46Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py) [stage_events, stage_events #2140]
  • 2026-10-28T00:55:27Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py) [stage_events, stage_events #969]
  • 2026-10-28T01:12:29Z: package_archive to package_archive on docs_redo (scripts/redo-docs.py) [stage_events, stage_events #973]
  • 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-28T01:17:19Z.

93 calls over 6 stages

StageCallsRefusedErrorsMax attemptForced commitsReal tokensLesson rules shown
plan2001 not recordednot recorded —
remediate2001 not recordednot recorded —
admin_handbook361203 not recordednot recorded —
db_handbook24402 not recordednot recorded —
usecase_validate4001 not recordednot recorded —
finalize_docs25303 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

2 items not recorded

Role: review model.

3 rounds, 3 counted, $6.23 recorded cost

RoundStartedCriticalMajorMinorVerdictCostCap in forceArchive reviewed
12026-10-27T22:33:51Z 079 findings to repackage [held_rounds, held_rounds #111] rebuilt from a held-review state file $1.54 not recorded not recorded
22026-10-27T23:29:41Z 0417 findings to repackage [held_rounds, held_rounds #112] rebuilt from a held-review state file $2.67 not recorded not recorded
32026-10-28T00:03:24Z 0015 clean to publish [held_rounds, held_rounds #113] rebuilt from a held-review state file $2.02 not recorded not recorded
  • 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)

Defects

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

51 ledger entries: by severity high 11, low 40; by status fixed-before-release 51.

DefectSeverityStatusFound byFixed in
RSD-miniflux-8fb2b0c761
Admin handbook: Debug logging cannot be enabled without restarting; the command launches a second daemon process in the container instead, and contradicts the DB handbook. [defects, defects #120816]
highfixed-before-releaseheld review (review model)—
RSD-miniflux-c1b816fee5
Database handbook: The documented example command fails: the chiselled runtime has no ls (it has /bin/sh, cat, echo, env, printenv, ...). [defects, defects #120817]
highfixed-before-releaseheld review (review model)—
RSD-miniflux-237818ee19
Database handbook: Basic credentials are username and password; an API key as the Basic password is rejected with 401. [defects, defects #120818]
highfixed-before-releaseheld review (review model)—
RSD-miniflux-85bfc0b794
API guide: The whole section (limit/offset examples for categories and feeds) describes behaviour that does not exist for these endpoints. [defects, defects #120819]
highfixed-before-releaseheld review (review model)—
RSD-miniflux-cf7fd845de
API guide: PATCH is not a supported method for updating a feed. [defects, defects #120820]
highfixed-before-releaseheld review (review model)—
RSD-miniflux-2623ed4808
API guide: The documented `settings` field does not exist; a client reading it would get nothing. [defects, defects #120821]
highfixed-before-releaseheld review (review model)—
RSD-miniflux-1646160d92
Database handbook: Cross-section contradiction; the statement is false, LISTEN_ADDR is an overridable environment variable. [defects, defects #120822]
highfixed-before-releaseheld review (review model)—
RSD-miniflux-adc20b33c9
Database handbook: Overstated absolute. [defects, defects #120823]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-ccae761216
Database handbook: Unsupported version claim. [defects, defects #120824]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-e1837dbf3a
API guide: False wording. [defects, defects #120825]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-2f529571bf
Admin handbook: Body has a detail suffix; clients matching the exact string fail. [defects, defects #120826]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-630f587086
Admin handbook: Instructs a volume chown for a product that stores no files. [defects, defects #120827]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-42ec1013a7
Admin handbook: Still open from round 1 (RELEASE_NOTES Known issues RSD-miniflux-42ec1013a7): compares this image's ENTRYPOINT with the upstream image's CMD under one label; a migrating `docker run ... [defects, defects #120828]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-f36b9e57ce
API guide: Advice that breaks the next upgrade; contradicts the admin handbook. [defects, defects #120829]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-d09d761dd9
Admin handbook: Cross-section contradiction on RUN_MIGRATIONS. [defects, defects #120830]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-aaa763a644
Admin handbook: Secrets appear in the dump; the handbook recommends it for support without a warning. [defects, defects #120831]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-c54f33017b
Admin handbook: The documented start fails for a database password containing a space or URL-special character (e.g. [defects, defects #122060]
highfixed-before-releaseheld review (review model)—
RSD-miniflux-2469b27e58
Database handbook: False security assurance: a customer who sets FETCHER_ALLOW_PRIVATE_NETWORKS=1 expecting private proxies to stay blocked has in fact lifted that block too. [defects, defects #122061]
highfixed-before-releaseheld review (review model)—
RSD-miniflux-8e7465e5b1
API guide: Same false statement as DB_HANDBOOK.md:498: FETCHER_ALLOW_PRIVATE_NETWORKS=1 also lets a per-feed proxy URL reach a private address. [defects, defects #122062]
highfixed-before-releaseheld review (review model)—
RSD-miniflux-a93bacaf19
API guide: Same false statement: FETCHER_ALLOW_PRIVATE_NETWORKS does not govern 'feed URLs only'. [defects, defects #122063]
highfixed-before-releaseheld review (review model)—
RSD-miniflux-091b4680ca
API guide: 'Independent settings' repeats the false model; the networks switch subsumes the proxy switch. [defects, defects #122064]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-fb162c20e3
API guide: 'Work independently' is false: with FETCHER_ALLOW_PRIVATE_NETWORKS=1 the proxy variable has no effect. [defects, defects #122065]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-73ef08b5a3
Admin handbook: False: sslmode=disable connects fine to a TLS-enabled PostgreSQL; only the opposite direction fails. [defects, defects #122066]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-ab4c94a8ee
Admin handbook: Unsupported version claim (a round-1 finding, paraphrased): the private-feed block is not new in 2.3.4. [defects, defects #122067]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-83ca7bc26e
Admin handbook: Same unsupported version claim as :1016. [defects, defects #122068]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-255c537bac
Database handbook: Same unsupported version claim as :1016. [defects, defects #122069]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-33629da829
Admin handbook: Contradicts the line above it in the same example ('RUN_MIGRATIONS stays set on every start'), :460 ('Leave this set on every start') and API_INTEGRATION_GUIDE.md:430 ('Leave it at 1'). [defects, defects #122070]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-a8e7c1accc
Admin handbook: Same RUN_MIGRATIONS contradiction with :460 and API_INTEGRATION_GUIDE.md:430. [defects, defects #122071]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-2049c98849
Database handbook: Same RUN_MIGRATIONS contradiction with ADMIN_HANDBOOK.md:460 and API_INTEGRATION_GUIDE.md:430. [defects, defects #122072]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-5b9a6454e7
Database handbook: False: `miniflux -create-admin` creates an administrator in the running container. [defects, defects #122073]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-0b6d6c0515
Admin handbook: The Miniflux version cannot show the ReadyStack revision: `miniflux -version` prints only 2.3.4, so it cannot tell r3 from r2. [defects, defects #122074]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-47eb0ec0ec
Admin handbook: At 5 seconds after docker run the container reports 'starting', not healthy. [defects, defects #122075]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-11cef39fb7
API guide: Unsupported: no database-query lines appear in the debug output. [defects, defects #122076]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-211d8efe81
API guide: Round-1 secret-in-dump warning exists only in ADMIN_HANDBOOK.md:521; the API guide (and DB handbook :243/:419) still recommend the dump with no warning. [defects, defects #122077]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-78862ed8ff
Database handbook: Same missing secret warning as API_INTEGRATION_GUIDE.md:628. [defects, defects #122078]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-0da184f0d5
Admin handbook: Still open from round 1 (defects.json 'open'; RELEASE_NOTES Known issues RSD-miniflux-630f587086): instructs a volume chown for a product that stores no files; contradicts the table row above ('the… [defects, defects #122079]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-4f03994f52
Admin handbook: Round 2 asked to drop an unsupported version claim; the replacement '2.3.0' is also wrong. [defects, defects #122570]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-213da01e46
Admin handbook: Round 2 asked to drop an unsupported version claim; the replacement '2.3.0' is also wrong. [defects, defects #122571]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-0c5a9f4cad
Database handbook: Round 2 asked to drop an unsupported version claim; the replacement '2.3.0' is also wrong. [defects, defects #122572]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-77480d5e5b
Admin handbook: Round 2 recorded that the documents give no way to reset a forgotten administrator password although `miniflux -reset-password` exists; still absent from all three handbooks. [defects, defects #122573]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-3d9b08f8cd
Admin handbook: Round 2 (RSD-miniflux-42ec1013a7, still in Known issues): the table puts the upstream CMD and this image's ENTRYPOINT in separate rows but the 'What to change' list never says that a `docker run ... [defects, defects #122574]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-44eb1cf11c
Admin handbook: Repeats the round-2 'independent settings' model: it tells the customer to set both when the networks switch alone is enough, contradicting the paragraph above it (:634). [defects, defects #122575]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-0c43c0f810
Admin handbook: Same residue of the round-2 'both settings' model; contradicts :634. [defects, defects #122576]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-84e32d18c3
Database handbook: Contradicts the document's own :498 ('needed only when FETCHER_ALLOW_PRIVATE_NETWORKS is not set'). [defects, defects #122577]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-ed8792ba3b
Database handbook: The sentence says the parameter is mandatory, which contradicts :694 ('remove ?sslmode=disable') and is untrue: the parameter is only needed to turn TLS off. [defects, defects #122578]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-2fc2c53187
Admin handbook: The comment promises debug logging while the example sets the default level (info); a customer copying the file does not get debug output. [defects, defects #122579]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-569528ea4d
API guide: The round-2 major (nothing says DATABASE_URL must be percent-encoded) was fixed in the admin and DB handbooks only; the API guide shows the same env file and start without it, so a customer… [defects, defects #122580]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-2eafe84bdc
Docker Hub README: Same missing percent-encoding rule on the page a customer reads first. [defects, defects #122581]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-f5c3cd9e7c
API guide: Wrong term: the setting disables SSL for the connection, not 'SSL verification'. [defects, defects #122582]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-8c6c6d66ba
Release notes: The Known issues entry is internal review text, truncated mid-sentence ('a migrating `docker run ...'), not a customer-readable statement; the customer-relevant content belongs in… [defects, defects #122583]
lowfixed-before-releaseheld review (review model)—
RSD-miniflux-31c0a04f71
Release notes: The Known issue says the handbook 'instructs a volume chown for a product that stores no files'. [defects, defects #122584]
lowfixed-before-releaseheld review (review model)—

Verification

2 items not recorded
  • Reproduced before publishingyes (rebuilt digest sha256:c4809ba317e5a207d6fd40e32f311f08303124d00df4ebe3b96a51906decec86 · published digest sha256:c4809ba317e5a207d6fd40e32f311f08303124d00df4ebe3b96a51906decec86 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 76) [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 721 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-28T01:13:09Z · 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]
  • First own scan of the releaseA (at 2026-10-28T01:17:28Z · 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-27T06:30:41Z) [image_scans, image_scans #1358]
  • Image signatureverified on the index and the linux/amd64 manifest (key fingerprint 04daa92344a52dbc · at 2026-10-28T01:13:00Z) [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 3625520117 · transparency-log entry · integrated 2026-11-01T09:31:03Z) [ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
  • Signed attestations
    • kind provenance · digest sha256:9d95b4060c916f98b435376dbcd0049a700ffeea35a6b7c9cdcdc9d89d80e096 · state attached · log index 3530258006 · transparency-log entry
    • kind sbom · digest sha256:9d95b4060c916f98b435376dbcd0049a700ffeea35a6b7c9cdcdc9d89d80e096 · state present
    • kind vsa · digest sha256:9d95b4060c916f98b435376dbcd0049a700ffeea35a6b7c9cdcdc9d89d80e096 · state attached · log index 3530259085 · transparency-log entry
    • kind provenance · digest sha256:c4809ba317e5a207d6fd40e32f311f08303124d00df4ebe3b96a51906decec86 · state attached · log index 3530260080 · transparency-log entry
    • kind sbom · digest sha256:c4809ba317e5a207d6fd40e32f311f08303124d00df4ebe3b96a51906decec86 · state present
    • kind vsa · digest sha256:c4809ba317e5a207d6fd40e32f311f08303124d00df4ebe3b96a51906decec86 · state attached · log index 3530261297 · transparency-log entry
    (at 2026-10-28T01:15:24Z) [attestations.json, results]

Offline clean-room rebuilds

  • 2026-10-27T22:33:53Z on build host 5 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
    rebuilt sha256:c4809ba317e5a207d6fd40e32f311f08303124d00df4ebe3b96a51906decec86 [clean-room rebuild ledger, runs[490]]
  • 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-27T22:27:16Z [stage_runs, stage_runs chain 721 stage publish_image]
  • Release tag promoted2026-10-28T01:16:50Z (method imagetools_create_retag_by_digest_no_rebuild · digest sha256:9d95b4060c916f98b435376dbcd0049a700ffeea35a6b7c9cdcdc9d89d80e096 · tag readystack/miniflux:2.3.4-CE-ubuntu24.04-r3) [deliverables/provenance/PROMOTION_RECORD.json, promoted_at]
  • Archive manifests written2026-10-28T01:14:18Z [PUBLISH_MANIFEST.json, published_at]
  • Archive cut over on prodasset, package_archive passed2026-10-28T01:17:19Z [stage_runs, stage_runs chain 721 stage package_archive]
  • Cut-over markerpresent (chain 721) [.cutover.json]
  • Release checklist and site event2026-10-28T01:17:17Z (status complete · site event 235 · 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 image46 (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 57 · probed 2026-11-02T17:14:27Z · 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

25 records
RecordWhere it isRows
docs/defects/defects.jsoninside the archive (ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.tar.gz)—
docs/provenance/IMAGE_EVIDENCE.jsoninside the archive (ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.tar.gz)—
docs/provenance/LOCKED_DIGEST.txtinside the archive (ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.tar.gz)—
docs/provenance/REPRO_VERIFICATION.jsoninside the archive (ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.tar.gz)—
docs/provenance/SOURCE_TREE_HASH.jsoninside the archive (ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.tar.gz)—
.cutover.jsonbeside the archive (prodasset /data/production/miniflux/2.3.4-CE-ubuntu24.04-r3/)—
MANIFEST.jsonbeside the archive (prodasset /data/production/miniflux/2.3.4-CE-ubuntu24.04-r3/)—
PUBLISH_MANIFEST.jsonbeside the archive (prodasset /data/production/miniflux/2.3.4-CE-ubuntu24.04-r3/)—
ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.rebuild.jsonbeside the archive (prodasset /data/production/miniflux/2.3.4-CE-ubuntu24.04-r3/)—
ReadyStack-miniflux-2.3.4-CE-ubuntu24.04-r3.rebuild.json.sigstorebeside the archive (prodasset /data/production/miniflux/2.3.4-CE-ubuntu24.04-r3/)—
SCOUT_EVIDENCE.jsonbeside the archive (prodasset /data/production/miniflux/2.3.4-CE-ubuntu24.04-r3/)—
clean-room rebuild ledgerthe clean-room rebuild ledger (runstate/audit-2026-09/bit4bit.json, not published)—
build_requestssadb, ReadyStack's engine database (not published)405
chainssadb, ReadyStack's engine database (not published)721
defectssadb, ReadyStack's engine database (not published)miniflux 2.3.4-CE-ubuntu24.04-r3
drive_runssadb, ReadyStack's engine database (not published)chain 721
held_roundssadb, ReadyStack's engine database (not published)chain 721
image_scanssadb, ReadyStack's engine database (not published)1358
micro_step_runssadb, ReadyStack's engine database (not published)chain 721
release_imagessadb, ReadyStack's engine database (not published)miniflux 2.3.4-CE-ubuntu24.04-r3
stage_eventssadb, ReadyStack's engine database (not published)chain 721
stage_runssadb, ReadyStack's engine database (not published)chain 721
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)—