2.0 KiB
V4.2.8 – Admin Control & Collectible Ownership
Customer worker-limit override
The private Customer-Service admin UI can toggle worker_limit_bypass for an individual customer. When enabled, that customer is exempt from both per-customer worker inventory and per-customer running-worker limits. Global host limits remain active. Admins can also create stopped workers directly for a selected customer and assign an active task / Beacon mode.
Retiring task series
Each task has retire_after_completion. A retiring task can finish normally and still mint its winner artifact, but EnsureSuccessorTask will not create the inherited follow-up task. If the configured active-task pool needs a replacement, EnsureActiveTasks creates a fresh root task from global defaults instead of cloning the retiring series.
Transferable collectible ownership
Historical game provenance remains in winner_client_id and winner_worker_client_id. Current ownership is stored separately in artifact_owner_client_id. Admin transfers update only current ownership and append an immutable-style audit row to artifact_transfers; the original winner is not rewritten.
Existing databases remain compatible: rows without an explicit owner are interpreted as owned by winner_client_id through COALESCE(artifact_owner_client_id,winner_client_id).
Admin NFT drops
Server Admin → Artifact can queue 1–20 random collectibles for a chosen Neural Hunt identity. A template task may be selected; with no template the server chooses an existing normal win task at random for art direction. Each drop gets a fresh secret/seed/task id, is marked artifact_origin=admin_drop, starts in artifact_status=pending, has no historical game winner, and never creates a successor task.
Admin drops use the normal artifact worker, OpenAI circuit breaker, style/anchor pipeline, and therefore can incur the same provider cost as winner cards.
Deployment
Rebuild Dockerfile.server and Dockerfile.customer-service. The worker image is unchanged.