RC-11
All checks were successful
release-tag / release-image (push) Successful in 4m46s

This commit is contained in:
2026-08-12 22:26:00 +02:00
parent d76f1c3d25
commit f2da96ec24
16 changed files with 672 additions and 117 deletions

View File

@@ -29,6 +29,9 @@ CREATE TABLE IF NOT EXISTS tasks (
nft_prompt_instructions TEXT NOT NULL DEFAULT '',
nft_negative_prompt TEXT NOT NULL DEFAULT '',
nft_style_reference TEXT NOT NULL DEFAULT '',
retire_after_completion INTEGER NOT NULL DEFAULT 0,
artifact_owner_client_id TEXT REFERENCES clients(id),
artifact_origin TEXT NOT NULL DEFAULT 'win',
created_at INTEGER NOT NULL,
completed_at INTEGER,
winner_client_id TEXT REFERENCES clients(id),
@@ -45,6 +48,19 @@ CREATE TABLE IF NOT EXISTS tasks (
);
CREATE INDEX IF NOT EXISTS tasks_status_created_idx ON tasks(status, created_at);
-- Current collectible ownership is separate from historical winner provenance.
-- Transfers keep the original winner fields untouched and are audit logged here.
CREATE TABLE IF NOT EXISTS artifact_transfers (
id TEXT PRIMARY KEY,
task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
from_client_id TEXT REFERENCES clients(id) ON DELETE SET NULL,
to_client_id TEXT NOT NULL REFERENCES clients(id),
reason TEXT NOT NULL DEFAULT '',
created_at INTEGER NOT NULL
);
CREATE INDEX IF NOT EXISTS artifact_transfers_task_idx ON artifact_transfers(task_id, created_at DESC);
CREATE INDEX IF NOT EXISTS artifact_transfers_to_idx ON artifact_transfers(to_client_id, created_at DESC);
-- False guesses are intentionally not persisted. This table only keeps the
-- aggregate state needed for the 3D map, ranking, rate limiting and next seq.
CREATE TABLE IF NOT EXISTS task_points (