ValidationIssue
- Engine: SQL (Django model / relational table)
- App: reference
- Table/Collection:
reference_validationissue - Verbose name: validation issue
A potential data-quality problem found by the weekly /tools validation scan. Created by project.reference.management.commands.validate_recent_competitions (a Monday cron) and triaged by staff on the /tools/data-validation page. It reuses the checks from the July 2026 mongo-sync corruption incident so a code change that silently "butchers" results/events/units is caught quickly.
| Field | Type | Column/Key | Null/Default | PK | Choices | Notes |
|---|---|---|---|---|---|---|
| id | AutoField | id | — | PK | — | — |
| check_code | CharField | check_code | — | — | Machine code for the check that found this (e.g. stale_mongo… | |
| severity | CharField | severity | dflt=warning | warning: warning; error: error | — | |
| title | CharField | title | — | — | — | |
| detail | TextField | detail | — | — | — | |
| competition_key | CharField | competition_key | — | — | Natural key of the competition, e.g. 2026/GBR/slug | |
| competition_date | DateField | competition_date | null | — | — | |
| target | CharField | target | — | — | Ident of the affected unit, e.g. a mongo unit uuid or event_… | |
| mongo_id | CharField | mongo_id | — | — | Mongo document id (uuid or ObjectId) of the affected unit/ev… | |
| model_class | CharField | model_class | — | — | Mongo model class of the affected doc, e.g. Unit.Race or Eve… | |
| event_id | CharField | event_id | — | — | Within-competition event code, e.g. T13 (for deep links to t… | |
| round_num | IntegerField | round_num | null | — | — | |
| heat_num | IntegerField | heat_num | null | — | — | |
| status | CharField | status | dflt=open | open: open; confirmed: confirmed; false_positive: not an issue; resolved: resolved; referred: referred to organiser; auto_fixed: automatically fixed; manual_fixed: manually fixed; fix_failed: automatic fix failed; otbot: ot-bot investigating; otbot_investigated: ot-bot investigated | — | |
| resolved_by | CharField | resolved_by | — | — | — | |
| resolved_at | DateTimeField | resolved_at | null | — | — | |
| resolution_note | CharField | resolution_note | — | — | How the issue was resolved, e.g. 'Rechecked and no longer fo… | |
| referred_at | DateTimeField | referred_at | null | — | When the organiser was emailed about this issue | |
| referred_to | CharField | referred_to | — | — | Email address(es) the competition organiser was notified at | |
| otbot_report | TextField | otbot_report | null | — | ot-bot's conclusion about this row, when an investigation ha… | |
| otbot_reported_at | DateTimeField | otbot_reported_at | null | — | When ot-bot's conclusion was recorded | |
| created_at | DateTimeField | created_at | — | — | — | |
| updated_at | DateTimeField | updated_at | — | — | — |
Field names link to their fuller explanation below.
Field details
Click a field name in the table above to jump to its explanation. Fields with no help text yet show a prompt, and are the ones to improve by adding a help_text on the model field, then regenerating.
id
- Engine: SQL
- Type:
AutoField - Column/Key:
id - primary key
No help text yet — add a help_text on the model field and regenerate to fill this in.
check_code
- Engine: SQL
- Type:
CharField - Column/Key:
check_code
Machine code for the check that found this (e.g. stale_mongo_unit_id).
severity
- Engine: SQL
- Type:
CharField - Column/Key:
severity - default =
warning; choices: warning: warning; error: error
No help text yet — add a help_text on the model field and regenerate to fill this in.
title
- Engine: SQL
- Type:
CharField - Column/Key:
title
No help text yet — add a help_text on the model field and regenerate to fill this in.
detail
- Engine: SQL
- Type:
TextField - Column/Key:
detail
No help text yet — add a help_text on the model field and regenerate to fill this in.
competition_key
- Engine: SQL
- Type:
CharField - Column/Key:
competition_key
Natural key of the competition, e.g. 2026/GBR/slug
competition_date
- Engine: SQL
- Type:
DateField - Column/Key:
competition_date - nullable
No help text yet — add a help_text on the model field and regenerate to fill this in.
target
- Engine: SQL
- Type:
CharField - Column/Key:
target
Ident of the affected unit, e.g. a mongo unit uuid or event_id round.heat
mongo_id
- Engine: SQL
- Type:
CharField - Column/Key:
mongo_id
Mongo document id (uuid or ObjectId) of the affected unit/event, for the mbrowser edit link
model_class
- Engine: SQL
- Type:
CharField - Column/Key:
model_class
Mongo model class of the affected doc, e.g. Unit.Race or EventSpec (used by the mbrowser edit link)
event_id
- Engine: SQL
- Type:
CharField - Column/Key:
event_id
Within-competition event code, e.g. T13 (for deep links to the event/unit page)
round_num
- Engine: SQL
- Type:
IntegerField - Column/Key:
round_num - nullable
No help text yet — add a help_text on the model field and regenerate to fill this in.
heat_num
- Engine: SQL
- Type:
IntegerField - Column/Key:
heat_num - nullable
No help text yet — add a help_text on the model field and regenerate to fill this in.
status
- Engine: SQL
- Type:
CharField - Column/Key:
status - default =
open; choices: open: open; confirmed: confirmed; false_positive: not an issue; resolved: resolved; referred: referred to organiser; auto_fixed: automatically fixed; manual_fixed: manually fixed; fix_failed: automatic fix failed; otbot: ot-bot investigating; otbot_investigated: ot-bot investigated
No help text yet — add a help_text on the model field and regenerate to fill this in.
resolved_by
- Engine: SQL
- Type:
CharField - Column/Key:
resolved_by
No help text yet — add a help_text on the model field and regenerate to fill this in.
resolved_at
- Engine: SQL
- Type:
DateTimeField - Column/Key:
resolved_at - nullable
No help text yet — add a help_text on the model field and regenerate to fill this in.
resolution_note
- Engine: SQL
- Type:
CharField - Column/Key:
resolution_note
How the issue was resolved, e.g. 'Rechecked and no longer found'
referred_at
- Engine: SQL
- Type:
DateTimeField - Column/Key:
referred_at - nullable
When the organiser was emailed about this issue
referred_to
- Engine: SQL
- Type:
CharField - Column/Key:
referred_to
Email address(es) the competition organiser was notified at
otbot_report
- Engine: SQL
- Type:
TextField - Column/Key:
otbot_report - nullable
ot-bot's conclusion about this row, when an investigation has been run
otbot_reported_at
- Engine: SQL
- Type:
DateTimeField - Column/Key:
otbot_reported_at - nullable
When ot-bot's conclusion was recorded
created_at
- Engine: SQL
- Type:
DateTimeField - Column/Key:
created_at
No help text yet — add a help_text on the model field and regenerate to fill this in.
updated_at
- Engine: SQL
- Type:
DateTimeField - Column/Key:
updated_at
No help text yet — add a help_text on the model field and regenerate to fill this in.
Generated by docs_models management command for SQL.