Wiki.js 3.2.0-CE-ubuntu24.04-r1 build trail
How ReadyStack built readystack/wikijs:3.2.0-CE-ubuntu24.04-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/wikijs:3.2.0-CE-ubuntu24.04-r1 - Index digestsha256:62d9b6812fdf1fa177a9f49b39367004b4e319212e6ce2c78dc7d39cabcda5af
- linux/amd64 digestsha256:71286f1093afac639fc334931bf003f9cbfd94244b0db34f59c876b26b415681
- Archive
ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.tar.gz - Archive SHA-256 now0e042bae786abddcc5acc6a2141e57eed7403a36b4c85e134892c6c4b2e6e30f
- Pins record
docs/PINS.md,docs/provenance/PINS.jsonin the archive (since generated) - Generated2026-11-08T23:31:04Z 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-wikijs-3.2.0-CE-ubuntu24.04-r1.trail.json.sigstore ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.trail.json
IdentityWhy this release existsThe path through the harnessModel work per stageReviewDefectsVerificationPublicationPackages and CPU level
Identity
Fully recorded- ProductWiki.js (wikijs) [MANIFEST.json]
- Release tag3.2.0-CE-ubuntu24.04-r1 [MANIFEST.json]
- Imagereadystack/wikijs:3.2.0-CE-ubuntu24.04-r1 [MANIFEST.json]
- Image index digestsha256:62d9b6812fdf1fa177a9f49b39367004b4e319212e6ce2c78dc7d39cabcda5af [docs/provenance/LOCKED_DIGEST.txt]
- linux/amd64 image digestsha256:71286f1093afac639fc334931bf003f9cbfd94244b0db34f59c876b26b415681 [ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.rebuild.json, subject.image_manifest_digest]
- ArchiveReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.tar.gz (bytes 323213123) [MANIFEST.json]
- Archive sha256 at publish0e042bae786abddcc5acc6a2141e57eed7403a36b4c85e134892c6c4b2e6e30f [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/requarks/wiki [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream ref3.2.0 [docs/provenance/SOURCE_TREE_HASH.json]
- Upstream commit013dd6e998f2a9eea80ff22483493d0326dc0eff [docs/provenance/SOURCE_TREE_HASH.json]
- Source tree hash7f36e41197bba4b3714229efafc64ccbe5e55a86bc6c28573d566063e72d63f3 (files 1468) [docs/provenance/SOURCE_TREE_HASH.json, tree_listing_sha256 (sha256 of the sorted file listing)]
- Kit tree hashsha256:ceea557467f860d5e9ac13b40193fc6c30757b114ebd51b2492de8787ea2f8c9 [ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.rebuild.json, inputs.tree_hash]
- SOURCE_DATE_EPOCH1794111368 (utc 2026-11-08T04:16:08Z) [ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.rebuild.json, inputs.source_date_epoch]
- Base images
- ref ubuntu:24.04@sha256:fe81560990fae86dc4743202b2cb4d3df98d0bcf949173cecef15ce1127ef852 · platform digest sha256:78d4744ead1f5b19b04d0df558ab182a5300903900755e515b2ca4d10eb2044d
- BuildKitmoby/buildkit:v0.31.2 (image digest sha256:e0e67ea9c4bb07bdef683e29f70f3b623d1eb9c82274a9ec04e6bb0511449fb0) [ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.rebuild.json, engine]
- Engine commit(s)
- commit debed1ff88426b9337ee3418aa295a436ca89365 · dirty yes · first drive 3779
- commit f43702b5e009964169aee805cbca1db98779c212 · dirty yes · first drive 3815
- commit 9297e5f1902d782e43b6ebf8fe9b54eba0e82889 · dirty yes · first drive 3861
- commit 58e9240297aa7166e0dec2e18a9c5ae2e84212bf · dirty yes · first drive 3883
- commit 501735316ba87dabc6c51510f9354cb12ff7477f · dirty yes · first drive 3891
- commit 97db547c0a1cff5512f23d576ef18dfb8150db3b · dirty yes · first drive 3892
- commit 76d81c24c43ddcadfccac6684668838e8438bf96 · dirty yes · first drive 3894
Why this release exists
Fully recorded- Chain883 (created 2026-11-08T11:26:25Z · trigger customer_request · upstream version 3.2.0) [chains, chains #883]
- Requestbuild request #583 (rebuild) (requested at 2026-11-08T09:32:07Z · requested by kitforge-agent · version 3.2.0) [build_requests, build_requests #583]
- Reasonretarget to 3.2.0: a newer upstream release (rule 1); stable 3.x, 10 upstream advisories fixed, CVE-2026-109518 due 2026-11-11 (PR #228) [build_requests, build_requests #583 request_reason]
- Supersedesreadystack/wikijs:3.0.0-beta.685-CE-ubuntu24.04-r3 (chain 693) [chains, chains #693]
The path through the harness
Fully recorded2 chains · 8 drives · 18 stages · 4 rewinds
Chain 731 behind it · abandoned
Created 2026-10-27T22:34:48Z, upstream 3.0.0-beta.685, build request 427 [chains, chains #731]
Abandoned: chain 731 abandoned: stale (it targets '3.0.0-beta.685', the strategy '3.2.0') [watch_queue, watch_queue #11953 resolution]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 814 | 2026-10-27T22:35:16Z | 49.5 | build host 4 withhold-publish | stage_failed at package_archive [drive_runs, drive_runs #814] rebuilt from a build line's log |
Chain 883 release · ready_to_ship
Created 2026-11-08T11:26:25Z, upstream 3.2.0, build request 583 [chains, chains #883]
| Drive | Started | Minutes | Build host | How it stopped |
|---|---|---|---|---|
| 3779 | 2026-11-08T11:26:54Z | 15.7 | build host 4 withhold-publish | stage_failed at verdict; first failed check scout_verdict:release_check_passed; 7 ticks [drive_runs, drive_runs #3779] |
| 3815 | 2026-11-08T13:55:40Z | 53.2 | build host 4 withhold-publish | stage_failed at package_archive; first failed check exists:checksums; 15 ticks [drive_runs, drive_runs #3815] |
| 3861 | 2026-11-08T18:33:51Z | 5 | build host 4 withhold-publish | stage_failed at package_archive; first failed check exists:checksums; 1 tick [drive_runs, drive_runs #3861] |
| 3883 | 2026-11-08T21:22:31Z | 8.8 | build host 4 withhold-publish | ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #3883] |
| 3891 | 2026-11-08T22:11:21Z | 6 | build host 4 withhold-publish | ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #3891] |
| 3892 | 2026-11-08T22:43:23Z | 6.3 | build host 4 withhold-publish | ready_to_ship at package_archive; 2 ticks [drive_runs, drive_runs #3892] |
| 3894 | 2026-11-08T23:23:30Z | — | build host 4 publish-held | not recorded [drive_runs, drive_runs #3894] |
Stages, in order
| Stage | First start | Passed | Attempts | Gate checks passed | Artifacts (SHA-256) |
|---|---|---|---|---|---|
intake |
2026-11-08T11:27:05Z | 2026-11-08T11:27:06Z | 1 | 4
|
order_json c3bbb67ba879… |
acquire |
2026-11-08T11:27:11Z | 2026-11-08T11:27:11Z | 1 | 12
|
source_tree 4a739676021b…license_file 76a97c878c9c…custody_inputs 21ec67ab0d84…source_tree_hash 8cfd9c97b93a…source_file_manifest 3eaf285990cb… |
plan |
2026-11-08T11:27:43Z | 2026-11-08T11:27:44Z | 1 | 10
|
recon_report 5e66218bf618…input_pin_plan 12de4f142fe8…toolchain_lock b3cd8ca4fe70… |
assemble_kit |
2026-11-08T11:34:26Z | 2026-11-08T14:02:26Z | 2 | 27
|
dockerfile b6ba1cc652b3…build_recipe d4f7d77fedc5…system_pinning ad62bc4eb7b3…build_offline_sh 6633aa31b6b4…generate_sbom_sh ce0f1e6f1e70…first_boot_health d490eaa74fb9…verify_offline_sh 3e8184ea230c…base_image_digests 0e2ffadbb66a…dockerfile_offline b6ba1cc652b3…first_build_digest 182005e0654c… |
remediate |
2026-11-08T11:35:07Z | 2026-11-08T14:02:32Z | 2 | 8
|
vendored_apt e3b0c44298fc…remediation_log 542e38450668…security_report 2cac7aff8280… |
build_kit |
2026-11-08T11:39:51Z | 2026-11-08T14:08:44Z | 2 | 9
|
cosign_stamp a708060a29c2…locked_digest 4b219c931b0b…freeze_manifest df78646241cb…offline_rebuild_transcript 7e1eb9c56386… |
verdict |
2026-11-08T11:42:38Z | 2026-11-08T14:10:39Z | 2 | 8
|
scout_verdict bee9b98c8682… |
publish_image |
2026-11-08T14:11:36Z | 2026-11-08T14:11:37Z | 1 | 7
|
hub_readme 016c911ff52c…promotion_record 80a0f560bb1e… |
boot_instance |
2026-11-08T14:12:01Z | 2026-11-08T14:12:04Z | 2 | 3
|
instance_handle a10c3dd74a2e… |
sbom |
2026-11-08T14:12:30Z | 2026-11-08T14:12:31Z | 1 | 5
|
sbom_md 4909f62326cb…sbom_json 2c490d6746b0… |
schema_discovery |
2026-11-08T14:12:34Z | 2026-11-08T14:12:35Z | 1 | 7
|
schema_hash 765cc8f15f6d…dependency_tree 795600049b29…table_classification dfa7ad803b78… |
admin_handbook |
2026-11-08T14:29:57Z | 2026-11-08T14:29:58Z | 1 | 7
|
api_map 685c136237db…admin_handbook 0b1a0b991be4… |
db_handbook |
2026-11-08T14:39:09Z | 2026-11-08T14:39:10Z | 1 | 8
|
db_handbook 1678501d3a58…seed_isolation bd4fa7bde030… |
seed_data |
2026-11-08T14:39:17Z | 2026-11-08T14:39:18Z | 1 | 6
|
seed_data_sql 2b0a924b8227…seed_cases_json 58b2afe94f46… |
seed_validate |
2026-11-08T14:39:21Z | 2026-11-08T14:39:21Z | 1 | 3
|
seed_data_contract 553a72f86a31… |
usecase_validate |
2026-11-08T14:40:55Z | 2026-11-08T14:40:56Z | 1 | 10
|
failed_tests f1e8ba8b1390…passed_tests eb6c8e06766f…test_results 77f5f7ee5610…usecase_contract 6a382228690e… |
finalize_docs |
2026-11-08T14:41:01Z | 2026-11-08T14:41:02Z | 1 | 9
|
defects_json 88914dc964d3…release_notes 4244ab7acd0f…api_integration_guide ec501908af80… |
package_archive invalidated 2026-11-08T23:23:02Z |
2026-11-08T14:48:50Z | 2026-11-08T22:49:42Z | 5 | 34 (final gate PASS)
|
sale_tar 3f1c6d0fb8c1…checksums ec370dcc828d…verify_md ed310afd1487…rebuild_md b788f4c8a4d0…manifest_txt 2f857885f090…actions_jsonl c3a1df1e89c3…provenance_md ff199dc8de7a…assetchain_log_md e9eccaec0c0f…assetchain_log_json 97c6bd62e92e… |
[stage_runs]
Rewinds
- 2026-11-08T13:55:44Z:
verdicttoassemble_kiton strategy_changed (strategy changed (5c33494294aa -> c68edf180d16)) [stage_events, stage_events #26481] - 2026-11-08T21:57:41Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #27440] - 2026-11-08T22:42:29Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #27448] - 2026-11-08T23:23:02Z:
package_archivetopackage_archiveon docs_redo (scripts/redo-docs.py --stage package_archive) [stage_events, stage_events #27456]
Model work per stage
Fully recordedRole: writer model. Calls up to 2026-11-08T22:49:42Z.
150 calls over 5 stages
| Stage | Calls | Refused | Errors | Max attempt | Forced commits | Real tokens | Lesson rules shown |
|---|---|---|---|---|---|---|---|
plan | 2 | 0 | 0 | 1 | 0 | 7082 | — |
remediate | 2 | 0 | 0 | 1 | 0 | 10341 | L-A08, L-038, L-036, L-034, L-032 |
admin_handbook | 84 | 39 | 0 | 3 | 12 | 762279 | — |
db_handbook | 56 | 24 | 0 | 3 | 5 | 598430 | — |
usecase_validate | 6 | 0 | 0 | 1 | 0 | 22269 | — |
[micro_step_runs] [lesson_recalls]
Review
Fully recordedRole: review model.
3 rounds, 3 counted, $8.27 recorded cost
| Round | Started | Critical | Major | Minor | Verdict | Cost | Cap in force | Archive reviewed |
|---|---|---|---|---|---|---|---|---|
| 1 | 2026-11-08T21:31:51Z | 0 | 7 | 16 | findings to repackage [held_rounds, held_rounds #1548] | $2.30 | 3 rounds, $40.00 | a1f3a033807f… |
| 2 | 2026-11-08T22:17:58Z | 0 | 1 | 9 | findings to repackage [held_rounds, held_rounds #1549] | $2.56 | 3 rounds, $40.00 | e8a1416efd07… |
| 3 | 2026-11-08T22:50:19Z | 0 | 0 | 15 | clean to publish [held_rounds, held_rounds #1551] | $3.41 | 3 rounds, $40.00 | 3f1c6d0fb8c1… |
Defects
Fully recorded- Ledger entries48 [defects, defects where product_slug=wikijs and this tag or chain]
- Disclosed in the archive45 [docs/defects/defects.json, entries]
48 ledger entries: by severity low 40, high 8; by status open 5, fixed-in-release 1, fixed-before-release 42.
| Defect | Severity | Status | Found by | Fixed in |
|---|---|---|---|---|
RSD-wikijs-68e24b37d2The image refuses to start without ADMIN_PASS, although Wiki.js uses it only on the first start against an empty database [defects, defects #185533] | low | open | runtime check | — |
RSD-wikijs-3195855f3bRelease notes: Known issues prints a stale ledger row: an internal review note ("Same defect as DB handbook line 1152") describing a diff that lists only the version stamp, which is no longer true of the published… [defects, defects #185534] | low | fixed-in-release | held review (review model) | 3.2.0-CE-ubuntu24.04-r1 |
RSD-wikijs-01d9fd25a3Release notes: The list that follows names two of the eight enforced versions; the other six (including uuid@9 pinned to 11.1.1) are missing, so the list reads as complete. [defects, defects #185535] | low | open | held review (review model) | — |
RSD-wikijs-f110ec91bcSecurity report: Section lists only sanitize-html and @azure/msal-node, omitting the other six enforced overrides. [defects, defects #185536] | low | open | held review (review model) | — |
RSD-wikijs-20e49da17aAdmin handbook: provenance/PINS.json + docs/PINS.md:42-73: the dependency versions ReadyStack sets are six overrides (brace-expansion@5, fast-uri@3, fast-uri@4, undici@7, yaml@2, @azure/identity); strategy… [defects, defects #186498] | high | fixed-before-release | held review (review model) | — |
RSD-wikijs-afdd15e356Admin handbook: provenance/PINS.json + docs/PINS.md:42-73: the dependency versions ReadyStack sets are six overrides (brace-expansion@5, fast-uri@3, fast-uri@4, undici@7, yaml@2, @azure/identity); strategy… [defects, defects #186499] | high | fixed-before-release | held review (review model) | — |
RSD-wikijs-a67c03b345Database handbook: provenance/PINS.json + docs/PINS.md:42-73: the dependency versions ReadyStack sets are six overrides (brace-expansion@5, fast-uri@3, fast-uri@4, undici@7, yaml@2, @azure/identity); strategy… [defects, defects #186500] | high | fixed-before-release | held review (review model) | — |
RSD-wikijs-5361426174Database handbook: provenance/PINS.json + docs/PINS.md:42-73: the dependency versions ReadyStack sets are six overrides (brace-expansion@5, fast-uri@3, fast-uri@4, undici@7, yaml@2, @azure/identity); strategy… [defects, defects #186501] | high | fixed-before-release | held review (review model) | — |
RSD-wikijs-8ec75a21d9Admin handbook: Ran on the held image: PUT /_api/sites/{siteId}/auth/login with "strategyId":"local" -> {"ok":false,"error":"Error","statusCode":400,"message":"body/strategyId must match format \"uuid\""}; with the… [defects, defects #186502] | high | fixed-before-release | held review (review model) | — |
RSD-wikijs-bfb44f1142Admin handbook: Ran the example (host 18080 -> container 3000, -e WIKI_PORT=8080): curl http://127.0.0.1:18080/_api/system/flags -> HTTP 000 (connection reset); inside the container the server answers on… [defects, defects #186503] | high | fixed-before-release | held review (review model) | — |
RSD-wikijs-09c0b308dcAdmin handbook: Ran the documented start with --env-file on the held image: docker inspect --format '{{.Config.Env}}' -> [DB_PASS=dbpw1 ADMIN_PASS=my new pass $x! [defects, defects #186504] | high | fixed-before-release | held review (review model) | — |
RSD-wikijs-7db7a0ee08Admin handbook: docker top on the held image: tini (PID 1, PPID = containerd-shim) -> `/usr/bin/tini -s -- /usr/local/bin/entrypoint.sh` is the process that exec'd into `node --no-experimental-webstorage backend`… [defects, defects #186505] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-d393374343Admin handbook: docker top: tini is PID 1 and stays so, node is its child (entrypoint.sh at /home/.../entrypoint.sh ends in `exec node ...`). [defects, defects #186506] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-98c61d1a49Admin handbook: backend/core/db.ts:98-155: DATABASE_URL only replaces host/user/password/database/port; dbUseSSL still comes from WIKI.config.db.ssl (DB_SSL) and DB_SSL_CA, and the search_path from DB_SCHEMA. [defects, defects #186507] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-5700ab88b9Admin handbook: backend/core/db.ts:98-155 and the DATABASE_URL + DB_SSL=true run (connection retries against a non-TLS postgres): DB_SSL is read with DATABASE_URL; the sentence names only two variables that are… [defects, defects #186508] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-e4ff7e3117Admin handbook: Listed under 'At every start, the container requires:' (line 680). [defects, defects #186509] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-3ae0b1362cDatabase handbook: Listed under 'At every start, you must provide:' (line 190) although ADMIN_EMAIL has a default (backend/models/users.ts:1614) and entrypoint.sh checks only ADMIN_PASS. [defects, defects #186510] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-4679f28eb1Admin handbook: DATABASE_URL is passed through the same env file / container environment (docker inspect run: Config.Env lists every --env-file variable), so 'because the password appears in config files and the… [defects, defects #186511] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-2c2f1ef136Admin handbook: backend/modules/authentication/local/authentication.ts:27 `const email = username.toLowerCase()` and backend/models/users.ts:1614 `.trim().toLowerCase()` on ADMIN_EMAIL: sign-in is not case-sensitive. [defects, defects #186512] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-f68dd22c76Database handbook: Ran `docker run --rm ... -e ADMIN_PASS=zz <image> ls` on the held image: the server started and kept running until killed by timeout (rc 143), no failure. entrypoint.sh ends in `exec node… [defects, defects #186513] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-9ec140ab22Database handbook: entrypoint.sh (kit): `exec node --no-experimental-webstorage backend`, no "$@"; run of `<image> ls` started the server normally. [defects, defects #186514] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-d1b198b5beDatabase handbook: Same measurement: entrypoint.sh does not forward arguments to node. [defects, defects #186515] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-47296ab80eDatabase handbook: docker inspect jt-ha883-w --format '{{json .Mounts}}' -> [] for the documented run; IMAGE_CONFIG.json has no Volumes entry. [defects, defects #186516] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-d19c6c9299Database handbook: admin-guide/openapi.json served by this release: 238 paths, 309 operations (API guide line 5: 309 operations). [defects, defects #186517] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-daaadb5b79Database handbook: provenance/IMAGE_EVIDENCE.json:77: 'Docker Scout counts 111 packages with copyleft licences (AGPL, GPL, LGPL, MPL), 109 of them operating-system packages'; no record supports 'mostly LGPL'. [defects, defects #186518] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-df9c9e73efDatabase handbook: strategy source.pre_install_cmds: `rm -rf frontend/node_modules blocks/node_modules` after the frontend and blocks builds; the image copies only assets/, blocks/compiled/, backend/ (BUILD_RECIPE… [defects, defects #186519] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-a165804263Docker Hub README: IMAGE_CONFIG.json labels com.readystack.license.disclosure / readystack.license_disclosure: 'Six npm dependencies raised for security fixes are set as overrides in backend/package.json ... [defects, defects #186520] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-dd38d66111Admin handbook: Cross-section contradiction on the AGPL section 13 obligation: a customer can act on this sentence and not offer source to network users, against what the rest of the documents state. [defects, defects #187006] | high | fixed-before-release | held review (review model) | — |
RSD-wikijs-923b660c9aAdmin handbook: Says an administrator can set another user's password only when mail is configured; setting it needs no mail. [defects, defects #187007] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-3e6190c31cAdmin handbook: Reads as if arguments to docker run are used, while entrypoint.sh drops them. [defects, defects #187008] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-9544fb790cAdmin handbook: Unsupported Docker Engine 20.10 requirement and an irrelevant 'low-numbered ports' explanation for port 3000. [defects, defects #187009] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-d35b1ce51aDatabase handbook: States docker exec runs as root by default; it runs as the image user wiki, contradicting other sections. [defects, defects #187010] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-2bce22d7f7Database handbook: Calls a pg_dump -n wiki dump 'schema-only'; it carries the data, the failure is the missing extensions. [defects, defects #187011] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-93cd4746e7Database handbook: States a Docker Engine 20.10 minimum for the offline rebuild; the real requirements (buildx 0.30+, jq, tar) are not named. [defects, defects #187012] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-9380d1922aDocker Hub README: The Hub README's source-changes line names only the version stamp and omits the six overrides the label and handbooks list. [defects, defects #187013] | low | open | held review (review model) | — |
RSD-wikijs-0da6aeaf58Release notes: The list of enforced minimum versions names one of the six overrides, so it reads as complete. [defects, defects #187014] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-dd672c104eRelease notes: The minimum-dependency section lists one of the six enforced overrides, so it reads as complete. [defects, defects #187015] | low | open | held review (review model) | — |
RSD-wikijs-5380c2fe4fAdmin handbook: Round-2 'low-numbered ports' explanation for port 3000 was not removed. [defects, defects #187465] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-fa42be38e1Admin handbook: Same 'above 1023' rationale as the round-2 finding, still present, and different from the DB handbook's reason. [defects, defects #187466] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-d1d88175d5Database handbook: Contradicts the 'above 1023' reason in the admin handbook; neither is supported by the records. [defects, defects #187467] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-009f9a8c61Admin handbook: Says only DB_SSL is still read; DB_SCHEMA and DB_SSL_CA are read too, contradicting lines 1310 and 2445. [defects, defects #187468] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-64f90217d7Admin handbook: Blanket 'takes precedence over DB_* values' is wrong for DB_SCHEMA/DB_SSL/DB_SSL_CA. [defects, defects #187469] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-5e08207eb8Admin handbook: 'In addition to Wiki.js itself' is wrong: the 111 includes the AGPL wiki-backend package. [defects, defects #187470] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-0fa1a661c5Admin handbook: Overbroad/ambiguous wording on the section 13 trigger, inconsistent with the sections that tie it to network users. [defects, defects #187471] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-924e4e184cAdmin handbook: Procedure tells the customer to put the administrator password on the docker run command line, against the secrets-in-env-file rule of the other sections. [defects, defects #187472] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-99db8b6ba7Admin handbook: Says Git clones are always held by their remote; a target without a URL is not. [defects, defects #187473] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-fab9458c40Database handbook: Wrong cause: -s is not what makes tini forward signals. [defects, defects #187474] | low | fixed-before-release | held review (review model) | — |
RSD-wikijs-ca9c989417Database handbook: Calls -s the 'signal-forwarding flag'. [defects, defects #187475] | low | fixed-before-release | held review (review model) | — |
Verification
1 item not recorded- Reproduced before publishingyes (rebuilt digest sha256:71286f1093afac639fc334931bf003f9cbfd94244b0db34f59c876b26b415681 · published digest sha256:71286f1093afac639fc334931bf003f9cbfd94244b0db34f59c876b26b415681 · digest match yes · builder moby/buildkit:v0.31.2 · build seconds 79) [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 releaseA (percent 94 · docker grade B · docker percent 83 · tool docker scout policy 1.26.0 · config docker-default · org vex no · at 2026-11-08T23:24:22Z · failing Docker Scout counts 111 packages with copyleft licences (AGPL, GPL, LGPL, MPL), 109 of them operating-system packages (it counts only packages whose licence it can read; the SBOM lists every component). AGPL: wiki-backend. · 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-08T23:23:44Z) [docs/provenance/IMAGE_EVIDENCE.json, signed]
- Image signature transparency-log entries
- log index 3755978269 · transparency-log entry
- log index 3755978579 · transparency-log entry
- rebuild.json signatureSigstore bundle, release key (key fingerprint 04daa92344a52dbc · log index 3759534500 · transparency-log entry · integrated 2026-11-08T23:29:45Z) [ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.rebuild.json.sigstore, verificationMaterial.tlogEntries[0]]
- Signed attestations
- kind provenance · digest sha256:62d9b6812fdf1fa177a9f49b39367004b4e319212e6ce2c78dc7d39cabcda5af · state attached · log index 3759534599 · transparency-log entry
- kind sbom · digest sha256:62d9b6812fdf1fa177a9f49b39367004b4e319212e6ce2c78dc7d39cabcda5af · state attached · log index 3759534668 · transparency-log entry
- kind vsa · digest sha256:62d9b6812fdf1fa177a9f49b39367004b4e319212e6ce2c78dc7d39cabcda5af · state attached · log index 3759534737 · transparency-log entry
- kind provenance · digest sha256:71286f1093afac639fc334931bf003f9cbfd94244b0db34f59c876b26b415681 · state attached · log index 3759534786 · transparency-log entry
- kind sbom · digest sha256:71286f1093afac639fc334931bf003f9cbfd94244b0db34f59c876b26b415681 · state attached · log index 3759534833 · transparency-log entry
- kind vsa · digest sha256:71286f1093afac639fc334931bf003f9cbfd94244b0db34f59c876b26b415681 · state attached · log index 3759534860 · transparency-log entry
- Pins recorddocs/PINS.md and docs/provenance/PINS.json in the archive (https://readystack.dev/products/wikijs/recipe) [docs/provenance/PINS.json]
Offline clean-room rebuilds
- 2026-11-08T21:31:55Z on build host 1 (Docker-in-Docker daemon with --network none): bit for bit yes, digest match yes, customer verify yes
rebuilt sha256:71286f1093afac639fc334931bf003f9cbfd94244b0db34f59c876b26b415681 [clean-room rebuild ledger, runs[670]]
- 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-08T14:11:37Z [stage_runs, stage_runs chain 883 stage publish_image]
- Archive manifests written2026-11-08T23:26: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 839 · probed 2026-11-08T14:07:10Z · source build_kit) [release_images, isa_level_hard]
History
2 events- 2026-11-08T23:31:04Z generated: by KitForge release/build_trail.py · generator commit 76d81c24c43ddcadfccac6684668838e8438bf96
- 2026-11-08T23:32:53Z publication: promoted at 2026-11-08T23:31:33Z · promoted digest sha256:62d9b6812fdf1fa177a9f49b39367004b4e319212e6ce2c78dc7d39cabcda5af · promotion method imagetools_create_retag_by_digest_no_rebuild · site event 395 · checklist status complete · checklist at 2026-11-08T23:32:53Z · record workspace: deliverables/provenance/PROMOTION_RECORD.json, RELEASE_CHECKLIST.json
Records
26 records| Record | Where it is | Rows |
|---|---|---|
docs/defects/defects.json | inside the archive (ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.tar.gz) | — |
docs/provenance/IMAGE_EVIDENCE.json | inside the archive (ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.tar.gz) | — |
docs/provenance/LOCKED_DIGEST.txt | inside the archive (ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.tar.gz) | — |
docs/provenance/PINS.json | inside the archive (ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.tar.gz) | — |
docs/provenance/REPRO_VERIFICATION.json | inside the archive (ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.tar.gz) | — |
docs/provenance/SOURCE_TREE_HASH.json | inside the archive (ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.tar.gz) | — |
MANIFEST.json | beside the archive (prodasset /data/production/wikijs/3.2.0-CE-ubuntu24.04-r1/), as staged for publishing | — |
PUBLISH_MANIFEST.json | beside the archive (prodasset /data/production/wikijs/3.2.0-CE-ubuntu24.04-r1/), as staged for publishing | — |
ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.rebuild.json | beside the archive (prodasset /data/production/wikijs/3.2.0-CE-ubuntu24.04-r1/), as staged for publishing | — |
ReadyStack-wikijs-3.2.0-CE-ubuntu24.04-r1.rebuild.json.sigstore | beside the archive (prodasset /data/production/wikijs/3.2.0-CE-ubuntu24.04-r1/), as staged for publishing | — |
SCOUT_EVIDENCE.json | beside the archive (prodasset /data/production/wikijs/3.2.0-CE-ubuntu24.04-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) | 583 |
chains | sadb, ReadyStack's engine database (not published) | 731, 883 |
defects | sadb, ReadyStack's engine database (not published) | wikijs 3.2.0-CE-ubuntu24.04-r1 |
drive_runs | sadb, ReadyStack's engine database (not published) | chain 731, chain 883 |
held_rounds | sadb, ReadyStack's engine database (not published) | chain 883 |
lesson_recalls | sadb, ReadyStack's engine database (not published) | chain 883 |
micro_step_runs | sadb, ReadyStack's engine database (not published) | chain 883 |
release_images | sadb, ReadyStack's engine database (not published) | wikijs 3.2.0-CE-ubuntu24.04-r1 |
stage_events | sadb, ReadyStack's engine database (not published) | chain 883 |
stage_runs | sadb, ReadyStack's engine database (not published) | chain 883 |
watch_queue | sadb, ReadyStack's engine database (not published) | 11953 |
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) | — |