Coder v2.38.3-CE-ubuntu24.04-r2 build trail
How ReadyStack built readystack/coder:v2.38.3-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/coder:v2.38.3-CE-ubuntu24.04-r2 - Index digestsha256:6618c3662ee33f07e0fdf5ea4f0388f3a8c64c285ec7cbd4c0ad7aeccc82e87d
- linux/amd64 digestsha256:b8cc242203b258c2433715452e8cc7237baf30d5076a679611ee057f92848679
- Archive
ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.tar.gz - Archive SHA-256 nowfcfd882b846118cafc70b90e410ee6b72fc03865614407f5c3661f7f8b37182d
- Pins record
docs/PINS.md,docs/provenance/PINS.jsonin the archive (since 2026-11-03T00:47:14Z) - 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-coder-v2.38.3-CE-ubuntu24.04-r2.trail.json.sigstore ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.trail.json
IdentityWhy this release existsThe path through the harnessModel work per stageReviewDefectsVerificationPublicationPackages and CPU level
Identity
1 item not recorded- ProductCoder (coder) [MANIFEST.json]
- Release tagv2.38.3-CE-ubuntu24.04-r2 [MANIFEST.json]
- Imagereadystack/coder:v2.38.3-CE-ubuntu24.04-r2 [MANIFEST.json]
- Image index digestsha256:6618c3662ee33f07e0fdf5ea4f0388f3a8c64c285ec7cbd4c0ad7aeccc82e87d [docs/provenance/LOCKED_DIGEST.txt]
- linux/amd64 image digestsha256:b8cc242203b258c2433715452e8cc7237baf30d5076a679611ee057f92848679 [ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.rebuild.json, subject.image_manifest_digest]
- ArchiveReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.tar.gz (bytes 997806049) [MANIFEST.json]
- Archive sha256 at publisha86759070f939bde1faac61ce267c74587a1a65de650d4c2c39f5c9f404d4af1 [MANIFEST.json, repack_history[0].previous_tarball_sha256]
- Archive sha256 nowe1ec8be412a02def15dad4713edd534039c17d41ba800fc08d380e20608d799f [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 a86759070f939bde1faac61ce267c74587a1a65de650d4c2c39f5c9f404d4af1 · sha256 e1ec8be412a02def15dad4713edd534039c17d41ba800fc08d380e20608d799f · replaced BUILD_OFFLINE.sh, docs/docker/BUILD_OFFLINE.sh, docs/offline/BUILD_OFFLINE.sh, rebuild.json
- Upstream repositoryhttps://github.com/coder/coder [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream refv2.38.3 [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream commit5bb296e4d5e55e7de39e0d1ab89493e205d6c4ac [docs/provenance/SOURCE_TREE_HASH.json]
- Source tree hash5115fe51d3636ef099aa978f31de343cd3dbafdeb77ecf9d471005836b38954d (files 12340) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
- Kit tree hashsha256:0e812c70903c90cc449ce0a284fa76f55982078e7002d011972649eacf025d68 [ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.rebuild.json, inputs.tree_hash]
- SOURCE_DATE_EPOCH1793058723 (utc 2026-10-26T23:52:03Z) [ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.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
- BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.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- Chain720 (created 2026-10-27T19:59:48Z · trigger customer_request · upstream version v2.38.3) [chains, chains #720]
- Requestbuild request #403 (rebuild) (requested at 2026-10-27T19:38:59Z · requested by kitforge-agent · version v2.38.3) [build_requests, build_requests #403]
- Reasonrevision v2.38.3-CE-ubuntu24.04-r2: same upstream version rebuilt (retarget.py --rev-bump) [build_requests, build_requests #403 request_reason]
- Supersedesreadystack/coder:v2.38.3-CE-ubuntu24.04-r1 (chain 702) [chains, chains #702]
The path through the harness
2 items not recorded1 chain · 3 drives · 18 stages · 2 rewinds
Chain 720 release · shipped
Created 2026-10-27T19:59:48Z, upstream v2.38.3, build request 403 [chains, chains #720]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 984 | 2026-10-27T20:00:52Z | 39.7 | build host 5 withhold-publish | stage_failed at verdict [drive_runs, drive_runs #984] rebuilt from a build line's log |
| 1005 | 2026-10-28T08:33:46Z | 59.9 | build host 5 withhold-publish | ready_to_ship [drive_runs, drive_runs #1005] rebuilt from a build line's log |
| 1007 | 2026-10-28T09:59:08Z | 18.1 | build host 5 publish-held | shipped [drive_runs, drive_runs #1007] rebuilt from a build line's log |
Stages, in order
| Stage | First start | Passed | Attempts | Gate checks passed | Artifacts (SHA-256) |
|---|---|---|---|---|---|
intake |
2026-10-27T20:00:58Z | 2026-10-27T20:01:00Z | 1 | 4
|
— |
acquire |
2026-10-27T20:01:17Z | 2026-10-27T20:01:18Z | 1 | 12
|
— |
plan |
2026-10-27T20:02:11Z | 2026-10-27T20:02:12Z | 1 | 10
|
— |
assemble_kit |
2026-10-27T20:22:00Z | 2026-10-28T08:53:48Z | 2 | 27
|
— |
remediate |
2026-10-27T20:23:01Z | 2026-10-28T08:53:51Z | 2 | 8
|
— |
build_kit |
2026-10-27T20:37:48Z | 2026-10-28T09:08:39Z | 2 | 9
|
— |
verdict |
2026-10-27T20:40:33Z | 2026-10-28T09:10:37Z | 2 | 8
|
— |
publish_image |
2026-10-28T09:11:37Z | 2026-10-28T09:11:37Z | 1 | 7
|
— |
boot_instance |
2026-10-28T09:12:05Z | 2026-10-28T09:12:06Z | 2 | 3
|
— |
sbom |
2026-10-28T09:12:39Z | 2026-10-28T09:12:40Z | 1 | 5
|
— |
schema_discovery |
2026-10-28T09:12:41Z | 2026-10-28T09:12:42Z | 1 | 7
|
— |
admin_handbook |
2026-10-28T09:12:49Z | 2026-10-28T09:12:50Z | 1 | 7
|
— |
db_handbook |
2026-10-28T09:13:00Z | 2026-10-28T09:13:01Z | 1 | 8
|
— |
seed_data |
2026-10-28T09:13:06Z | 2026-10-28T09:13:07Z | 1 | 6
|
— |
seed_validate |
2026-10-28T09:13:09Z | 2026-10-28T09:13:10Z | 1 | 3
|
— |
usecase_validate |
2026-10-28T09:13:32Z | 2026-10-28T09:13:33Z | 1 | 10
|
— |
finalize_docs |
2026-10-28T09:13:38Z | 2026-10-28T09:13:39Z | 1 | 9
|
— |
package_archive |
2026-10-28T09:33:34Z | 2026-10-28T10:17:12Z | 2 | 33 (final gate PASS)
|
— |
[stage_runs]
Rewinds
- 2026-10-28T08:33:56Z:
verdicttoassemble_kiton strategy_changed (chain 720: strategy changed — rewound from 'verdict' to assemble_kit and dropped the vendored tree so the change actually reaches the build.) [stage_events, stage_events #2331] - 2026-10-28T09:58:35Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py) [stage_events, stage_events #1194]
- 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 recordedRole: writer model. Calls up to 2026-10-28T10:17:12Z.
6 calls over 3 stages
| Stage | Calls | Refused | Errors | Max attempt | Forced commits | Real tokens | Lesson rules shown |
|---|---|---|---|---|---|---|---|
plan | 2 | 0 | 0 | 1 | not recorded | not recorded | — |
remediate | 2 | 0 | 0 | 1 | not recorded | not recorded | — |
usecase_validate | 2 | 0 | 0 | 1 | not recorded | not 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 recordedRole: review model.
1 round, 1 counted, $0.40 recorded cost
| Round | Started | Critical | Major | Minor | Verdict | Cost | Cap in force | Archive reviewed |
|---|---|---|---|---|---|---|---|---|
| 1 | 2026-10-28T09:34:53Z | 0 | 0 | 0 | clean to publish [held_rounds, held_rounds #19] rebuilt from a held-review state file | $0.40 | 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 entries44 [defects, defects where product_slug=coder and this tag or chain]
- Disclosed in the archive3 [docs/defects/defects.json, entries]
44 ledger entries: by severity low 43, high 1; by status wont-fix-by-design 1, open 2, fixed-in-release 41.
| Defect | Severity | Status | Found by | Fixed in |
|---|---|---|---|---|
RSD-coder-9680184733Enterprise / non-open-source components are removed from the source before the build: enterprise, LICENSE.enterprise [defects, defects #131097] | low | wont-fix-by-design | build strategy record | — |
RSD-coder-9198ff2110First visitor can claim the administrator account until setup is completed [defects, defects #131098] | high | open | build strategy record | — |
RSD-coder-3c5484c986Admin handbook: The revision added an empty level-2 heading and a third consecutive 'Product Overview' heading, so the page shows blank and repeated headings. [defects, defects #131766] | low | open | held review (review model) | — |
RSD-coder-a0f84a5660Database handbook: The 'available once only' qualifier belongs to POST; read with GET,POST it suggests GET stops working after setup. [defects, defects #131767] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-da8745ac0dAdmin handbook: The handbooks give two run-command forms; the admin and API handbooks keep the database password on the command line (visible in docker inspect and shell history) where the documented run command… [defects, defects #131768] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-e675899872API guide: The audit log (GET /api/v2/audit) stays empty after token revocation; what is retained is the expired database row. [defects, defects #131769] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-fd117c2fa0API guide: The endpoint returns only a status message, it does not retrieve the user. [defects, defects #131770] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-68b7eb7c27Admin handbook: The qualifier 'until the first user is created' applies only to POST /api/v2/users/first; every other listed endpoint (login, buildinfo, updatecheck, authmethods, GET first) is unauthenticated at… [defects, defects #131771] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-cd480e8dd8Admin handbook: Puts the Terraform checkpoint files and the CLI URL file under .cache (they are under .terraform.d and .config/coderv2) and says the files are re-created at restart, contradicting the Operating… [defects, defects #131772] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-d5505064d5Admin handbook: /healthz is not answered before the database connection succeeds; it only stays 200 afterwards. [defects, defects #131773] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-4679d128f4Admin handbook: 'All other API endpoints' is false: GET /api/v2 and the OAuth/OIDC callback routes answer without a token. [defects, defects #131774] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-b4b9b088f2Admin handbook: A fresh container started with an unreachable database does not report healthy at all: it does not listen until the database connection succeeds. [defects, defects #131775] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-92bb015c37Admin handbook: 'the external URL' reads as the instance's address; external_url is the upstream source URL and dashboard_url is the configured one. [defects, defects #131776] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-b0b66ceea5Admin handbook: The sentence follows the REST DELETE, which deletes the key; its next use gets 'API key is invalid.', not 'API key expired at ...' (that is the CLI tokens rm case). [defects, defects #131777] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-620ae5dcdcDatabase handbook: Still false as stated: GET /api/v2 answers 200 without a token. [defects, defects #131778] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-97b2c79ca9Database handbook: Omits the create-admin-user exception stated elsewhere in this handbook (lines 287, 629). [defects, defects #131779] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-dfd4203dd2Database handbook: external_url is the upstream source URL, not the instance URL; dashboard_url is the configured one. [defects, defects #131780] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-3afca152d2Database handbook: Neither endpoint can be reached 'as soon as the container starts': the server does not listen until the database connection succeeds. [defects, defects #131781] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-966f616216API guide: 'All other endpoints under /api/v2' is false (GET /api/v2 answers 200 without a token). [defects, defects #131782] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-2926600c7bAPI guide: The sentence follows 'or via REST with DELETE ...', which deletes the key; its next use gets 'API key is invalid.'. [defects, defects #131783] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-1e2f46d48eAPI guide: The only create-admin-user example in this section that leaves the password unquoted; a password containing a space, $ or ! [defects, defects #131784] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-5dd8a2fbfaAPI guide: Contradicts the seven-endpoint unauthenticated list in this guide: 'Two endpoints ... [defects, defects #131785] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-86a92b4b70API guide: Invents a composition rule; the Admin Handbook (line 1580) and this guide (line 2017) correctly call it an entropy test. [defects, defects #131786] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-35b37e45c4API guide: Unquoted, `!x` triggers history expansion in an interactive bash shell ('event not found', or a silent substitution if an earlier command starts with x); a password with a space or $ is also split… [defects, defects #131787] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-a620e669b4API guide: An unauthenticated endpoint sits in a list introduced as authenticated endpoints. [defects, defects #131788] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-c744f80982API guide: Same invented composition rule as lines 712 and 771. [defects, defects #131789] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-7a81547b3dAPI guide: 'ready to accept requests' reads as readiness; the endpoint is liveness only. [defects, defects #131790] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-49d2972981API guide: The sentence sits under Session Tokens right after the login example and states one message for every endpoint: the first-user endpoint answers 'Password is invalid' and the strength rule does not… [defects, defects #131791] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-d8f56f7771API guide: No audit-log entry exists for token creation/revocation/deletion on this release (audit log empty), and a deleted token's row is removed, so 'retained in audit logs' is unsupported. [defects, defects #131792] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-6d92b1bd8bAdmin handbook: Without -i/-t the shell exits at once with no output, so the documented way to 'run a different program' (a shell) gives the operator nothing. [defects, defects #131793] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-06f8ee5a6aAdmin handbook: 'Owner only' is false: a User Admin (a site role an owner can assign in this edition) set a member's password with only {"password":...} (204). [defects, defects #131794] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-289129df83API guide: False for a User Admin: 204 on a member, 400 on an owner. [defects, defects #131795] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-3255a4c6d5Admin handbook: The overview gives the bare command as the way to create the owner; run as written under docker exec it prompts for a username with no input and fails with 'error: EOF'. [defects, defects #131796] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-7152daefb1Admin handbook: Only members get 404; a User Admin (also a non-owner) gets 400 with a different message, so error handling built from this sentence misreads it. [defects, defects #131797] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-2198ea8bf6API guide: False: a User Admin changed a member's password (204). [defects, defects #131798] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-545f02695fAPI guide: A User Admin's token also works for non-owner targets (204). [defects, defects #131799] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-37930e9d5dAPI guide: 'Non-owner -> 404' is false for a User Admin: 204 on a member, 400 on an owner. [defects, defects #131800] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-354723a388API guide: A User Admin (non-owner) gets 400 'Only owners can change the password of an owner.', not 404. [defects, defects #131801] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-bf1fd9f4a4API guide: False for a User Admin, who is a non-owner: 204 on a member, 400 on an owner. [defects, defects #131802] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-4caaad18b4API guide: False: a User Admin performed it on a member (204). [defects, defects #131803] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-deb409e1bcAPI guide: A non-owner User Admin gets 204 (member target) or 400 (owner target), not 404. [defects, defects #131804] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-8f9bf4f4fcAPI guide: 'owner only' is false: a User Admin set a member's password with this body (204). [defects, defects #131805] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-81354c36e9Database handbook: Shown as a dockerfile instruction 'defined in the image', but it is not valid Dockerfile syntax (a derived image built with it fails to parse) and it omits the image's interval/timeout/start-period. [defects, defects #131806] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
RSD-coder-a6bf3dafc7Database handbook: The list ('limited to' /healthz and /api/v2/buildinfo) contradicts the paragraph above it, which documents POST /api/v2/users/first as unauthenticated, and omits the login endpoints. [defects, defects #131807] | low | fixed-in-release | held review (review model) | v2.38.3-CE-ubuntu24.04-r2 |
Verification
2 items not recorded- Reproduced before publishingyes (rebuilt digest sha256:b8cc242203b258c2433715452e8cc7237baf30d5076a679611ee057f92848679 · published digest sha256:b8cc242203b258c2433715452e8cc7237baf30d5076a679611ee057f92848679 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 416) [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 720 package_archive gate_result.g8.result]
- Grade at releaseA (percent 94 · docker grade B · docker percent 83 · tool docker scout policy 1.26.0 · config docker-default · org vex no · at 2026-10-28T09:59:39Z · failing Docker Scout counts 106 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). · corrections No outdated base images) [SCOUT_EVIDENCE.json, docker_scout_policy.corrected]
- First own scan of the releaseA (at 2026-10-28T10:17:27Z · 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-28T06:23:30Z) [image_scans, image_scans #1454]
- Image signatureverified on the index and the linux/amd64 manifest (key fingerprint 04daa92344a52dbc · at 2026-10-28T09:59:16Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
- Image signature transparency-log entries
- log index 3535490964 · transparency-log entry
- log index 3535491096 · transparency-log entry
- rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3621492024 · transparency-log entry · integrated 2026-11-01T05:37:54Z) [ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
- Signed attestations
- kind provenance · digest sha256:6618c3662ee33f07e0fdf5ea4f0388f3a8c64c285ec7cbd4c0ad7aeccc82e87d · state attached · log index 3536015305 · transparency-log entry
- kind sbom · digest sha256:6618c3662ee33f07e0fdf5ea4f0388f3a8c64c285ec7cbd4c0ad7aeccc82e87d · state attached · log index 3536025709 · transparency-log entry
- kind vsa · digest sha256:6618c3662ee33f07e0fdf5ea4f0388f3a8c64c285ec7cbd4c0ad7aeccc82e87d · state attached · log index 3536029101 · transparency-log entry
- kind provenance · digest sha256:b8cc242203b258c2433715452e8cc7237baf30d5076a679611ee057f92848679 · state attached · log index 3536035170 · transparency-log entry
- kind sbom · digest sha256:b8cc242203b258c2433715452e8cc7237baf30d5076a679611ee057f92848679 · state attached · log index 3536039519 · transparency-log entry
- kind vsa · digest sha256:b8cc242203b258c2433715452e8cc7237baf30d5076a679611ee057f92848679 · state attached · log index 3536040943 · transparency-log entry
Offline clean-room rebuilds
- 2026-10-28T09:34:56Z on build host 5 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
rebuilt sha256:b8cc242203b258c2433715452e8cc7237baf30d5076a679611ee057f92848679 [clean-room rebuild ledger, runs[518]]
- 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-28T09:11:37Z [stage_runs, stage_runs chain 720 stage publish_image]
- Release tag promoted2026-10-28T10:16:07Z (method imagetools_create_retag_by_digest_no_rebuild · digest sha256:6618c3662ee33f07e0fdf5ea4f0388f3a8c64c285ec7cbd4c0ad7aeccc82e87d · tag readystack/coder:v2.38.3-CE-ubuntu24.04-r2) [deliverables/provenance/PROMOTION_RECORD.json, promoted_at]
- Archive manifests written2026-10-28T10:07:26Z [PUBLISH_MANIFEST.json, published_at]
- Archive cut over on prodasset, package_archive passed2026-10-28T10:17:12Z [stage_runs, stage_runs chain 720 stage package_archive]
- Cut-over markerpresent (chain 720) [.cutover.json]
- Release checklist and site event2026-10-28T10:17:10Z (status complete · site event 255 · 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 image572 (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 830 · probed 2026-11-02T17:07:26Z · source backfill) [release_images, isa_level_hard]
History
2 events- 2026-11-02T23:33:35Z generated: by KitForge release/build_trail.py · generator commit 916780cc218cf013bd623a8c085aaf73d3b053d0 · note backfill: built after the release from its records
- 2026-11-03T00:47:14Z repack: previous sha256 e1ec8be412a02def15dad4713edd534039c17d41ba800fc08d380e20608d799f · sha256 fcfd882b846118cafc70b90e410ee6b72fc03865614407f5c3661f7f8b37182d · reason customer kit files brought up to the current engine: every pinned input's reason (docs/PINS.md, docs/provenance/PINS.json) and docs/PROVENANCE.md's section pointing at it, rendered by release/pin_reasons.py; docs/PROVENANCE.md's 'Build trail' section pointing at the signed build trail beside the archive (release/build_trail.py); not image inputs; image and every build input unchanged · label kitfix · replaced docs/PROVENANCE.md · added docs/PINS.md, docs/provenance/PINS.json · record MANIFEST.json repack_history
Records
25 records| Record | Where it is | Rows |
|---|---|---|
docs/defects/defects.json | inside the archive (ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/IMAGE_EVIDENCE.json | inside the archive (ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/LOCKED_DIGEST.txt | inside the archive (ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/REPRO_VERIFICATION.json | inside the archive (ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.tar.gz) | — |
docs/provenance/SOURCE_TREE_HASH.json | inside the archive (ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.tar.gz) | — |
.cutover.json | beside the archive (prodasset /data/production/coder/v2.38.3-CE-ubuntu24.04-r2/) | — |
MANIFEST.json | beside the archive (prodasset /data/production/coder/v2.38.3-CE-ubuntu24.04-r2/) | — |
PUBLISH_MANIFEST.json | beside the archive (prodasset /data/production/coder/v2.38.3-CE-ubuntu24.04-r2/) | — |
ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.rebuild.json | beside the archive (prodasset /data/production/coder/v2.38.3-CE-ubuntu24.04-r2/) | — |
ReadyStack-coder-v2.38.3-CE-ubuntu24.04-r2.rebuild.json.sigstore | beside the archive (prodasset /data/production/coder/v2.38.3-CE-ubuntu24.04-r2/) | — |
SCOUT_EVIDENCE.json | beside the archive (prodasset /data/production/coder/v2.38.3-CE-ubuntu24.04-r2/) | — |
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) | 403 |
chains | sadb, ReadyStack's engine database (not published) | 720 |
defects | sadb, ReadyStack's engine database (not published) | coder v2.38.3-CE-ubuntu24.04-r2 |
drive_runs | sadb, ReadyStack's engine database (not published) | chain 720 |
held_rounds | sadb, ReadyStack's engine database (not published) | chain 720 |
image_scans | sadb, ReadyStack's engine database (not published) | 1454 |
micro_step_runs | sadb, ReadyStack's engine database (not published) | chain 720 |
release_images | sadb, ReadyStack's engine database (not published) | coder v2.38.3-CE-ubuntu24.04-r2 |
stage_events | sadb, ReadyStack's engine database (not published) | chain 720 |
stage_runs | sadb, ReadyStack's engine database (not published) | chain 720 |
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) | — |
deliverables/provenance/RELEASE_CHECKLIST.json | the chain's workspace on the controller (not published) | — |