ice_log when the seed pipeline materialises a per-workspace Task from the template. Templates have no workspace foreign key; they are append-only canonical rows managed exclusively by the syncTaskTemplates seed function and data migrations โ users never write to this table. A Task row is the per-workspace materialisation of a template; many Tasks may reference the same TaskTemplate via template_pk.
Internal object. Not currently exposed on the public REST API. The operations below describe the intended contract.
API operations
Data model
Attributes
System-computed
- task_template_id โ generated by gen_random_uuid() at INSERT; never written by callers
- sort_order default 0 โ migrations set explicit sequential values; entity TypeScript default = 0
- token_reward default 200 โ entity TypeScript default = 200; DB DEFAULT 200
- created_at โ set by MikroORM onCreate hook (new Date()); never updated
- updated_at โ set by MikroORM onCreate hook and refreshed by onUpdate hook on every write
- deleted_at โ set to a timestamp by the syncTaskTemplates seed function when a template is retired; NULL for active rows
- initial_status default โ when NULL the Task seed pipeline defaults the child task status to ice_log; the column itself has no DB DEFAULT
- action_type โ seeded and updated exclusively by syncTaskTemplates and data migrations; the TypeScript OptionalProps declaration means MikroORM treats it as server-side defaulted (nullable native enum)
Example
apps/api/src/database/entities/TaskTemplate.ts ยท domain: automation ยท tier: Activity