KOPR R107 COMET DESIGNATION REFERENCE HEADLESS OWNER - comet_designation.py - syntax, canonicalisation, intermediate typing states - shared examples/messages and FITS OBJECT hints - CometElementRepository lookup - multi-designation parsing and canonical deduplication QT OWNER - comet_designation_widgets.py - Comet designation labels, placeholders, status colours and styling - embedded, table, single-dialog and list-dialog components - Add or update comet elements... action RELEASE ENFORCEMENT python3 comet_designation_inventory.py --enforce . PROHIBITED - comet/designation QInputDialog.getText() - GUI validation via loadcometid() or FindElements() - non-allowlisted GUI LoadComet() validation - designation regex outside comet_designation.py - Comet name / Comet short name / destignation UI labels - duplicated shared examples/messages - required widget without shared component import COMPATIBILITY - ephemeris_position.normalize_comet_designation is a re-export - wccd._designation_hint_from_object(), wccd._local_comet_elements_available() and wstack_functions.stack_kopr_ephemeris_available() are thin adapters - koprhand.loadcometid() remains external compatibility only QA 67 focused designation tests passed 95 extended designation/ephemeris/compatibility tests passed 1589 passed, 6 skipped, 0 failed total