HAProxy 3.4.6-CE-ubuntu24.04-r6 build trail
How ReadyStack built readystack/haproxy:3.4.6-CE-ubuntu24.04-r6 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/haproxy:3.4.6-CE-ubuntu24.04-r6 - Index digestsha256:9ad87660f930651f88076769052b98cb8e0cfa5daff4755a5c5af83f3421896d
- linux/amd64 digestsha256:f9d24c2b3613130e6a9a342adcf5a8d1e9b7b9a151a525f7061418bbee6746a8
- Archive
ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.tar.gz - Archive SHA-256 now9518d7a4827d8a650a439b276b9bcfd7206ca62e4d314c84251bd1ad6b122e5f
- Pins record
docs/PINS.md,docs/provenance/PINS.jsonin the archive (since generated) - Generated2026-11-09T16:49:44Z 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-haproxy-3.4.6-CE-ubuntu24.04-r6.trail.json.sigstore ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.trail.json
IdentityWhy this release existsThe path through the harnessModel work per stageReviewDefectsVerificationPublicationPackages and CPU level
Identity
Fully recorded- ProductHAProxy (haproxy) [MANIFEST.json]
- Release tag3.4.6-CE-ubuntu24.04-r6 [MANIFEST.json]
- Imagereadystack/haproxy:3.4.6-CE-ubuntu24.04-r6 [MANIFEST.json]
- Image index digestsha256:9ad87660f930651f88076769052b98cb8e0cfa5daff4755a5c5af83f3421896d [docs/provenance/LOCKED_DIGEST.txt]
- linux/amd64 image digestsha256:f9d24c2b3613130e6a9a342adcf5a8d1e9b7b9a151a525f7061418bbee6746a8 [ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.rebuild.json, subject.image_manifest_digest]
- ArchiveReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.tar.gz (bytes 552142511) [MANIFEST.json]
- Archive sha256 at publish9518d7a4827d8a650a439b276b9bcfd7206ca62e4d314c84251bd1ad6b122e5f [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://git.haproxy.org/git/haproxy-3.4.git [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream refv3.4.6 [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream commit56332c50b5291cfbbfd440d958adc988fbf87e2f [docs/provenance/SOURCE_TREE_HASH.json]
- Source tree hash98cbc2f2c71839bc24fb4454799e109179f1a5360386051ccc40b4b2b88c6216 (files 1497) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
- Kit tree hashsha256:5e46e12cb3cc88e704574d524d9ee42befc641d51b511d163d1be887a1b3f50a [ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.rebuild.json, inputs.tree_hash]
- SOURCE_DATE_EPOCH1790604274 (utc 2026-09-28T14:04:34Z) [ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.rebuild.json, inputs.source_date_epoch]
- Base images
- ref golang:1.27.3-bookworm@sha256:972b4110ba0f47539a975c31e52c64765e1ff19f2d74469ae4a595c6676e80a5 · platform digest sha256:fea12ba16096adec0f699ce1c4da2154d320450e56c1f63671f95d2a3551c77b
- ref ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852 · platform digest sha256:78d4744ead1f5b19b04d0df558ab182a5300903900755e515b2ca4d10eb2044d
- BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.rebuild.json, engine]
- Engine commit(s)
- commit 9e1e08daa6fd77ad7901229048721017ec2e4d84 · dirty yes · first drive 3988
- commit 8a45c451adfbe69e8aea57cade68ffc8092d055e · dirty yes · first drive 4027
- commit 33f90e4df8880eb3af828fc61ea626b22c124785 · dirty yes · first drive 4049
- commit d28155d8ca5cbee1adc82a2bd6715600f48c577b · dirty yes · first drive 4062
- commit 5163af4d4c1993a6202ab252a3207b9300f6e3e6 · dirty yes · first drive 4073
Why this release exists
Fully recorded- Chain920 (created 2026-11-09T09:05:51Z · trigger customer_request · upstream version 3.4.6) [chains, chains #920]
- Requestbuild request #544 (rebuild) (requested at 2026-11-08T03:42:06Z · requested by kitforge-agent · version 3.4.6) [build_requests, build_requests #544]
- Reasonrevision 3.4.6-CE-ubuntu24.04-r6: same upstream version rebuilt on the chiselled runtime (slim base, C/Rust engine #198) [build_requests, build_requests #544 request_reason]
- Supersedesreadystack/haproxy:3.4.6-CE-ubuntu24.04-r5 (chain 837) [chains, chains #837]
The path through the harness
Fully recorded1 chain · 5 drives · 18 stages · 3 rewinds
Chain 920 release · ready_to_ship
Created 2026-11-09T09:05:51Z, upstream 3.4.6, build request 544 [chains, chains #920]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 3988 | 2026-11-09T09:06:08Z | 58.1 | build host 4 withhold-publish | stage_failed at package_archive; first failed check exists:checksums; 18 ticks [drive_runs, drive_runs #3988] |
| 4027 | 2026-11-09T13:43:49Z | 4.8 | build host 4 withhold-publish | ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #4027] |
| 4049 | 2026-11-09T15:06:05Z | 2.8 | build host 4 withhold-publish | ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #4049] |
| 4062 | 2026-11-09T16:02:36Z | 3.1 | build host 4 withhold-publish | ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #4062] |
| 4073 | 2026-11-09T16:45:41Z | — | build host 4 publish-held | not recorded [drive_runs, drive_runs #4073] |
Stages, in order
| Stage | First start | Passed | Attempts | Gate checks passed | Artifacts (SHA-256) |
|---|---|---|---|---|---|
intake |
2026-11-09T09:06:19Z | 2026-11-09T09:06:20Z | 1 | 4
|
order_json ddf33631cf74… |
acquire |
2026-11-09T09:06:26Z | 2026-11-09T09:06:27Z | 1 | 12
|
source_tree b4a286ecdaf7…license_file 0717ca51fcea…custody_inputs 87d0bde29ce1…source_tree_hash f69a45fc517b…source_file_manifest f479416e5866… |
plan |
2026-11-09T09:06:54Z | 2026-11-09T09:06:55Z | 1 | 10
|
recon_report d0bc9fb1e1a5…input_pin_plan 830b5225dcd0…toolchain_lock 96a350cab608… |
assemble_kit |
2026-11-09T09:09:52Z | 2026-11-09T09:09:52Z | 1 | 27
|
dockerfile 155797ddb83e…build_recipe 9cc8651b5af3…system_pinning aa8db05a9a8a…build_offline_sh 6633aa31b6b4…generate_sbom_sh ce0f1e6f1e70…first_boot_health 3ab420308c6a…verify_offline_sh 3e8184ea230c…base_image_digests 6d9a4296ecce…dockerfile_offline 155797ddb83e…first_build_digest c4c9950580db… |
remediate |
2026-11-09T09:10:14Z | 2026-11-09T09:10:15Z | 1 | 8
|
vendored_apt e3b0c44298fc…remediation_log 8c1398d982b1…security_report c7dbcb7b8287… |
build_kit |
2026-11-09T09:15:26Z | 2026-11-09T09:15:27Z | 1 | 9
|
cosign_stamp 8cad965cc13a…locked_digest fad8d4790137…freeze_manifest a9b15050ffaa…offline_rebuild_transcript dfd4599b623f… |
verdict |
2026-11-09T09:15:57Z | 2026-11-09T09:15:58Z | 1 | 8
|
scout_verdict 1643de8b7763… |
publish_image |
2026-11-09T09:16:31Z | 2026-11-09T09:16:31Z | 1 | 7
|
hub_readme e380873cc0d7…promotion_record 89a17dd75e9b… |
boot_instance |
2026-11-09T09:16:38Z | 2026-11-09T09:16:43Z | 2 | 3
|
instance_handle 2c00bb1254df… |
sbom |
2026-11-09T09:16:55Z | 2026-11-09T09:16:55Z | 1 | 5
|
sbom_md 42ea65687bc2…sbom_json 0726ae9cf9be… |
schema_discovery |
2026-11-09T09:16:58Z | 2026-11-09T09:16:59Z | 1 | 7
|
schema_hash 58468b6f0d93…dependency_tree ef6cf887e729…table_classification c7f5b426756d… |
admin_handbook |
2026-11-09T09:34:12Z | 2026-11-09T09:34:13Z | 1 | 7
|
api_map dd3f90b0f440…admin_handbook 7b4716bc54f2… |
db_handbook |
2026-11-09T09:48:01Z | 2026-11-09T09:48:02Z | 1 | 8
|
db_handbook 1d3ce46445b8…seed_isolation 8882e41ac75c… |
seed_data |
2026-11-09T09:48:08Z | 2026-11-09T09:48:09Z | 1 | 6
|
seed_data_sql a4ce08d6cb58…seed_cases_json 6c831cb89f42… |
seed_validate |
2026-11-09T09:48:11Z | 2026-11-09T09:48:12Z | 1 | 3
|
seed_data_contract f6ce5d223d95… |
usecase_validate |
2026-11-09T09:48:33Z | 2026-11-09T09:48:34Z | 1 | 10
|
failed_tests 8746dfb4a17a…passed_tests 1426068d468d…test_results c77f27cbba67…usecase_contract 274c7e6c4ff4… |
finalize_docs |
2026-11-09T09:48:40Z | 2026-11-09T09:48:41Z | 1 | 9
|
defects_json 2adcf82a554a…release_notes cefeaa382893…api_integration_guide b7a90d62e68f… |
package_archive invalidated 2026-11-09T16:45:18Z |
2026-11-09T10:04:15Z | 2026-11-09T16:05:41Z | 4 | 35 (final gate PASS)
|
sale_tar 36a916879255…checksums 1a2b7be96c11…verify_md b4e8b62ade4a…rebuild_md 22b6658e86af…manifest_txt b9f247f651fd…actions_jsonl 8128815e38f9…provenance_md 00a7fbd969dd…assetchain_log_md e9eccaec0c0f…assetchain_log_json 185a90958d76… |
[stage_runs]
Rewinds
- 2026-11-09T14:17:19Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #29095] - 2026-11-09T15:44:17Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #29319] - 2026-11-09T16:45:18Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #29413]
Model work per stage
Fully recordedRole: writer model. Calls up to 2026-11-09T16:05:41Z.
208 calls over 5 stages
| Stage | Calls | Refused | Errors | Max attempt | Forced commits | Real tokens | Lesson rules shown |
|---|---|---|---|---|---|---|---|
plan | 2 | 0 | 0 | 1 | 0 | 6775 | L-A183, L-A15 |
remediate | 2 | 0 | 0 | 1 | 0 | 6625 | L-A183, L-A15 |
admin_handbook | 111 | 53 | 0 | 3 | 21 | 974514 | L-A180, L-A181, L-A182, L-A183, L-A184, L-A155, L-A114, L-A25, L-A15, L-A14 |
db_handbook | 92 | 42 | 0 | 3 | 16 | 739198 | L-A180, L-A181, L-A182, L-A183, L-A184, L-A114, L-A15 |
usecase_validate | 1 | 0 | 0 | 1 | 0 | 1778 | L-A59 |
[micro_step_runs] [lesson_recalls]
Review
Fully recordedRole: review model.
3 rounds, 3 counted, $5.30 recorded cost
| Round | Started | Critical | Major | Minor | Verdict | Cost | Cap in force | Archive reviewed |
|---|---|---|---|---|---|---|---|---|
| 1 | 2026-11-09T13:49:12Z | 0 | 9 | 28 | findings to repackage [held_rounds, held_rounds #1625] | $2.09 | 3 rounds, $40.00 | a5a1eb6ddbe6… |
| 2 | 2026-11-09T15:09:32Z | 0 | 4 | 7 | findings to repackage [held_rounds, held_rounds #1642] | $1.67 | 3 rounds, $40.00 | 2142048a4968… |
| 3 | 2026-11-09T16:06:18Z | 0 | 0 | 9 | clean to publish [held_rounds, held_rounds #1648] | $1.54 | 3 rounds, $40.00 | 36a916879255… |
Defects
Fully recorded- Ledger entries59 [defects, defects where product_slug=haproxy and this tag or chain]
- Disclosed in the archive59 [docs/defects/defects.json, entries]
59 ledger entries: by severity low 46, high 13; by status wont-fix-by-design 1, open 1, fixed-before-release 57.
| Defect | Severity | Status | Found by | Fixed in |
|---|---|---|---|---|
RSD-haproxy-64a23158e4Unused third-party device-detection add-ons are removed from the source before the build: addons/51degrees, addons/deviceatlas, addons/wurfl [defects, defects #203569] | low | wont-fix-by-design | build strategy record | — |
RSD-haproxy-4e07e2e3b6Release notes: The image's placeholder answer (a build input, unchanged from the previous release) recommends the single-file mount that the handbooks and the kit's own cfg header say never sees edits; the… [defects, defects #209429] | low | open | held review (review model) | — |
RSD-haproxy-31f9f431daDatabase handbook: Procedure fails: the section tells the customer to run `docker run ... [defects, defects #210645] | high | fixed-before-release | held review (review model) | — |
RSD-haproxy-d0af7627afDatabase handbook: Same procedure: the command needs a prior `docker rm -f haproxy` (the name is in use by the container started earlier) and publishing 8404 never exposes the loopback-bound stats frontend. [defects, defects #210646] | high | fixed-before-release | held review (review model) | — |
RSD-haproxy-9ddef9cb4dDatabase handbook: Lists GET/HEAD /stats and /metrics as endpoints of 'the listener that binds port 8080' and says they serve statistics and metrics; on 8080 they return the placeholder text (contradicts… [defects, defects #210647] | high | fixed-before-release | held review (review model) | — |
RSD-haproxy-c9591c3dd2Database handbook: The example 'to validate a configuration file' is malformed: `-v` before the image name is docker's volume flag and swallows the image reference as a volume spec, so docker run fails; and after the… [defects, defects #210648] | high | fixed-before-release | held review (review model) | — |
RSD-haproxy-0b6ea6e6a3Database handbook: The ACME configuration example (lines ~1233-1241) does not parse: the section header needs an ID and `server`, `account-key-file` and `email` are not acme keywords in 3.4.6. [defects, defects #210649] | high | fixed-before-release | held review (review model) | — |
RSD-haproxy-9bd726a05fAPI guide: The guide gives Base URL http://<host>:8080 and then lists /stats and /metrics as routes with no port; a customer calling http://<host>:8080/stats or /metrics gets the placeholder message, not… [defects, defects #210650] | high | fixed-before-release | held review (review model) | — |
RSD-haproxy-3ee2a6969eAPI guide: Same as the /stats row: /metrics is not served on the documented base URL. [defects, defects #210651] | high | fixed-before-release | held review (review model) | — |
RSD-haproxy-8b7de34bedAdmin handbook: First description of the shipped configuration is false and contradicts the next paragraph's 'reachable only from inside the container'. [defects, defects #210652] | high | fixed-before-release | held review (review model) | — |
RSD-haproxy-c759891bc7Admin handbook: Advises mode 600 for private keys without saying the file must be owned by uid 99; a 600 key owned by the customer's host user (bind mounts keep host ownership) is unreadable by uid 99 and HAProxy… [defects, defects #210653] | high | fixed-before-release | held review (review model) | — |
RSD-haproxy-b3a2a03064Admin handbook: Port 8080 serves no statistics. [defects, defects #210654] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-5a77ddba68Admin handbook: Port 8080 serves no statistics page. [defects, defects #210655] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-ab47e255d9Admin handbook: /healthz is a monitor-uri: it returns the HTML 200 page, not the plain-text placeholder; contradicts ADMIN_HANDBOOK.md:1065 and the Operating facts. [defects, defects #210656] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-b850420c10Admin handbook: Self-contradicting list (next bullets say /healthz answers 'Service ready.'); /healthz is HTML. [defects, defects #210657] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-192c290f34Admin handbook: Exit status on an invalid configuration is 1, not 2 (scripts testing for 2 would miss failures; DB_HANDBOOK.md:245 says 1). [defects, defects #210658] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-7898b1bcc9Admin handbook: The example server line does not parse: a URL is not a server address. [defects, defects #210659] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-a023e705f5Admin handbook: Misstates the image config and contradicts the Operating facts and the same section ('replacing only the -f part'). [defects, defects #210660] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-35ed848bcdAdmin handbook: The haproxy account has a shell. [defects, defects #210661] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-195b20735cDatabase handbook: The account has a shell (/bin/sh) and a home entry (/var/lib/haproxy). [defects, defects #210662] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-d96e339ce0Admin handbook: Contradiction in the same paragraph: `-p` is ignored with --network host, so '-p 80:8080' publishes nothing there. [defects, defects #210663] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-ad6afcf1c0Database handbook: Self-contradicting: privileged ports cannot be bound with the host value 1024 and -p does nothing in host mode. [defects, defects #210664] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-cd39eb4a26Admin handbook: 'a different group (such as gid 99)' contradicts the previous clause (gid 99 is the haproxy group). [defects, defects #210665] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-237de41090Admin handbook: No record supports 'Docker Engine 20.10'; the kit states buildx >= 0.30 only. [defects, defects #210666] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-6645c4dfb4Admin handbook: VERIFY_OFFLINE.sh does not read REBUILT_DIGEST.txt. [defects, defects #210667] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-07a6b811c0Admin handbook: `docker inspect` cannot set a health check. [defects, defects #210668] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-a9e16bfe4aAdmin handbook: httplog logs per request, not per connection (contradicts ADMIN_HANDBOOK.md:249). [defects, defects #210669] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-54e0055747Database handbook: The command shown has -V, which prints 'Configuration file is valid'; contradicts the other check sections. [defects, defects #210670] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-e2b5f095f1Database handbook: The trailing `-p 8443:8443` is passed to haproxy (where -p is the pid-file option) as a pid file name; it is not a port publication and has no place in a check command. [defects, defects #210671] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-e3fc78d67fDatabase handbook: Contradicts the previous sentence of the same paragraph and the Operating facts: -code passes on any HTTP status. [defects, defects #210672] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-45b0112c68Database handbook: Upstream: by default a failing worker makes the master leave; it does not restart the worker. [defects, defects #210673] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-f44b5afebbDatabase handbook: These messages go to stderr only; DB_HANDBOOK.md:1285 and the Operating facts say stderr, and a stdout-only collector misses them. [defects, defects #210674] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-51eca40aedDatabase handbook: Same: stdout is empty for those messages. [defects, defects #210675] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-280e5273c4Database handbook: The strategy and recipe remove the three directories from the acquired and the vendored tree; the archive's source has only addons/ot and addons/promex. [defects, defects #210676] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-ff288252e5Database handbook: Wrong for the directory mount shown in this section; it tells the customer to re-create the container needlessly and contradicts the Config reload section. [defects, defects #210677] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-6d61f1a2a0Database handbook: Same wrong claim for directory mounts. [defects, defects #210678] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-f48033fdc7Database handbook: -body exits 1 on 4xx/5xx (the section's own commands), contradicting 'status 0 on any HTTP response'. [defects, defects #210679] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-5960e0aedfDatabase handbook: Says the statistics page and /metrics are reachable on 8080; the next sentences say 127.0.0.1:8404 only. [defects, defects #210680] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-62f63b843cVERIFY.md: No record of this run shows the VSA: IMAGE_EVIDENCE.json attestations.predicate_types lists only slsa.dev/provenance/v1 and spdx.dev/Document and PROMOTION_RECORD has promotion_deferred=true… [defects, defects #210681] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-671bdd5850Admin handbook: Port-mapping direction reversed: says the first -p number is the port inside the container, contradicting the example it explains. [defects, defects #216094] | high | fixed-before-release | held review (review model) | — |
RSD-haproxy-b73d54d552Database handbook: Tells the customer that being able to read the file as their own host user is enough; HAProxy runs as uid 99, so a file readable only by the host user (the usual mode-600 file they created) makes… [defects, defects #216095] | high | fixed-before-release | held review (review model) | — |
RSD-haproxy-3532f3d0b4Database handbook: Key-file permission advice still leaves out that a mode-600 key must be owned by uid 99; the parenthetical is impossible as written. [defects, defects #216096] | high | fixed-before-release | held review (review model) | — |
RSD-haproxy-3a1b9337f5Database handbook: The ACME start command fails as written for any directory the customer creates; the text never says the directory must be owned by uid 99. [defects, defects #216097] | high | fixed-before-release | held review (review model) | — |
RSD-haproxy-46d2580f33Database handbook: Contradiction in the same section: /healthz is an HTML page, not the plain-text placeholder (round-1 finding persists in this paraphrase). [defects, defects #216098] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-58a9146adcDatabase handbook: False statement that the check rejects root-only directives; a customer who relies on it ships a configuration that passes the check and crashes at start. [defects, defects #216099] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-c99c1260f7Admin handbook: Overstates: a pid file in a writable directory works as uid 99. [defects, defects #216100] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-52caf4f3b8Admin handbook: Self-contradiction: says mode 640 fails and then lists group-readable as a working option. [defects, defects #216101] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-a593644598Admin handbook: Wrong rule for group access: it depends on the file's group, not on its owner being in the haproxy group. [defects, defects #216102] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-8106e28fcdDatabase handbook: Dangling cross-reference to a section that does not exist. [defects, defects #216103] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-4ed492f986VERIFY.md: Names a SLSA Verification Summary Attestation that no record of this run shows (L-A39); the third cosign command is unverified. [defects, defects #216104] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-0ebfec1354Database handbook: Contradicts the preceding paragraph of the same section: the validation does not report directives that cannot run as non-root. [defects, defects #218428] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-f1155c66ceDatabase handbook: The copy-paste command fails for a customer who is not root; the text gives no way to run it. [defects, defects #218429] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-d243e2d57cAdmin handbook: Dangling cross-reference to a document that does not exist. [defects, defects #218430] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-159e6f5330Database handbook: Contradicts the Operating facts and Health checks sections: the check does not require HTTP 200. [defects, defects #218431] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-2afe66340dAdmin handbook: As written the command opens no usable shell; the other sections use `docker exec -i <container> sh` for scripts. [defects, defects #218432] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-85c5b968c2Admin handbook: The command shown mounts nothing, so a customer who runs it as written learns nothing about their mounted configuration. [defects, defects #218433] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-f66fb368a1Database handbook: Self-contradiction within the paragraph about editing the mounted file. [defects, defects #218434] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-f9f91d6947Database handbook: Overstates: only a mount keeps the file; a directory mount is needed for edits that replace the file, not for survival. [defects, defects #218435] | low | fixed-before-release | held review (review model) | — |
RSD-haproxy-b3d91572a8Database handbook: Garbled sentence implying stick tables can be configured to live on disk; contradicts the rest of the section. [defects, defects #218436] | low | fixed-before-release | held review (review model) | — |
Verification
1 item not recorded- Reproduced before publishingyes (rebuilt digest sha256:f9d24c2b3613130e6a9a342adcf5a8d1e9b7b9a151a525f7061418bbee6746a8 · published digest sha256:f9d24c2b3613130e6a9a342adcf5a8d1e9b7b9a151a525f7061418bbee6746a8 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 154) [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 · tool docker scout policy 1.26.0 · config docker-default · org vex no · at 2026-11-09T16:46:01Z · failing Docker Scout counts 10 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-09T16:45:51Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
- Image signature transparency-log entries
- log index 3762684132 · transparency-log entry
- log index 3762686970 · transparency-log entry
- rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3767148966 · transparency-log entry · integrated 2026-11-09T16:48:38Z) [ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
- Signed attestations
- kind provenance · digest sha256:9ad87660f930651f88076769052b98cb8e0cfa5daff4755a5c5af83f3421896d · state attached · log index 3767149125 · transparency-log entry
- kind sbom · digest sha256:9ad87660f930651f88076769052b98cb8e0cfa5daff4755a5c5af83f3421896d · state attached · log index 3767149273 · transparency-log entry
- kind vsa · digest sha256:9ad87660f930651f88076769052b98cb8e0cfa5daff4755a5c5af83f3421896d · state attached · log index 3767149418 · transparency-log entry
- kind provenance · digest sha256:f9d24c2b3613130e6a9a342adcf5a8d1e9b7b9a151a525f7061418bbee6746a8 · state attached · log index 3767149599 · transparency-log entry
- kind sbom · digest sha256:f9d24c2b3613130e6a9a342adcf5a8d1e9b7b9a151a525f7061418bbee6746a8 · state attached · log index 3767149906 · transparency-log entry
- kind vsa · digest sha256:f9d24c2b3613130e6a9a342adcf5a8d1e9b7b9a151a525f7061418bbee6746a8 · state attached · log index 3767150259 · transparency-log entry
- Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/haproxy/recipe) [docs/provenance/PINS.json]
Offline clean-room rebuilds
- 2026-11-09T13:49:16Z on build host 4 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
rebuilt sha256:f9d24c2b3613130e6a9a342adcf5a8d1e9b7b9a151a525f7061418bbee6746a8 [clean-room rebuild ledger, runs[701]]
- 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-09T09:16:31Z [stage_runs, stage_runs chain 920 stage publish_image]
- Archive manifests written2026-11-09T16:47:28Z [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 68 · probed 2026-11-09T09:12:37Z · source build_kit) [release_images, isa_level_hard]
History
2 events- 2026-11-09T16:49:44Z generated: by KitForge release/build_trail.py · generator commit 5163af4d4c1993a6202ab252a3207b9300f6e3e6
- 2026-11-09T16:50:56Z publication: promoted at 2026-11-09T16:50:16Z · promoted digest sha256:9ad87660f930651f88076769052b98cb8e0cfa5daff4755a5c5af83f3421896d · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 424 · checklist status complete · checklist at 2026-11-09T16:50:56Z · 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-haproxy-3.4.6-CE-ubuntu24.04-r6.tar.gz) | — |
docs/provenance/IMAGE_EVIDENCE.json | inside the archive (ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.tar.gz) | — |
docs/provenance/LOCKED_DIGEST.txt | inside the archive (ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.tar.gz) | — |
docs/provenance/PINS.json | inside the archive (ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.tar.gz) | — |
docs/provenance/REPRO_VERIFICATION.json | inside the archive (ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.tar.gz) | — |
docs/provenance/SOURCE_TREE_HASH.json | inside the archive (ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.tar.gz) | — |
MANIFEST.json | beside the archive (prodasset /data/production/haproxy/3.4.6-CE-ubuntu24.04-r6/), as staged for publishing | — |
PUBLISH_MANIFEST.json | beside the archive (prodasset /data/production/haproxy/3.4.6-CE-ubuntu24.04-r6/), as staged for publishing | — |
ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.rebuild.json | beside the archive (prodasset /data/production/haproxy/3.4.6-CE-ubuntu24.04-r6/), as staged for publishing | — |
ReadyStack-haproxy-3.4.6-CE-ubuntu24.04-r6.rebuild.json.sigstore | beside the archive (prodasset /data/production/haproxy/3.4.6-CE-ubuntu24.04-r6/), as staged for publishing | — |
SCOUT_EVIDENCE.json | beside the archive (prodasset /data/production/haproxy/3.4.6-CE-ubuntu24.04-r6/), 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) | 544 |
chains | sadb, ReadyStack's engine database (not published) | 920 |
defects | sadb, ReadyStack's engine database (not published) | haproxy 3.4.6-CE-ubuntu24.04-r6 |
drive_runs | sadb, ReadyStack's engine database (not published) | chain 920 |
held_rounds | sadb, ReadyStack's engine database (not published) | chain 920 |
lesson_recalls | sadb, ReadyStack's engine database (not published) | chain 920 |
micro_step_runs | sadb, ReadyStack's engine database (not published) | chain 920 |
release_images | sadb, ReadyStack's engine database (not published) | haproxy 3.4.6-CE-ubuntu24.04-r6 |
stage_events | sadb, ReadyStack's engine database (not published) | chain 920 |
stage_runs | sadb, ReadyStack's engine database (not published) | chain 920 |
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) | — |