Mattermost v12.0.2-CE-ubuntu24.04-r2 build trail
How ReadyStack built readystack/mattermost:v12.0.2-CE-ubuntu24.04-r2 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/mattermost:v12.0.2-CE-ubuntu24.04-r2 - Index digestsha256:d79d839282f68597e5dae4a4742c09d7d0539aec5ecda8270329cc6a1abbfd94
- linux/amd64 digestsha256:b2630e7a7ebf59b969bc85fc8e2cffbef9c10537cb8679fbc0e19cb88ff196f3
- Archive
ReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.tar.gz - Archive SHA-256 now4b0bb3c9803bec8b8de663f15e81667c93631ac3e94e5392cc5c25f3788ae422
- Pins record
docs/PINS.md,docs/provenance/PINS.jsonin the archive (since generated) - Generated2026-11-12T16:07:22Z 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-mattermost-v12.0.2-CE-ubuntu24.04-r2.trail.json.sigstore ReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.trail.json
IdentityWhy this release existsThe path through the harnessModel work per stageReviewDefectsVerificationPublicationPackages and CPU level
Identity
Fully recorded- ProductMattermost (mattermost) [MANIFEST.json]
- Release tagv12.0.2-CE-ubuntu24.04-r2 [MANIFEST.json]
- Imagereadystack/mattermost:v12.0.2-CE-ubuntu24.04-r2 [MANIFEST.json]
- Image index digestsha256:d79d839282f68597e5dae4a4742c09d7d0539aec5ecda8270329cc6a1abbfd94 [docs/provenance/LOCKED_DIGEST.txt]
- linux/amd64 image digestsha256:b2630e7a7ebf59b969bc85fc8e2cffbef9c10537cb8679fbc0e19cb88ff196f3 [ReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.rebuild.json, subject.image_manifest_digest]
- ArchiveReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.tar.gz (bytes 1233384954) [MANIFEST.json]
- Archive sha256 at publish4b0bb3c9803bec8b8de663f15e81667c93631ac3e94e5392cc5c25f3788ae422 [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/mattermost/mattermost [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream refv12.0.2 [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream commit13ae6c4cf1a8e73c35a4f0c8816a505506c7acdd [docs/provenance/SOURCE_TREE_HASH.json]
- Source tree hashf06be07cd9c787be9e14a7062e138b636acc04dbc9ec9e00b1bae8864589bc35 (files 15911) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
- Kit tree hashsha256:34595f250a0e372f351b4e3a60e23ca0c69d8052b39a01312df364ec6f2dfe6e [ReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.rebuild.json, inputs.tree_hash]
- SOURCE_DATE_EPOCH1794391138 (utc 2026-11-11T09:58:58Z) [ReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.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-mattermost-v12.0.2-CE-ubuntu24.04-r2.rebuild.json, engine]
- Engine commit(s)
- commit d439f5fb4e2900022d4c2b52cfcb9e9af8fcc20a · dirty yes · first drive 4433
- commit 5cf3b0594a304e32ae246441aa48f3a4b4d2aaa5 · dirty yes · first drive 4451
Why this release exists
Fully recorded- Chain989 (created 2026-11-11T23:56:11Z · trigger customer_request · upstream version v12.0.2) [chains, chains #989]
- Requestbuild request #658 (rebuild) (requested at 2026-11-11T09:58:59Z · requested by kitforge-agent · version v12.0.2) [build_requests, build_requests #658]
- Reasonrerelease agenda REVISION -> v12.0.2-CE-ubuntu24.04-r2 (decay loop, IMP-08) [build_requests, build_requests #658 request_reason]
- Supersedesreadystack/mattermost:v12.0.2-CE-ubuntu24.04-r1 (chain 900) [chains, chains #900]
The path through the harness
Fully recorded1 chain · 2 drives · 18 stages · 1 rewind
Chain 989 release · ready_to_ship
Created 2026-11-11T23:56:11Z, upstream v12.0.2, build request 658 [chains, chains #989]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 4433 | 2026-11-12T14:01:15Z | 55.2 | build host 5 withhold-publish | ready_to_ship at package_archive; 19 ticks [drive_runs, drive_runs #4433] |
| 4451 | 2026-11-12T15:54:56Z | — | build host 5 publish-held | not recorded [drive_runs, drive_runs #4451] |
Stages, in order
| Stage | First start | Passed | Attempts | Gate checks passed | Artifacts (SHA-256) |
|---|---|---|---|---|---|
intake |
2026-11-12T14:01:26Z | 2026-11-12T14:01:27Z | 1 | 4
|
order_json d96068655e7e… |
acquire |
2026-11-12T14:01:50Z | 2026-11-12T14:01:52Z | 1 | 12
|
source_tree c467fb8506b9…license_file 0a3d65b9301f…custody_inputs f8dd8d2efea8…source_tree_hash 7da22a2b6777…source_file_manifest ba66c3330823… |
plan |
2026-11-12T14:02:49Z | 2026-11-12T14:02:50Z | 1 | 10
|
recon_report 315a6e5a7a38…input_pin_plan 016dc9f8efc2…toolchain_lock 3277665bb0a4… |
assemble_kit |
2026-11-12T14:20:57Z | 2026-11-12T14:20:58Z | 1 | 27
|
dockerfile b9079b88d7bf…build_recipe dbe36ebaafcf…system_pinning 71610db47709…build_offline_sh 6ab4f08a6ec7…generate_sbom_sh ce0f1e6f1e70…first_boot_health 9cdf8f934b06…verify_offline_sh 3e8184ea230c…base_image_digests 1f2987b73f7e…dockerfile_offline b9079b88d7bf…first_build_digest 648d5fd59ed5… |
remediate |
2026-11-12T14:22:24Z | 2026-11-12T14:22:25Z | 1 | 8
|
vendored_apt e3b0c44298fc…remediation_log e5c7793ce3f7…security_report b99e85405e6d… |
build_kit |
2026-11-12T14:34:52Z | 2026-11-12T14:34:53Z | 1 | 9
|
cosign_stamp 5134a8404e31…locked_digest ec1df886753d…freeze_manifest 74284f1b6d6c…offline_rebuild_transcript ed3f08e5fe51… |
verdict |
2026-11-12T14:37:29Z | 2026-11-12T14:37:30Z | 1 | 8
|
scout_verdict 451eefb3c7c2… |
publish_image |
2026-11-12T14:38:44Z | 2026-11-12T14:38:44Z | 1 | 7
|
hub_readme 54210518caf6…promotion_record c9defcdc5c3e… |
boot_instance |
2026-11-12T14:39:10Z | 2026-11-12T14:39:13Z | 2 | 3
|
instance_handle 294025c15711… |
sbom |
2026-11-12T14:39:43Z | 2026-11-12T14:39:44Z | 1 | 5
|
sbom_md 20d313944fc8…sbom_json 0444d31293c5… |
schema_discovery |
2026-11-12T14:39:47Z | 2026-11-12T14:39:47Z | 1 | 7
|
schema_hash 7a05ddb62814…dependency_tree afec8d020b9e…table_classification 2b46cb21811f… |
admin_handbook |
2026-11-12T14:39:56Z | 2026-11-12T14:39:57Z | 1 | 7
|
api_map 9eace0e6270e…admin_handbook 44fcc3e9bdf4… |
db_handbook |
2026-11-12T14:40:07Z | 2026-11-12T14:40:07Z | 1 | 8
|
db_handbook 0d51596fc010…seed_isolation 1682588227bc… |
seed_data |
2026-11-12T14:40:13Z | 2026-11-12T14:40:14Z | 1 | 6
|
seed_data_sql 7c87322ec415…seed_cases_json 756591ab58c8… |
seed_validate |
2026-11-12T14:40:16Z | 2026-11-12T14:40:16Z | 1 | 3
|
seed_data_contract abdeb6c7b1a3… |
usecase_validate |
2026-11-12T14:40:36Z | 2026-11-12T14:40:36Z | 1 | 10
|
failed_tests 1626f45950ba…passed_tests b851355d04e9…test_results fd055e9fead3…usecase_contract 5b0f4955bf0e… |
finalize_docs |
2026-11-12T14:40:42Z | 2026-11-12T14:40:42Z | 1 | 9
|
defects_json 8b5dbd1cd27a…release_notes e9a4bf344f78…api_integration_guide 2677ce93e2cb… |
package_archive invalidated 2026-11-12T15:54:28Z |
2026-11-12T14:56:25Z | 2026-11-12T14:56:29Z | 1 | 37 (final gate PASS)
|
sale_tar 53df89a2f66f…checksums d9ec7925417d…verify_md d011817e486f…rebuild_md 082ae1db9024…manifest_txt 33c73d7ba74e…actions_jsonl 3db20e4dbb46…provenance_md 153fc2b8b8cd…assetchain_log_md e9eccaec0c0f…assetchain_log_json e12ee8e50763… |
[stage_runs]
Rewinds
- 2026-11-12T15:54:28Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #34118]
Model work per stage
Fully recordedRole: writer model. Calls up to 2026-11-12T14:56:29Z.
6 calls over 3 stages
| Stage | Calls | Refused | Errors | Max attempt | Forced commits | Real tokens | Lesson rules shown |
|---|---|---|---|---|---|---|---|
plan | 2 | 0 | 0 | 1 | 0 | 13198 | — |
remediate | 3 | 1 | 0 | 2 | 0 | 25575 | L-A08, L-038, L-036, L-034, L-032 |
usecase_validate | 1 | 0 | 0 | 1 | 0 | 1596 | — |
[micro_step_runs] [lesson_recalls]
Review
Fully recordedRole: review model.
1 round, 1 counted, $0.68 recorded cost
| Round | Started | Critical | Major | Minor | Verdict | Cost | Cap in force | Archive reviewed |
|---|---|---|---|---|---|---|---|---|
| 1 | 2026-11-12T14:58:20Z | 0 | 0 | 2 | clean to publish [held_rounds, held_rounds #1824] | $0.68 | 3 rounds, $40.00 | 53df89a2f66f… |
Defects
Fully recorded- Ledger entries4 [defects, defects where product_slug=mattermost and this tag or chain]
- Disclosed in the archive4 [docs/defects/defects.json, entries]
4 ledger entries: by severity low 3, high 1; by status fixed-before-release 3, open 1.
| Defect | Severity | Status | Found by | Fixed in |
|---|---|---|---|---|
RSD-mattermost-7752f4a7eaAdmin handbook: Says the paths have no counterpart in this image, but IMAGE_CONFIG.json Env sets all three (not as volumes). [defects, defects #185281] | low | fixed-before-release | held review (review model) | — |
RSD-mattermost-bea147ef80First visitor can claim the administrator account until setup is completed [defects, defects #270596] | high | open | build strategy record | — |
RSD-mattermost-4eec4359b1Admin handbook: DOCKERHUB_README.md says secrets go in an env file, not on the command line, and gives the --env-file run command; the handbooks put the password on the command line. [defects, defects #270597] | low | fixed-before-release | held review (review model) | — |
RSD-mattermost-68e07eeda8Admin handbook: The Restoring block's final docker run has no --network, so run as written after the restore the container is on the default bridge and exits with 'lookup your-db ... [defects, defects #270985] | low | fixed-before-release | held review (review model) | — |
Verification
1 item not recorded- Reproduced before publishingyes (rebuilt digest sha256:b2630e7a7ebf59b969bc85fc8e2cffbef9c10537cb8679fbc0e19cb88ff196f3 · published digest sha256:b2630e7a7ebf59b969bc85fc8e2cffbef9c10537cb8679fbc0e19cb88ff196f3 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 342) [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-12T15:55:49Z · failing Docker Scout counts 121 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-12T15:55:09Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
- Image signature transparency-log entries
- log index 3834121961 · transparency-log entry
- log index 3834123178 · transparency-log entry
- rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3835683062 · transparency-log entry · integrated 2026-11-12T16:05:30Z) [ReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
- Signed attestations
- kind provenance · digest sha256:d79d839282f68597e5dae4a4742c09d7d0539aec5ecda8270329cc6a1abbfd94 · state attached · log index 3835685991 · transparency-log entry
- kind sbom · digest sha256:d79d839282f68597e5dae4a4742c09d7d0539aec5ecda8270329cc6a1abbfd94 · state attached · log index 3835686712 · transparency-log entry
- kind vsa · digest sha256:d79d839282f68597e5dae4a4742c09d7d0539aec5ecda8270329cc6a1abbfd94 · state attached · log index 3835687913 · transparency-log entry
- kind provenance · digest sha256:b2630e7a7ebf59b969bc85fc8e2cffbef9c10537cb8679fbc0e19cb88ff196f3 · state attached · log index 3835688725 · transparency-log entry
- kind sbom · digest sha256:b2630e7a7ebf59b969bc85fc8e2cffbef9c10537cb8679fbc0e19cb88ff196f3 · state attached · log index 3835689400 · transparency-log entry
- kind vsa · digest sha256:b2630e7a7ebf59b969bc85fc8e2cffbef9c10537cb8679fbc0e19cb88ff196f3 · state attached · log index 3835690292 · transparency-log entry
- Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/mattermost/recipe) [docs/provenance/PINS.json]
Offline clean-room rebuilds
- 2026-11-12T14:58:29Z on build host 3 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
rebuilt sha256:b2630e7a7ebf59b969bc85fc8e2cffbef9c10537cb8679fbc0e19cb88ff196f3 [clean-room rebuild ledger, runs[797]]
- 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-12T14:38:44Z [stage_runs, stage_runs chain 989 stage publish_image]
- Archive manifests written2026-11-12T16:00:53Z [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 879 · probed 2026-11-12T14:28:48Z · source build_kit) [release_images, isa_level_hard]
History
2 events- 2026-11-12T16:07:22Z generated: by KitForge release/build_trail.py · generator commit 5cf3b0594a304e32ae246441aa48f3a4b4d2aaa5
- 2026-11-12T16:10:05Z publication: promoted at 2026-11-12T16:08:13Z · promoted digest sha256:d79d839282f68597e5dae4a4742c09d7d0539aec5ecda8270329cc6a1abbfd94 · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 514 · checklist status complete · checklist at 2026-11-12T16:10:05Z · 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-mattermost-v12.0.2-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/IMAGE_EVIDENCE.json | inside the archive (ReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/LOCKED_DIGEST.txt | inside the archive (ReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/PINS.json | inside the archive (ReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/REPRO_VERIFICATION.json | inside the archive (ReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/SOURCE_TREE_HASH.json | inside the archive (ReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.tar.gz) | — |
MANIFEST.json | beside the archive (prodasset /data/production/mattermost/v12.0.2-CE-ubuntu24.04-r2/), as staged for publishing | — |
PUBLISH_MANIFEST.json | beside the archive (prodasset /data/production/mattermost/v12.0.2-CE-ubuntu24.04-r2/), as staged for publishing | — |
ReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.rebuild.json | beside the archive (prodasset /data/production/mattermost/v12.0.2-CE-ubuntu24.04-r2/), as staged for publishing | — |
ReadyStack-mattermost-v12.0.2-CE-ubuntu24.04-r2.rebuild.json.sigstore | beside the archive (prodasset /data/production/mattermost/v12.0.2-CE-ubuntu24.04-r2/), as staged for publishing | — |
SCOUT_EVIDENCE.json | beside the archive (prodasset /data/production/mattermost/v12.0.2-CE-ubuntu24.04-r2/), 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) | 658 |
chains | sadb, ReadyStack's engine database (not published) | 989 |
defects | sadb, ReadyStack's engine database (not published) | mattermost v12.0.2-CE-ubuntu24.04-r2 |
drive_runs | sadb, ReadyStack's engine database (not published) | chain 989 |
held_rounds | sadb, ReadyStack's engine database (not published) | chain 989 |
lesson_recalls | sadb, ReadyStack's engine database (not published) | chain 989 |
micro_step_runs | sadb, ReadyStack's engine database (not published) | chain 989 |
release_images | sadb, ReadyStack's engine database (not published) | mattermost v12.0.2-CE-ubuntu24.04-r2 |
stage_events | sadb, ReadyStack's engine database (not published) | chain 989 |
stage_runs | sadb, ReadyStack's engine database (not published) | chain 989 |
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) | — |