DocuSeal 3.3.5-CE-alpine-r1 build trail
How ReadyStack built readystack/docuseal:3.3.5-CE-alpine-r1 and its build kit, copied record by record: why the release exists, every chain, drive and stage it went through, the model work, the review rounds, the defects, the checks that verified it and when it was published. Each line names the record it comes from in brackets; a record that does not exist for this release says so.
This trail
As JSON- Image
readystack/docuseal:3.3.5-CE-alpine-r1 - Index digestsha256:2bd19fee6412852bae7a90b80e1900025caaadc6329b4b4fc68e3e31dd8b0cdb
- linux/amd64 digestsha256:6b49cebbc4f29bba566f76054356091e08952197936891e19027d8356a495359
- Archive
ReadyStack-docuseal-3.3.5-CE-alpine-r1.tar.gz - Archive SHA-256 now78859b392a184121360306fb425b52fcaae82534b4ff03452bd75a277dcf2a27
- Pins record
docs/PINS.md,docs/provenance/PINS.jsonin the archive (since generated) - Generated2026-11-08T21:13:56Z 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-docuseal-3.3.5-CE-alpine-r1.trail.json.sigstore ReadyStack-docuseal-3.3.5-CE-alpine-r1.trail.json
IdentityWhy this release existsThe path through the harnessModel work per stageReviewDefectsVerificationPublicationPackages and CPU level
Identity
Fully recorded- ProductDocuSeal (docuseal) [MANIFEST.json]
- Release tag3.3.5-CE-alpine-r1 [MANIFEST.json]
- Imagereadystack/docuseal:3.3.5-CE-alpine-r1 [MANIFEST.json]
- Image index digestsha256:2bd19fee6412852bae7a90b80e1900025caaadc6329b4b4fc68e3e31dd8b0cdb [docs/provenance/LOCKED_DIGEST.txt]
- linux/amd64 image digestsha256:6b49cebbc4f29bba566f76054356091e08952197936891e19027d8356a495359 [ReadyStack-docuseal-3.3.5-CE-alpine-r1.rebuild.json, subject.image_manifest_digest]
- ArchiveReadyStack-docuseal-3.3.5-CE-alpine-r1.tar.gz (bytes 367984883) [MANIFEST.json]
- Archive sha256 at publish78859b392a184121360306fb425b52fcaae82534b4ff03452bd75a277dcf2a27 [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/docusealco/docuseal [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream ref3.3.5 [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream commit6c416dd76e10a44a6440a77d144819199687a06b [docs/provenance/SOURCE_TREE_HASH.json]
- Source tree hashd9a9051d0dff5668de702e577b055b5eb87ed4cd8562d9c9a59512aa9fdb3273 (files 1141) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
- Kit tree hashsha256:f7c93e5045d9fc5dbfbcdf3b064c64744fb2f6f2ac507458a0577de6e3769f80 [ReadyStack-docuseal-3.3.5-CE-alpine-r1.rebuild.json, inputs.tree_hash]
- SOURCE_DATE_EPOCH1793623466 (utc 2026-11-02T12:44:26Z) [ReadyStack-docuseal-3.3.5-CE-alpine-r1.rebuild.json, inputs.source_date_epoch]
- Base images
- ref ruby:4.0.9-alpine@sha256:8ad6909db16ad53b5dc90bb8cc157e5fdd89ba1172798316b95cfd2a61f14b1e · platform digest sha256:1ee07529361bc36bc38b9dd1febd6698178a74a31a10ed157d36cea470cc32af
- BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-docuseal-3.3.5-CE-alpine-r1.rebuild.json, engine]
- Engine commit(s)
- commit 1965bb7c468fd301b7164e27ef82448632bd34f4 · dirty yes · first drive 3639
- commit 373d3c6436c70a6b11e2c6f6d2aa49fc56a5a5c1 · dirty yes · first drive 3652
- commit 0ce62a3a548f16cde73a6e8600cacfdd38930d4d · dirty yes · first drive 3871
- commit b856f35a467a445ca8f27ff449231eeab497f2d5 · dirty yes · first drive 3878
- commit 58e9240297aa7166e0dec2e18a9c5ae2e84212bf · dirty yes · first drive 3880
Why this release exists
Fully recorded- Chain856 (created 2026-11-07T10:14:55Z · trigger customer_request · upstream version 3.3.5) [chains, chains #856]
- Requestbuild request #490 (rebuild) (requested at 2026-11-03T09:40:24Z · requested by kitforge-agent · version 3.3.5) [build_requests, build_requests #490]
- Reasonretarget to 3.3.5: a newer upstream release (rule 1) [build_requests, build_requests #490 request_reason]
- Supersedesreadystack/docuseal:3.3.3-CE-alpine-r3 (chain 732) [chains, chains #732]
The path through the harness
Fully recorded1 chain · 5 drives · 18 stages · 3 rewinds
Chain 856 release · ready_to_ship
Created 2026-11-07T10:14:55Z, upstream 3.3.5, build request 490 [chains, chains #856]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 3639 | 2026-11-07T10:15:25Z | 27.8 | build host 3 withhold-publish | stage_failed at verdict; first failed check scout_verdict:release_check_passed; 7 ticks [drive_runs, drive_runs #3639] |
| 3652 | 2026-11-07T11:16:53Z | 3.7 | build host 3 withhold-publish | stage_failed at verdict; first failed check scout_verdict:release_check_passed; 1 tick [drive_runs, drive_runs #3652] |
| 3871 | 2026-11-08T20:04:30Z | 35.2 | build host 3 withhold-publish | ready_to_ship at package_archive; 16 ticks [drive_runs, drive_runs #3871] |
| 3878 | 2026-11-08T20:59:01Z | 4 | build host 3 withhold-publish | ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #3878] |
| 3880 | 2026-11-08T21:06:29Z | — | build host 3 publish-held | not recorded [drive_runs, drive_runs #3880] |
Stages, in order
| Stage | First start | Passed | Attempts | Gate checks passed | Artifacts (SHA-256) |
|---|---|---|---|---|---|
intake |
2026-11-07T10:15:35Z | 2026-11-07T10:15:36Z | 1 | 4
|
order_json 96c5cfefa42f… |
acquire |
2026-11-07T10:15:40Z | 2026-11-07T10:15:41Z | 1 | 12
|
source_tree 088b7c03dbec…license_file 76a97c878c9c…custody_inputs e41e2713a024…source_tree_hash 03c390adc386…source_file_manifest 8739c8a59ad8… |
plan |
2026-11-07T10:17:33Z | 2026-11-07T10:17:34Z | 1 | 10
|
recon_report 923788fce1b3…input_pin_plan 70d6644468b3…toolchain_lock 2107ac27cd51… |
assemble_kit |
2026-11-07T10:35:45Z | 2026-11-08T20:22:28Z | 2 | 27
|
dockerfile 0c70497704d2…build_recipe bdabdfde9825…system_pinning 998caf54cfee…build_offline_sh 6633aa31b6b4…generate_sbom_sh ce0f1e6f1e70…first_boot_health 3323128fa387…verify_offline_sh 3e8184ea230c…base_image_digests 96576211020f…dockerfile_offline 0c70497704d2…first_build_digest 919808ad79a8… |
remediate |
2026-11-07T10:37:05Z | 2026-11-08T20:22:32Z | 2 | 8
|
vendored_apt e3b0c44298fc…remediation_log 7702626a0ab0…security_report c08f0e70deb5… |
build_kit |
2026-11-07T10:41:00Z | 2026-11-08T20:25:49Z | 2 | 9
|
cosign_stamp 93abc84e4031…locked_digest a9de1ccb4a98…freeze_manifest 0283329c0230…offline_rebuild_transcript 9d7f6dc13b9f… |
verdict |
2026-11-07T10:43:12Z | 2026-11-08T20:29:49Z | 3 | 8
|
scout_verdict 087965caa039… |
publish_image |
2026-11-08T20:30:43Z | 2026-11-08T20:30:44Z | 1 | 7
|
hub_readme 2e9d28a847d2…promotion_record a77b01d0e1bf… |
boot_instance |
2026-11-08T20:31:02Z | 2026-11-08T20:31:05Z | 2 | 3
|
instance_handle ba946cfa7faa… |
sbom |
2026-11-08T20:31:25Z | 2026-11-08T20:31:26Z | 1 | 5
|
sbom_md 8b6446e6bca1…sbom_json a0cda1bcd9c9… |
schema_discovery |
2026-11-08T20:31:29Z | 2026-11-08T20:31:29Z | 1 | 7
|
schema_hash 064af21fe8a4…dependency_tree 3f93c4db521f…table_classification 6ceaf5268055… |
admin_handbook |
2026-11-08T20:31:36Z | 2026-11-08T20:31:37Z | 1 | 7
|
api_map 3a50e7a4ca5d…admin_handbook 8b031264a9b5… |
db_handbook |
2026-11-08T20:31:45Z | 2026-11-08T20:31:46Z | 1 | 8
|
db_handbook 42b451e06126…seed_isolation fd5b55dca72b… |
seed_data |
2026-11-08T20:31:50Z | 2026-11-08T20:31:51Z | 1 | 6
|
seed_data_sql 9f466d5a53c4…seed_cases_json 14837ae14b83… |
seed_validate |
2026-11-08T20:31:54Z | 2026-11-08T20:31:55Z | 1 | 3
|
seed_data_contract 6439177c2a77… |
usecase_validate |
2026-11-08T20:32:12Z | 2026-11-08T20:32:13Z | 1 | 10
|
failed_tests b2247b16f5f7…passed_tests 4391a182ba9a…test_results b8ff56642daf…usecase_contract ffe86f4015a3… |
finalize_docs |
2026-11-08T20:32:18Z | 2026-11-08T20:32:19Z | 1 | 9
|
defects_json 8b97f05c86eb…release_notes fff4103e3273…api_integration_guide a75c7ce70a7e… |
package_archive invalidated 2026-11-08T21:06:03Z |
2026-11-08T20:39:38Z | 2026-11-08T21:02:59Z | 2 | 34 (final gate PASS)
|
sale_tar bbfad57fea8a…checksums bd270fe6f125…verify_md d1f57ce52c23…rebuild_md 54530950768f…manifest_txt 57ba4069fc42…actions_jsonl 21fb017642ec…provenance_md 76da57c90e62…assetchain_log_md e9eccaec0c0f…assetchain_log_json dac7ce7ff2ed… |
[stage_runs]
Rewinds
- 2026-11-08T20:04:34Z:
verdicttoassemble_kiton strategy_changed (strategy changed (98c8a801c947 -> 50b0179d4c4a)) [stage_events, stage_events #27233] - 2026-11-08T20:58:16Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #27385] - 2026-11-08T21:06:03Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #27394]
Model work per stage
Fully recordedRole: writer model. Calls up to 2026-11-08T21:02:59Z.
5 calls over 3 stages
| Stage | Calls | Refused | Errors | Max attempt | Forced commits | Real tokens | Lesson rules shown |
|---|---|---|---|---|---|---|---|
plan | 2 | 0 | 0 | 1 | 0 | 20878 | L-A183, L-A15 |
remediate | 2 | 0 | 0 | 1 | 0 | 20817 | L-A183, L-A15 |
usecase_validate | 1 | 0 | 0 | 1 | 0 | 1550 | L-A59 |
[micro_step_runs] [lesson_recalls]
Review
Fully recordedRole: review model.
2 rounds, 2 counted, $0.93 recorded cost
| Round | Started | Critical | Major | Minor | Verdict | Cost | Cap in force | Archive reviewed |
|---|---|---|---|---|---|---|---|---|
| 1 | 2026-11-08T20:41:08Z | 0 | 10 | 0 | findings to repackage [held_rounds, held_rounds #1539] | $0.59 | 3 rounds, $40.00 | b5952e3ec905… |
| 2 | 2026-11-08T21:03:42Z | 0 | 0 | 0 | clean to publish [held_rounds, held_rounds #1541] | $0.34 | 3 rounds, $40.00 | bbfad57fea8a… |
Defects
Fully recorded- Ledger entries6 [defects, defects where product_slug=docuseal and this tag or chain]
- Disclosed in the archive5 [docs/defects/defects.json, entries]
6 ledger entries: by severity high 5, critical 1; by status open 1, fixed-in-release 1, fixed-before-release 4.
| Defect | Severity | Status | Found by | Fixed in |
|---|---|---|---|---|
RSD-docuseal-dc99622f86First visitor can claim the administrator account until setup is completed [defects, defects #183846] | high | open | build strategy record | — |
RSD-docuseal-da80ff6214CVE-2026-97229 in ruby 4.0.5 is on CISA's Known Exploited Vulnerabilities list [defects, defects #183847] | critical | fixed-in-release | image scan | 3.3.5-CE-alpine-r1 |
RSD-docuseal-4d9fc2b091PROVENANCE.md: Records state the bundled WordCraft version as 0.8.0; the image carries 0.11.0 and the release notes' own change list says 0.11.0. [defects, defects #184171] | high | fixed-before-release | held review (review model) | — |
RSD-docuseal-3af2e830caDatabase handbook: Environment list not updated for the Ruby 4.0.9 base. [defects, defects #184172] | high | fixed-before-release | held review (review model) | — |
RSD-docuseal-3082ad56b4Database handbook: Stale Ruby download URL. [defects, defects #184173] | high | fixed-before-release | held review (review model) | — |
RSD-docuseal-009d7a34fbDatabase handbook: Stale RUBY_VERSION; the image sets 4.0.9. [defects, defects #184174] | high | fixed-before-release | held review (review model) | — |
Verification
1 item not recorded- Reproduced before publishingyes (rebuilt digest sha256:6b49cebbc4f29bba566f76054356091e08952197936891e19027d8356a495359 · published digest sha256:6b49cebbc4f29bba566f76054356091e08952197936891e19027d8356a495359 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 67) [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, trademark_shipped, vex_shipped) [g8_result.json, result]
- Grade at releaseB (percent 72 · docker grade C · docker percent 61 · tool docker scout policy 1.26.0 · config docker-default · org vex no · at 2026-11-08T21:07:06Z · failing 1 fixable critical/high vulnerability (1 high) in 1 package, e.g. musl 1.2.6-r3 (fixed in 1.2.6-r6)., Docker Scout counts 44 packages with copyleft licences (AGPL, GPL, LGPL, MPL), 41 of them operating-system packages (it counts only packages whose licence it can read; the SBOM lists every component). AGPL: hexapdf, redis. · 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-08T21:06:42Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
- Image signature transparency-log entries
- log index 3759027330 · transparency-log entry
- log index 3759027398 · transparency-log entry
- rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3759110800 · transparency-log entry · integrated 2026-11-08T21:12:51Z) [ReadyStack-docuseal-3.3.5-CE-alpine-r1.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
- Signed attestations
- kind provenance · digest sha256:2bd19fee6412852bae7a90b80e1900025caaadc6329b4b4fc68e3e31dd8b0cdb · state attached · log index 3759110860 · transparency-log entry
- kind sbom · digest sha256:2bd19fee6412852bae7a90b80e1900025caaadc6329b4b4fc68e3e31dd8b0cdb · state attached · log index 3759110944 · transparency-log entry
- kind vsa · digest sha256:2bd19fee6412852bae7a90b80e1900025caaadc6329b4b4fc68e3e31dd8b0cdb · state attached · log index 3759111027 · transparency-log entry
- kind provenance · digest sha256:6b49cebbc4f29bba566f76054356091e08952197936891e19027d8356a495359 · state attached · log index 3759111092 · transparency-log entry
- kind sbom · digest sha256:6b49cebbc4f29bba566f76054356091e08952197936891e19027d8356a495359 · state attached · log index 3759111151 · transparency-log entry
- kind vsa · digest sha256:6b49cebbc4f29bba566f76054356091e08952197936891e19027d8356a495359 · state attached · log index 3759111252 · transparency-log entry
- Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/docuseal/recipe) [docs/provenance/PINS.json]
Offline clean-room rebuilds
- 2026-11-08T20:41:12Z on build host 3 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
rebuilt sha256:6b49cebbc4f29bba566f76054356091e08952197936891e19027d8356a495359 [clean-room rebuild ledger, runs[667]]
- 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-08T20:30:44Z [stage_runs, stage_runs chain 856 stage publish_image]
- Archive manifests written2026-11-08T21:08:46Z [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 442 · probed 2026-11-07T10:39:33Z · source build_kit) [release_images, isa_level_hard]
History
2 events- 2026-11-08T21:13:56Z generated: by KitForge release/build_trail.py · generator commit 58e9240297aa7166e0dec2e18a9c5ae2e84212bf
- 2026-11-08T21:15:28Z publication: promoted at 2026-11-08T21:14:26Z · promoted digest sha256:2bd19fee6412852bae7a90b80e1900025caaadc6329b4b4fc68e3e31dd8b0cdb · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 388 · checklist status complete · checklist at 2026-11-08T21:15:28Z · 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-docuseal-3.3.5-CE-alpine-r1.tar.gz) | — |
docs/provenance/IMAGE_EVIDENCE.json | inside the archive (ReadyStack-docuseal-3.3.5-CE-alpine-r1.tar.gz) | — |
docs/provenance/LOCKED_DIGEST.txt | inside the archive (ReadyStack-docuseal-3.3.5-CE-alpine-r1.tar.gz) | — |
docs/provenance/PINS.json | inside the archive (ReadyStack-docuseal-3.3.5-CE-alpine-r1.tar.gz) | — |
docs/provenance/REPRO_VERIFICATION.json | inside the archive (ReadyStack-docuseal-3.3.5-CE-alpine-r1.tar.gz) | — |
docs/provenance/SOURCE_TREE_HASH.json | inside the archive (ReadyStack-docuseal-3.3.5-CE-alpine-r1.tar.gz) | — |
MANIFEST.json | beside the archive (prodasset /data/production/docuseal/3.3.5-CE-alpine-r1/), as staged for publishing | — |
PUBLISH_MANIFEST.json | beside the archive (prodasset /data/production/docuseal/3.3.5-CE-alpine-r1/), as staged for publishing | — |
ReadyStack-docuseal-3.3.5-CE-alpine-r1.rebuild.json | beside the archive (prodasset /data/production/docuseal/3.3.5-CE-alpine-r1/), as staged for publishing | — |
ReadyStack-docuseal-3.3.5-CE-alpine-r1.rebuild.json.sigstore | beside the archive (prodasset /data/production/docuseal/3.3.5-CE-alpine-r1/), as staged for publishing | — |
SCOUT_EVIDENCE.json | beside the archive (prodasset /data/production/docuseal/3.3.5-CE-alpine-r1/), 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) | 490 |
chains | sadb, ReadyStack's engine database (not published) | 856 |
defects | sadb, ReadyStack's engine database (not published) | docuseal 3.3.5-CE-alpine-r1 |
drive_runs | sadb, ReadyStack's engine database (not published) | chain 856 |
held_rounds | sadb, ReadyStack's engine database (not published) | chain 856 |
lesson_recalls | sadb, ReadyStack's engine database (not published) | chain 856 |
micro_step_runs | sadb, ReadyStack's engine database (not published) | chain 856 |
release_images | sadb, ReadyStack's engine database (not published) | docuseal 3.3.5-CE-alpine-r1 |
stage_events | sadb, ReadyStack's engine database (not published) | chain 856 |
stage_runs | sadb, ReadyStack's engine database (not published) | chain 856 |
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) | — |