Filing gate ① — product defect with a named location and a reproduction. reach: a first objectstack dev on an empty SQLite file logged WARN Insert operation failed {"object":"sys_migration","error":{"message":"UNIQUE constraint failed: sys_migration.id …"}} during boot.
Who acts on it: objectstack triage (runtime / migrations owner). ⛔ Not a claim. Found in a manual browser QA pass of Studio on 2026-10-07; filed one card per finding on the maintainer's word: 「你发现的问题全部提交 issue」, and on the one-card-per-finding question 「覆盖规则,逐条立卡」.
What happens
The server starts normally, but an empty database should not hit a duplicate migration row; the warning suggests two writers record the same migration.
Reproduction
pnpm -C examples/app-showcase exec objectstack dev --ui --seed-admin -p <port> -d file:<new file> with OS_PORT=<port>; grep the log for sys_migration.
Suggested direction (triage to rule)
Find the second insert of the same migration id on first boot; make the record an upsert or give it one writer.
Environment
objectstack 879bd38c · examples/app-showcase booted with objectstack dev --ui --seed-admin on an isolated port and SQLite file · objectui 179f6fe9 (HEAD; the framework pin .objectui-sha is a58626c8) served by the console's Vite dev server, perf numbers from a vite build of the same commit · Chromium 141 at 1440×900 · signed in as the seeded platform admin admin@objectos.ai unless stated.
Duplicate check
Dedupe words: sys_migration unique constraint failed first boot · migration recorded twice
Filed by Claude Code (session session_01D76mrPJrSSdaKRxR2rvrMG) from that QA pass.
Generated by Claude Code
Filing gate ① — product defect with a named location and a reproduction. reach: a first
objectstack devon an empty SQLite file loggedWARN Insert operation failed {"object":"sys_migration","error":{"message":"UNIQUE constraint failed: sys_migration.id …"}}during boot.Who acts on it: objectstack triage (runtime / migrations owner). ⛔ Not a claim. Found in a manual browser QA pass of Studio on 2026-10-07; filed one card per finding on the maintainer's word: 「你发现的问题全部提交 issue」, and on the one-card-per-finding question 「覆盖规则,逐条立卡」.
What happens
The server starts normally, but an empty database should not hit a duplicate migration row; the warning suggests two writers record the same migration.
Reproduction
pnpm -C examples/app-showcase exec objectstack dev --ui --seed-admin -p <port> -d file:<new file>withOS_PORT=<port>; grep the log forsys_migration.Suggested direction (triage to rule)
Find the second insert of the same migration id on first boot; make the record an upsert or give it one writer.
Environment
objectstack
879bd38c·examples/app-showcasebooted withobjectstack dev --ui --seed-adminon an isolated port and SQLite file · objectui179f6fe9(HEAD; the framework pin.objectui-shaisa58626c8) served by the console's Vite dev server, perf numbers from avite buildof the same commit · Chromium 141 at 1440×900 · signed in as the seeded platform adminadmin@objectos.aiunless stated.Duplicate check
[sql-driver] DATABASE_ERROR … no such table: sys_migrationon the warn channel: the engine's migration-gate read runs before the table is created #20768 (closed) — closed 2026-09-30 (PR fix(driver-sql): the first boot of a new database no longer prints a sys_migration DATABASE_ERROR (#20768) #20818): same first-boot sys_migration false-alarm family; this card is a different error (UNIQUE constraint)Dedupe words: sys_migration unique constraint failed first boot · migration recorded twice
Filed by Claude Code (session
session_01D76mrPJrSSdaKRxR2rvrMG) from that QA pass.Generated by Claude Code