# 02 — seeding each app through its own front door, BEFORE any bump # guest 9202, 2026-09-21T12:24:42Z ## vikunja — seeded via its REST API (/api/v1/register, /login, PUT /projects, PUT /projects/2/tasks) vikunja version: v2.3.0 TASK 1 'SEED-VIKUNJA-CANARY-9f3c1e-20260921' desc= 'power-cut drill canary' POSITIVE CONTROL: seed present = True NEGATIVE CONTROL: absent string present = False ## uptime-kuma — seeded via its own socket.io front door (the same API the browser uses) # NOTE: uptime-kuma 2.4.0 first boot sits in the SETUP-DATABASE wizard ('Waiting for user action'). # The controller reported the app running + healthy anyway. The wizard was passed through its own # front door: POST /setup-database {"dbConfig":{"type":"sqlite"}} -> {"ok":true}. MONITORS: ["SEED-KUMA-CANARY-4a91c7-20260921"] POSITIVE CONTROL: seed present = true NEGATIVE CONTROL: absent name present = false read-back finished ## wishlist — seeded via POST /signup then POST /lists//create-item # NOTE: on first boot the image's own 'pnpm prisma db seed' was OOM-Killed at mem_limit 128M, # so the Role/Group rows were missing and EVERY signup failed with a misleading # 'User with username or email already exists' (real cause: FOREIGN KEY constraint). # Repaired by running the image's own seed once (docker update --memory 512m, run seed, back to 128m). wishlist version banner: 308 list page code=200 POSITIVE CONTROL occurrences of seed name: 2 NEGATIVE CONTROL occurrences of absent name: 0 context: '-[-->
SEED-WISHLIST-CANARY-7b2d44-20260921