# -*- coding: utf-8 -*- # # Check shop tickets against their design spec. # # Reads the specs written by Extract Design plus the project's knowledge.yaml, # then compares every piece of the chosen design numbers against them. # # Every CHECK here is pure arithmetic - the same model always gives the same # answer, and every row of the checklist table is computed. One thing in the # report is not: with the run-time option `vision_escalation` on, the checks # code cannot settle (5.5) are escalated to a small model reading one rendered # view. That result is quarantined - its own list, its own codes, its own # section, and it can never set a checklist row. See vibe.ticketvision and # docs/ticket-checklist.md section 8bis. # # Read-only. Nothing here opens a transaction, including the image export. # # THE WHOLE BUTTON MOVED into `lib/vibe/ticketqc_run.py` on 2026-09-05, so # the new Reinforcing QC button could reuse it instead of these 765 lines # being copy-pasted -- see that module's own header for exactly what is # shared and what differs. This script is `mode='ticket'`, which is BYTE # FOR BYTE what used to live here: nothing about Ticket QC's own behaviour # changed in the move. # pylint: disable=import-error,invalid-name,broad-except __title__ = 'Ticket QC' from pyrevit import revit from vibe import ticketqc_run ticketqc_run.run(revit.doc, revit.uidoc, mode='ticket')