In Kitsu's Zou server, how are shots, tasks, task statuses, review previews and review comments modelled?
Zou v1.0.97 stores shots, assets, sequences, episodes and similar as rows of one polymorphic Entity table (entity_type_id, parent_id); a Task joins an entity, a task type and a status (unique per name, project, type and entity); statuses carry flags such as is_retake and is_feedback_request; comments attach to any object and can change a task's status; a PreviewFile (revision, validation status, JSONB annotations; unique per name, task and revision) is the reviewable artefact, not a publication.
Zou v1.0.97 stores shots, assets, sequences, episodes and similar as rows of one polymorphic Entity table (entity_type_id, parent_id); a Task joins an entity, a task type and a status (unique per name, project, type and entity); statuses carry flags such as is_retake and is_feedback_request; comments attach to any object and can change a task's status; a PreviewFile (revision, validation status, JSONB annotations; unique per name, task and revision) is the reviewable artefact, not a publication.
Curator qualifications: Code and docs read 2026-10-22; no server run (code reading).
Limitations: Code and docs read 2026-10-22; no server run (code reading).
Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
"citations": [
{
"url": "https://github.com/cgwire/zou/blob/629c4316661ede66ea6b65f166a0d7d852fd4b68/zou/app/models/entity.py",
"note": "zou/app/models/entity.py at 629c4316 (raw), L2-11; models/task.py (raw), L40-74; models/task_status.py (raw); models/comment.py (raw), L78-115; models/preview_file.py (raw), L23-66"
},
{
"url": "https://github.com/cgwire/zou/blob/629c4316661ede66ea6b65f166a0d7d852fd4b68/zou/app/models/task.py",
"note": "zou/app/models/entity.py at 629c4316 (raw), L2-11; models/task.py (raw), L40-74; models/task_status.py (raw); models/comment.py (raw), L78-115; models/preview_file.py (raw), L23-66"
},
{
"url": "https://github.com/cgwire/zou/blob/629c4316661ede66ea6b65f166a0d7d852fd4b68/zou/app/models/comment.py",
"note": "zou/app/models/entity.py at 629c4316 (raw), L2-11; models/task.py (raw), L40-74; models/task_status.py (raw); models/comment.py (raw), L78-115; models/preview_file.py (raw), L23-66"
},
{
"url": "https://github.com/cgwire/zou/blob/629c4316661ede66ea6b65f166a0d7d852fd4b68/zou/app/models/preview_file.py",
"note": "zou/app/models/entity.py at 629c4316 (raw), L2-11; models/task.py (raw), L40-74; models/task_status.py (raw); models/comment.py (raw), L78-115; models/preview_file.py (raw), L23-66"
},
{
"url": "https://github.com/cgwire/zou/blob/629c4316661ede66ea6b65f166a0d7d852fd4b68/zou/app/models/task_status.py",
"note": "zou/app/models/entity.py at 629c4316 (raw), L2-11; models/task.py (raw), L40-74; models/task_status.py (raw); models/comment.py (raw), L78-115; models/preview_file.py (raw), L23-66"
}
]
}Evidence claims
- [sourced_fact] Zou v1.0.97 stores shots, assets, sequences, episodes and similar as rows of one polymorphic Entity table (entity_type_id, parent_id); a Task joins an entity, a task type and a status (unique per name, project, type and entity); statuses carry flags such as is_retake and is_feedback_request; comments attach to any object and can change a task's status; a PreviewFile (revision, validation status, JSONB annotations; unique per name, task and revision) is the reviewable artefact, not a publication. · locator: zou/app/models/entity.py at 629c4316 (raw), L2-11; models/task.py (raw), L40-74; models/task_status.py (raw); models/comment.py (raw), L78-115; models/preview_file.py (raw), L23-66 source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |
Linked records
- cites → https://github.com/cgwire/zou/blob/629c4316661ede66ea6b65f166a0d7d852fd4b68/zou/app/models/comment.py
- cites → https://github.com/cgwire/zou/blob/629c4316661ede66ea6b65f166a0d7d852fd4b68/zou/app/models/entity.py
- cites → https://github.com/cgwire/zou/blob/629c4316661ede66ea6b65f166a0d7d852fd4b68/zou/app/models/preview_file.py
- cites → https://github.com/cgwire/zou/blob/629c4316661ede66ea6b65f166a0d7d852fd4b68/zou/app/models/task.py
- cites → https://github.com/cgwire/zou/blob/629c4316661ede66ea6b65f166a0d7d852fd4b68/zou/app/models/task_status.py