data_updater_v2.tables.issues
issues.py — the pipeline’s own record of what needs doing: an issue opens when a section
observes something to act on (a new listing with no history yet, a change no event explains,
a vendor that does not carry a listing), stays open — one per identity — while it is seen
again, and closes when the work that fixes it is proven done, or is waived. Kept beside the
data (schema maintenance in the pipeline database), so a fix and its proof can commit
together. nc-data’s maintenance plane (nc_data/models/maintenance/base.py) is the
reference; this is it in our vocabulary:
issue one occurrence of one identity — the section, the kind, the table and the listing it concerns (our ``id`` / ``global_id`` / ``symbol``) and the rest of its key — with what fixes it (``action``: the DataClient method a job runs)assessment one revision of a verdict on an identity (complete, not due, unsupported, waived ...): what may close, defer or suppress an issueattempt one claimed run of the work an issue asks for (a backfill job's), leased, then verifiedissue_event every change of an issue, append-only: detected, seen again, resolved ...Differences from nc-data, ours by design: the target is named in our ids (table_name,
listing_id, global_id, symbol) rather than a generic type/name pair, so a job
asks “what is open for this listing” directly; capability is action, the method that
fixes the issue; the domain is the DataClient section (universe, daily, splits …).
Classes
Assessment
Bases: Base
One revision of a verdict on an identity: what may close, defer or suppress an issue.
Attempt
Bases: Base
One claimed run of the work one issue occurrence asks for: leased, run, verified.
Issue
Bases: Base
One occurrence of one issue identity: open until the work is proven done or waived.
IssueEvent
Bases: Base
One append-only event of one issue occurrence.