From fcb704c97ea3c3db569442d428183e1a4e50822c Mon Sep 17 00:00:00 2001 From: kempersc Date: Thu, 29 Jan 2026 17:55:50 +0100 Subject: [PATCH] Update generated timestamp in manifest.json --- archived_slots_refresh.txt | 1146 +++++++++++++++++ .../schemas/20251121/linkml/manifest.json | 2 +- scripts/trace_dead_links.py | 82 ++ 3 files changed, 1229 insertions(+), 1 deletion(-) create mode 100644 archived_slots_refresh.txt create mode 100644 scripts/trace_dead_links.py diff --git a/archived_slots_refresh.txt b/archived_slots_refresh.txt new file mode 100644 index 0000000000..d676f02c2b --- /dev/null +++ b/archived_slots_refresh.txt @@ -0,0 +1,1146 @@ +about_text_archived_20260116.yaml +accepts_or_accepted_external_work_archived_20260115.yaml +accepts_or_accepted_payment_method_archived_20260115.yaml +accepts_or_accepted_visiting_scholar_archived_20260115.yaml +activities_societies_archived_20260114.yaml +actual_end_archived_20260114.yaml +actual_start_archived_20260114.yaml +address_formatted_archived_20260114.yaml +address_formatted_archived_20260122.yaml +address_type_archived_20260114.yaml +address_type_archived_20260117.yaml +admin_office_id_archived_20260114.yaml +administrative_context.yaml +administrative_functions_archived_20260114.yaml +aggregates_from_archived_20260114.yaml +algorithm_name_archived_20260117.yaml +algorithm_version_archived_20260117.yaml +all_links_archived_20260114.yaml +amount_archived_20260122.yaml +annual_participants_archived_20260115.yaml +api_available_archived_20260115.yaml +api_documentation_archived_20260115.yaml +applicable_countries_archived_20260115.yaml +applies_or_applied_to_call_archived_20260117.yaml +applies_to_call_archived_20260115.yaml +appointment_required_archived_20260115.yaml +appraisal_notes_archived_20260114.yaml +approved_by_archived_20260114.yaml +approximate_archived_20260114.yaml +approximation_level_archived_20260117.yaml +archival_reference_archived_20260116.yaml +archived_at_archived_20260115.yaml +area_hectares_archived_20260115.yaml +area_value_archived_20260122.yaml +arrangement_level_archived_20260116.yaml +arrangement_notes_archived_20260115.yaml +as_wkt_archived_20260128.yaml +asserted_by_archived_20260114.yaml +asserter_contact_archived_20260117.yaml +asserter_type_archived_20260117.yaml +asserter_version_archived_20260117.yaml +assessment_date_archived_20260116.yaml +associated_encompassing_bodies_archived_20260114.yaml +associated_taxa_archived_20260114.yaml +audience_size_archived_20260117.yaml +audience_type_archived_20260117.yaml +audio_event_segments_archived_20260114.yaml +audio_quality_score_archived_20260116.yaml +audit_date_archived_20260116.yaml +audit_opinion_archived_20260116.yaml +audit_status_archived_20260116.yaml +auditor_name_archived_20260116.yaml +authentication_required_archived_20260115.yaml +author_affiliation_archived_20260116.yaml +author_identifier_archived_20260116.yaml +author_name_archived_20260116.yaml +author_role_archived_20260116.yaml +authors_archived_20260114.yaml +auto_generated_archived_20260115.yaml +auxiliary_places_archived_20260114.yaml +auxiliary_platforms_archived_20260114.yaml +available_caption_languages_archived_20260115.yaml +backup_status_archived_20260115.yaml +backup_status_archived_20260117.yaml +base_surname_archived_20260122.yaml +based_on_claim.yaml +bay_number_archived_20260114.yaml +beneficiary_group_archived_20260115.yaml +benefit_archived_20260117.yaml +benefits_provided_archived_20260122.yaml +bibframe_equivalent_archived_20260115.yaml +binding_archived_20260115.yaml +binding_description_archived_20260115.yaml +binding_provenance_archived_20260115.yaml +binding_type_archived_20260114.yaml +bio_custodian_subtype_archived_20260117.yaml +bio_type_classification_archived_20260117.yaml +birth_date_archived_20260114.yaml +birth_edtf_archived_20260122.yaml +birth_iso_date_archived_20260122.yaml +birth_place_archived_20260114.yaml +birth_source_text_archived_20260122.yaml +bold_id_archived_20260114.yaml +bold_id_archived_20260122.yaml +booking_required_archived_20260115.yaml +bookplate_archived_20260114.yaml +borrower_archived_20260117.yaml +borrower_contact_archived_20260117.yaml +bounding_box_archived_20260117.yaml +box_number_archived_20260114.yaml +branch_description_archived_20260115.yaml +branch_head_archived_20260114.yaml +branch_id_archived_20260114.yaml +branch_name_archived_20260115.yaml +branch_office_description_archived_20260115.yaml +branch_office_id_archived_20260114.yaml +branch_office_name_archived_20260114.yaml +branch_service_area_archived_20260114.yaml +branch_staff_count_archived_20260114.yaml +branch_type_archived_20260114.yaml +broader_concept_archived_20260114.yaml +broader_concept_label_archived_20260115.yaml +broader_type_archived_20260114.yaml +budget_archived_20260115.yaml +budget_currency_archived_20260114.yaml +budget_description_archived_20260115.yaml +budget_name_archived_20260115.yaml +budget_status_archived_20260114.yaml +budget_type_archived_20260114.yaml +building_floor_area_sqm_archived_20260115.yaml +business_criticality_archived_20260117.yaml +business_model_archived_20260117.yaml +cached_token_archived_20260117.yaml +cadastral_id_archived_20260114.yaml +calendar_system_archived_20260122.yaml +call_description_archived_20260117.yaml +call_id_archived_20260117.yaml +call_identifier_archived_20260117.yaml +call_number_archived_20260117.yaml +call_short_name_archived_20260117.yaml +call_status_archived_20260117.yaml +call_title_archived_20260117.yaml +call_url_archived_20260117.yaml +canonical_access_rule_archived_20260122.yaml +canonical_value_archived_20260122.yaml +capacity_archived_20260122.yaml +capacity_cubic_meters_archived_20260117.yaml +capacity_description_archived_20260117.yaml +capacity_item_archived_20260117.yaml +capacity_linear_meters_archived_20260117.yaml +capacity_type_archived_20260122.yaml +capacity_value_archived_20260122.yaml +capital_budget_archived_20260122.yaml +caption_available_archived_20260122.yaml +card_description_archived_20260122.yaml +card_description_en_archived_20260122.yaml +card_image_url_archived_20260123.yaml +card_title_archived_20260123.yaml +card_title_en_archived_20260123.yaml +card_url_archived_20260123.yaml +carrier_type_archived_20260123.yaml +carries_information_archived_20260123.yaml +catalog_description_archived_20260117.yaml +catalog_entries_count_archived_20260117.yaml +catalog_for_archived_20260117.yaml +catalog_id_archived_20260117.yaml +catalog_raisonne_number_archived_20260123.yaml +catalog_subtitle_archived_20260117.yaml +catalog_system_archived_20260124.yaml +catalog_title_archived_20260117.yaml +catalog_type_archived_20260117.yaml +catalog_url_archived_20260117.yaml +cataloging_standard_archived_20260117.yaml +catalogues_or_cataloged_archived_20260128.yaml +category_measurement_archived_20260124.yaml +category_note_archived_20260118.yaml +category_status_archived_20260124.yaml +catering_place_description_archived_20260115.yaml +catering_place_id_archived_20260115.yaml +catering_place_name_archived_20260115.yaml +catering_price_range_archived_20260124.yaml +catering_type_archived_20260124.yaml +certainty_level_archived_20260118.yaml +certainty_note_archived_20260118.yaml +cessation_observed_in_archived_20260128.yaml +change_in_net_asset_archived_20260124.yaml +change_rationale_archived_20260128.yaml +chapter_description_archived_20260128.yaml +chapter_end_seconds_archived_20260128.yaml +chapter_end_time_archived_20260128.yaml +chapter_id_archived_20260128.yaml +chapter_index_archived_20260128.yaml +chapter_source_archived_20260128.yaml +chapter_start_seconds_archived_20260128.yaml +chapter_start_time_archived_20260128.yaml +chapter_thumbnail_timestamp_archived_20260119.yaml +chapter_thumbnail_url_archived_20260118.yaml +chapter_title_archived_20260118.yaml +chapters_generated_at_archived_20260119.yaml +chapters_source_archived_20260119.yaml +character_count_archived_20260118.yaml +characteristics_archived_20260128.yaml +circumstances_of_death_archived_20260119.yaml +cites_appendix_archived_20260119.yaml +city_archived_20260118.yaml +claim_archived_20260119.yaml +claim_extraction_method_archived_20260119.yaml +claim_id_archived_20260118.yaml +claim_note_archived_20260118.yaml +claim_source_url_archived_20260118.yaml +claim_type_archived_20260119.yaml +claim_value_archived_20260118.yaml +claims_count_archived_20260119.yaml +class_definition_archived_20260128.yaml +classification_status_archived_20260119.yaml +classifies_place_archived_20260119.yaml +classroom_count_archived_20260119.yaml +clear_thinking_archived_20260119.yaml +climate_control_type_archived_20260119.yaml +closed_space_id_archived_20260118.yaml +cms_category_archived_20260119.yaml +cms_detected_archived_20260119.yaml +cms_id_archived_20260118.yaml +cms_product_name_archived_20260118.yaml +cms_product_version_archived_20260119.yaml +co_funding_required_archived_20260119.yaml +co_organized_by_archived_20260119.yaml +collected_in_archived_20260119.yaml +collecting_scope_archived_20260119.yaml +collection_access_archived_20260119.yaml +collection_broader_type_archived_20260119.yaml +collection_date_archived_20260119.yaml +collection_description_archived_20260118.yaml +collection_discovery_score_archived_20260119.yaml +collection_focus_archived_20260119.yaml +collection_id_archived_20260118.yaml +collection_locality_text_archived_20260119.yaml +collection_location_archived_20260122.yaml +collection_name_archived_20260118.yaml +collection_of_archived_20260115.yaml +collection_purpose_archived_20260119.yaml +collection_scope_archived_20260118.yaml +collection_size_archived_20260119.yaml +collection_type_archived_20260122.yaml +collection_type_description_archived_20260118.yaml +collection_type_id_archived_20260118.yaml +collection_type_name_archived_20260118.yaml +collection_type_ref_archived_20260118.yaml +collection_web_address_archived_20260122.yaml +collections_under_responsibility_archived_20260119.yaml +collector_archived_20260122.yaml +colonial_archived_20260122.yaml +comment_author_archived_20260118.yaml +comment_author_channel_id_archived_20260122.yaml +comment_count_archived_20260118.yaml +comment_id_archived_20260118.yaml +comment_like_count_archived_20260122.yaml +comment_published_at_archived_20260118.yaml +comment_reply_count_archived_20260122.yaml +comment_text_archived_20260118.yaml +comment_updated_at_archived_20260118.yaml +comments_fetched_archived_20260122.yaml +commercial_activity_archived_20260118.yaml +commercial_custodian_subtype_archived_20260122.yaml +commercial_operation_archived_20260122.yaml +commission_rate_archived_20260122.yaml +common_name_archived_20260122.yaml +common_name_language_archived_20260122.yaml +common_variant_archived_20260122.yaml +community_engagement_archived_20260119.yaml +community_significance_archived_20260122.yaml +completion_token_archived_20260119.yaml +complex_name_archived_20260118.yaml +compliance_status_archived_20260122.yaml +component_type_archived_20260122.yaml +condition_after_archived_20260122.yaml +condition_archived_20260122.yaml +condition_before_archived_20260122.yaml +condition_description_archived_20260118.yaml +condition_id_archived_20260118.yaml +condition_on_return_archived_20260122.yaml +condition_policy_archived_20260122.yaml +condition_status_archived_20260118.yaml +confidence_archived_20260128.yaml +confidence_method_archived_20260128.yaml +confidence_score_archived_20260128.yaml +confidence_threshold_archived_20260122.yaml +confidence_value_archived_20260128.yaml +conflict_status_archived_20260122.yaml +connection_archived_20260122.yaml +connection_degree_archived_20260122.yaml +connection_headline_archived_20260118.yaml +contact_email_archived_20260126.yaml +content_language_archived_20260126.yaml +content_summary_archived_20260126.yaml +count_archived_20260128.yaml +cut_count_archived_20260122.yaml +data_format_archived_20260122.yaml +data_license_policy_archived_20260122.yaml +data_sensitivity_archived_20260123.yaml +data_source_whatsapp_archived_20260123.yaml +data_tier_archived_20260123.yaml +dataset_description_archived_20260122.yaml +dataset_identifier_archived_20260122.yaml +dataset_title_archived_20260122.yaml +date_created_archived_20260123.yaml +date_identified_archived_20260123.yaml +date_of_death_archived_20260123.yaml +date_of_publication_archived_20260124.yaml +date_precision_archived_20260123.yaml +date_retrieved_archived_20260123.yaml +de_archived_20260123.yaml +dealer_name_archived_20260124.yaml +death_place_archived_20260124.yaml +deceased_archived_20260123.yaml +decommission_date_archived_20260123.yaml +deductibility_conditions_archived_20260123.yaml +deductibility_status_archived_20260123.yaml +deductible_percentage_archived_20260123.yaml +deduction_percentage_archived_20260123.yaml +default_access_policy_archived_20260123.yaml +default_audio_language_archived_20260123.yaml +default_language_archived_20260123.yaml +default_position_archived_20260124.yaml +defined_by_standard_archived_20260124.yaml +definition_archived_20260124.yaml +degree_name_archived_20260124.yaml +deliverable_archived_20260124.yaml +departement_code_archived_20260124.yaml +departement_name_archived_20260124.yaml +department_code_archived_20260125.yaml +department_description_archived_20260125.yaml +department_head_archived_20260125.yaml +department_id_archived_20260125.yaml +department_name_archived_20260125.yaml +deployment_date_archived_20260125.yaml +derived_from_entity_archived_20260125.yaml +derived_from_observation_archived_20260125.yaml +description_archived_20260125.yaml +description_section_archived_20260119.yaml +description_text_archived_20260125.yaml +description.yaml +detection_count_archived_20260125.yaml +detection_level_archived_20260125.yaml +detection_threshold_archived_20260125.yaml +device_count_archived_20260125.yaml +device_id_archived_20260125.yaml +device_manufacturer_archived_20260125.yaml +device_model_archived_20260125.yaml +device_name_archived_20260125.yaml +device_type_archived_20260125.yaml +diarization_confidence_archived_20260125.yaml +diarization_enabled_archived_20260125.yaml +diarization_end_seconds_archived_20260125.yaml +diarization_speaker_id_archived_20260125.yaml +diarization_speaker_label_archived_20260125.yaml +diarization_start_seconds_archived_20260125.yaml +digital_confidence_archived_20260125.yaml +digital_indicator_archived_20260125.yaml +digital_platform_archived_20260125.yaml +digital_platform_score_archived_20260125.yaml +digital_presence_type_archived_20260125.yaml +digital_professional_archived_20260125.yaml +digital_surrogate_archived_20260126.yaml +digital_surrogate_url_archived_20260126.yaml +digitization_budget_archived_20260125.yaml +digitization_status_archived_20260126.yaml +dimension_archived_20260126.yaml +diocese_name_archived_20260126.yaml +dislike_count_archived_20260126.yaml +display_location_archived_20260126.yaml +disposition_service_archived_20260126.yaml +dissolution_date_archived_20260126.yaml +dissolve_count_archived_20260125.yaml +dissolved_date_archived_20260126.yaml +document_description_archived_20260126.yaml +document_title_archived_20260126.yaml +document_type_archived_20260126.yaml +documentation_archived_20260126.yaml +documentation_produced_archived_20260126.yaml +documentation_source_archived_20260126.yaml +documentation_url_archived_20260126.yaml +documented_by_archived_20260126.yaml +documents_budget_archived_20260126.yaml +doi_archived_20260126.yaml +domain_context_archived_20260126.yaml +download_endpoint_archived_20260126.yaml +drawer_number_archived_20260126.yaml +dual_class_link_archived_20260126.yaml +dual_class_role_archived_20260126.yaml +duration_archived_20260125.yaml +ead_id_archived_20260125.yaml +ebook_url_archived_20260125.yaml +ecclesiastical_province_archived_20260125.yaml +edition_number_archived_20260125.yaml +edition_statement_archived_20260125.yaml +editor_archived_20260125.yaml +education_archived_20260125.yaml +education_center_description_archived_20260115.yaml +education_center_id_archived_20260115.yaml +education_center_name_archived_20260115.yaml +education_contact_email_archived_20260125.yaml +education_description_archived_20260125.yaml +education_end_year_archived_20260125.yaml +education_level_archived_20260125.yaml +education_provider_subtype_archived_20260125.yaml +education_start_year_archived_20260125.yaml +education_type_classification_archived_20260125.yaml +education_years_raw_archived_20260125.yaml +effective_date_archived_20260125.yaml +effective_from_archived_20260125.yaml +effective_until_archived_20260125.yaml +eligible_applicant_archived_20260126.yaml +eligible_country_archived_20260126.yaml +embargo_end_date_archived_20260126.yaml +embargo_reason_archived_20260126.yaml +emic_name_archived_20260126.yaml +employer_linkedin_url_archived_20260126.yaml +employer_name_archived_20260126.yaml +employment_dates_raw_archived_20260126.yaml +employment_end_date_archived_20260126.yaml +employment_start_date_archived_20260126.yaml +en.yaml +encompassing_body_archived_20250115.yaml +end_date_archived_20260126.yaml +end_seconds_archived_20260126.yaml +end_seconds.yaml +end_time_archived_20260126.yaml +end_time.yaml +end.yaml +ended_at_time_archived_20260126.yaml +endorsement_source.yaml +endowment_draw_archived_20260126.yaml +ends_or_ended_at_location.yaml +engagement_rate_archived_20260126.yaml +enriched_date_archived_20260126.yaml +enrichment_metadata_whatsapp_archived_20260126.yaml +enrichment_method_whatsapp_archived_20260126.yaml +entity_types_covered_archived_20260126.yaml +entry_count_archived_20260126.yaml +environmental_control.yaml +environmental_requirement_archived_20260126.yaml +environmental_zone_type_code_archived_20260126.yaml +environmental_zone_type_description_archived_20260126.yaml +environmental_zone_type_id_archived_20260126.yaml +environmental_zone_type_label_archived_20260126.yaml +equipment_type_archived_20260126.yaml +established_date_archived_20260126.yaml +estimated_extent_archived_20260126.yaml +estimated_volume_archived_20260126.yaml +etag_archived_20260126.yaml +event_archived_20260126.yaml +event_cancelled_reason_archived_20260126.yaml +event_date_archived_20260126.yaml +event_date_end_archived_20260126.yaml +event_date_start_archived_20260126.yaml +event_date_text_archived_20260126.yaml +event_description_archived_20260126.yaml +event_documentation_archived_20260126.yaml +event_en_archived_20260126.yaml +event_id_archived_20260126.yaml +event_label_archived_20260126.yaml +event_location_archived_20260126.yaml +event_name_archived_20260126.yaml +event_note_archived_20260126.yaml +event_status_archived_20260126.yaml +event_timespan_archived_20260126.yaml +event_type_archived_20260126.yaml +event_url_archived_20260126.yaml +event_venue_archived_20260126.yaml +evidence_documentation_archived_20260126.yaml +evidence_gap_archived_20260126.yaml +example_instance_archived_20260126.yaml +example_platform_archived_20260126.yaml +example_portal_archived_20260126.yaml +excluded_materials_archived_20260126.yaml +execution_date_archived_20260126.yaml +exhibited_in_archived_20260126.yaml +exhibition_capacity_archived_20260126.yaml +exhibition_catalog_url_archived_20260126.yaml +exhibition_description_archived_20260126.yaml +exhibition_documentation_archived_20260126.yaml +exhibition_floor_area_sqm_archived_20260126.yaml +exhibition_focus_archived_20260126.yaml +exhibition_id_archived_20260126.yaml +exhibition_location_archived_20260126.yaml +exhibition_model_archived_20260126.yaml +exhibition_name_archived_20260126.yaml +exhibition_program_archived_20260126.yaml +exhibition_ref_archived_20260126.yaml +exhibition_schedule_archived_20260126.yaml +exhibition_space_description_archived_20260115.yaml +exhibition_space_id_archived_20260115.yaml +exhibition_space_name_archived_20260115.yaml +exhibition_status_archived_20260126.yaml +exhibition_subtitle_archived_20260126.yaml +exhibition_timespan_archived_20260126.yaml +exhibition_type_archived_20260126.yaml +exhibition_url_archived_20260126.yaml +exhibition_venue_archived_20260126.yaml +expected_transfer_date_archived_20260126.yaml +expense_type_archived_20260126.yaml +experience_archived_20260126.yaml +expertise_area_archived_20260126.yaml +expiration_date_archived_20260126.yaml +exposed_via_portal_archived_20260126.yaml +extension_count_archived_20260126.yaml +extent_item.yaml +extent_text_archived_20260126.yaml +extent.yaml +external_funding_archived_20260126.yaml +external_identifier_archived_20260126.yaml +external_link_archived_20260126.yaml +extraction_agent_archived_20260126.yaml +extraction_confidence_archived_20260126.yaml +extraction_date_archived_20260126.yaml +extraction_metadata_archived_20260126.yaml +extraction_method_archived_20260126.yaml +extraction_note_archived_20260126.yaml +extraction_timestamp_archived_20260126.yaml +face_bbox_archived_20260126.yaml +face_confidence_archived_20260126.yaml +face_segment_archived_20260126.yaml +facility_design_archived_20260126.yaml +fade_count_archived_20260126.yaml +favorite_count_archived_20260126.yaml +feature_class_archived_20260126.yaml +feature_code_archived_20260126.yaml +feature_description_archived_20260126.yaml +feature_language_archived_20260126.yaml +feature_name_archived_20260126.yaml +feature_note_archived_20260126.yaml +feature_type_archived_20260126.yaml +feature_type_classification_archived_20260126.yaml +featured_work_archived_20260126.yaml +fee_amount_archived_20260126.yaml +fee_required_archived_20260126.yaml +feeds_portal_archived_20260126.yaml +fellows_count_archived_20260126.yaml +field_number_archived_20260126.yaml +field_of_study_archived_20260126.yaml +file_number_archived_20260126.yaml +filing_id_archived_20260126.yaml +filing_type_archived_20260126.yaml +financial_archival_stage_archived_20260126.yaml +financial_document_format_archived_20260126.yaml +financial_document_url_archived_20260126.yaml +finding_aid_access_restriction_archived_20260126.yaml +finding_aid_description_archived_20260126.yaml +finding_aid_note_archived_20260126.yaml +finding_aid_scope_note_archived_20260126.yaml +finding_aid_temporal_coverage_archived_20260126.yaml +finding_aid_type_definition_archived_20260126.yaml +finding_aid_type_id_archived_20260126.yaml +finding_aid_type_name_archived_20260126.yaml +finding_aids_format_archived_20260126.yaml +finish_reason_archived_20260126.yaml +fire_suppression_type_archived_20260126.yaml +fiscal_year_end_archived_20260126.yaml +fiscal_year_start_archived_20260126.yaml +fixity_check_date_archived_20260126.yaml +fixity_info_archived_20260126.yaml +flood_protection_required_archived_20260126.yaml +folio_count_archived_20260126.yaml +follow_up_date_archived_20260126.yaml +follower_count_archived_20260126.yaml +following_count_archived_20260126.yaml +footnote_archived_20260126.yaml +format_archived_20260122.yaml +founded_year_archived_20260122.yaml +founding_date_archived_20260122.yaml +founding_date_diocese_archived_20260122.yaml +fr_archived_20260122.yaml +frame_rate_archived_20260122.yaml +frame_sample_rate_archived_20260122.yaml +from_location_archived_20260126.yaml +from_owner_archived_20260116.yaml +from_owner_text_archived_20260115.yaml +full_extracted_text_archived_20260126.yaml +full_name.yaml +full_text_archived_20260126.yaml +function_category_archived_20260126.yaml +function_name_archived_20260126.yaml +functional_integration_archived_20260126.yaml +funded_project_archived_20260126.yaml +funding_amount_archived_20260126.yaml +funding_call_archived_20260126.yaml +funding_focus_archived_20260126.yaml +funding_program_archived_20260126.yaml +funding_rate_archived_20260126.yaml +funding_scheme_archived_20260126.yaml +funding_source_archived_20260126.yaml +gallery_subtype_archived_20260126.yaml +gallery_type_classification_archived_20260126.yaml +gbif_id_archived_20260126.yaml +gdpr_relevant_archived_20260126.yaml +genbank_accession_archived_20260126.yaml +gender_identity_archived_20260126.yaml +general_heritage_score_archived_20260126.yaml +generated_by_archived_20260126.yaml +generation_method_archived_20260126.yaml +generation_timestamp_archived_20260126.yaml +geographic_coverage_archived_20260126.yaml +geographic_restriction_archived_20260126.yaml +geographic_scope_archived_20260126.yaml +geometry_type_archived_20260126.yaml +geometry_wkt_archived_20260126.yaml +geonames_id_archived_20260126.yaml +geospatial_id_archived_20260126.yaml +geospatial_source_archived_20260126.yaml +ghcid_archived_20260126.yaml +gift_shop_archived_20260126.yaml +giftshop_price_range_archived_20260126.yaml +given_name_archived_20260126.yaml +glamorcubesfixphdnt_code_archived_20260126.yaml +gleif_jurisdiction_code_archived_20260126.yaml +gleif_ra_code_archived_20260126.yaml +governance_authority.yaml +governance_clause.yaml +governance_representative.yaml +governance_role.yaml +governance_structure.yaml +governing_body.yaml +growth_rate_archived_20260126.yaml +habitat.yaml +halc_adm1_code.yaml +halc_adm2_name.yaml +handwriting_confidence.yaml +has_access_application_url_archived_20260126.yaml +has_access_interface_url_archived_20260126.yaml +has_accession_date_archived_20260126.yaml +has_accession_number_archived_20260126.yaml +has_accumulation_end_date.yaml +has_accumulation_start_date.yaml +has_accuracy_in_meters.yaml +has_acquisition_date_archived_20260126.yaml +has_acquisition_history.yaml +has_acquisition_method_archived_20260126.yaml +has_acquisition_source_archived_20260126.yaml +has_activity_description_archived_20260126.yaml +has_activity_identifier_archived_20260126.yaml +has_activity_name_archived_20260126.yaml +has_actual_end_date_archived_20260114.yaml +has_actual_return_date_archived_20260126.yaml +has_actual_start_date_archived_20260114.yaml +has_address_archived_20260126.yaml +has_admin_office_description_archived_20260127.yaml +has_admin_office_identifier_archived_20260127.yaml +has_admin_office_name_archived_20260127.yaml +has_administration_description.yaml +has_administration_name.yaml +has_administration.yaml +has_administrative_level_archived_20260127.yaml +has_adoption_context_archived_20260127.yaml +has_age_archived_20260127.yaml +has_agenda_description_archived_20260127.yaml +has_agenda_document_url_archived_20260127.yaml +has_agenda_short_name_archived_20260127.yaml +has_agenda_title_archived_20260127.yaml +has_agenda_url_archived_20260127.yaml +has_agent_name_archived_20260127.yaml +has_agent_type_archived_20260127.yaml +has_agreement_signed_date_archived_20260127.yaml +has_air_changes_per_hour_archived_20260127.yaml +has_allocation_date_archived_20260127.yaml +has_alpha_2_code_archived_20260127.yaml +has_alpha_3_code_archived_20260127.yaml +has_altitude.yaml +has_amendment_history.yaml +has_annex_description.yaml +has_annex_name.yaml +has_annex_reason.yaml +has_annotation_by_archived_20260127.yaml +has_annotation_motivation_archived_20260127.yaml +has_annotation_segment_archived_20260127.yaml +has_annotation_type_archived_20260127.yaml +has_api_available_flag_archived_20260115.yaml +has_api_documentation_url_archived_20260115.yaml +has_api_version.yaml +has_appellation_language.yaml +has_appellation_type.yaml +has_appellation_value.yaml +has_applicable_country.yaml +has_application_deadline.yaml +has_application_opening_date.yaml +has_appointment_required_flag_archived_20260115.yaml +has_appraisal_note.yaml +has_approval_date.yaml +has_archdiocese_name.yaml +has_architectural_style.yaml +has_archival_reference.yaml +has_archive_description.yaml +has_archive_memento_uri.yaml +has_archive_name.yaml +has_archive_path.yaml +has_archive_search_score.yaml +has_area_in_hectare_archived_20260115.yaml +has_arrangement_level.yaml +has_arrangement_note.yaml +has_arrangement.yaml +has_articles_archival_stage.yaml +has_articles_document_format.yaml +has_articles_document_url.yaml +has_articles_of_association.yaml +has_audience_type_archived_20260117.yaml +has_author_archived_20260114.yaml +has_collection_archived_20250115.yaml +has_hands_on_facility.yaml +has_imaging_equipment.yaml +has_iso_3166_1_alpha_2_code_archived_20260116.yaml +has_iso_3166_1_alpha_3_code_archived_20260116.yaml +has_link.yaml +has_loading_dock.yaml +has_local_collection.yaml +has_member_archived_20260115.yaml +has_michelin_star.yaml +has_narrower_instance.yaml +has_observation.yaml +has_operational_archive.yaml +has_operational_unit.yaml +has_or_had_access_management.yaml +has_or_had_access_policy_reference.yaml +has_or_had_access_policy.yaml +has_or_had_access_restriction.yaml +has_or_had_access_right.yaml +has_or_had_access_trigger_event.yaml +has_or_had_account_identifier.yaml +has_or_had_account_name.yaml +has_or_had_account_status.yaml +has_or_had_accreditation_body.yaml +has_or_had_accreditation.yaml +has_or_had_acquisition_budget.yaml +has_or_had_activity_type.yaml +has_or_had_administrative_function_archived_20260114.yaml +has_or_had_affected_territory.yaml +has_or_had_affected_unit.yaml +has_or_had_affiliated_university.yaml +has_or_had_affiliation.yaml +has_or_had_alternative_name_archived_20260127.yaml +has_or_had_alternative_observed_name_archived_20260127.yaml +has_or_had_animal_species_count_archived_20260127.yaml +has_or_had_annual_participant_count_archived_20260127.yaml +has_or_had_annual_revenue_archived_20260127.yaml +has_or_had_api_endpoint_archived_20260127.yaml +has_or_had_appellation.yaml +has_or_had_appraisal_policy_archived_20260127.yaml +has_or_had_architect_archived_20260127.yaml +has_or_had_archival_status_archived_20260127.yaml +has_or_had_archive_branch_archived_20260127.yaml +has_or_had_archive_scope_archived_20260127.yaml +has_or_had_area_served_archived_20260127.yaml +has_or_had_arrangement_system_archived_20260127.yaml +has_or_had_artist_representation_archived_20260127.yaml +has_or_had_associated_auxiliary_platform.yaml +has_or_had_associated_custodian.yaml +has_or_had_associated_digital_platform.yaml +has_or_had_associated_encompassing_body_archived_20260114.yaml +has_or_had_audience_size_archived_20260117.yaml +has_or_had_audit_status_archived_20260128.yaml +has_or_had_based_on_observation.yaml +has_or_had_business_criticality.yaml +has_or_had_category_assessment_archived_20260128.yaml +has_or_had_collection_narrower_type.yaml +has_or_had_comment_reply.yaml +has_or_had_condition_note.yaml +has_or_had_confidence_measure_archived_20260128.yaml +has_or_had_conservation_record.yaml +has_or_had_conversion_rate.yaml +has_or_had_curation_activity.yaml +has_or_had_custodian_name.yaml +has_or_had_custodian_observation.yaml +has_or_had_data_quality_flag.yaml +has_or_had_data_service_endpoint.yaml +has_or_had_date_of_birth.yaml +has_or_had_depositing_organization.yaml +has_or_had_detected_face.yaml +has_or_had_detected_landmark.yaml +has_or_had_detected_logo.yaml +has_or_had_detected_object.yaml +has_or_had_encompass_archived_20260115.yaml +has_or_had_participated_in_event.yaml +has_or_had_participated_in_project.yaml +has_or_had_place_of_birth.yaml +has_or_had_portal_data_source.yaml +has_or_had_post_type.yaml +has_or_had_powered_by_cm.yaml +has_or_had_previous_owner.yaml +has_or_had_primary_presence_assertion.yaml +has_or_had_provenance_event.yaml +has_or_had_quantity_archived_20260126.yaml +has_or_had_registered_dataset_archived_20260128.yaml +has_or_had_related_activity.yaml +has_or_had_related_event.yaml +has_or_had_related_exhibition.yaml +has_or_had_related_heritage_form_archived_20260128.yaml +has_or_had_requirement_status.yaml +has_or_had_resulting_unit.yaml +has_or_had_secondary_label.yaml +has_or_had_security_level.yaml +has_or_had_storage_condition.yaml +has_or_had_storage_unit.yaml +has_or_had_stores_collection.yaml +has_or_had_sub_collection.yaml +has_or_had_sub_department.yaml +has_or_had_suborganization.yaml +has_or_had_text_segment.yaml +has_or_had_tracked_in_cm.yaml +has_or_had_transmission_method.yaml +has_or_had_used_source.yaml +has_or_had_verification_status.yaml +has_or_had_web_claim.yaml +has_or_had_web_page.yaml +has_or_had_x_coordinate_archived_20260128.yaml +has_or_had_y_coordinate_archived_20260128.yaml +has_person_name.yaml +has_person_observation.yaml +has_suborganization_archived_20260115.yaml +has_timespan_archived_20260126.yaml +height_archived_20260128.yaml +heritage_education_archived_20260128.yaml +heritage_employer_archived_20260128.yaml +heritage_form_description_archived_20260115.yaml +heritage_form_id_archived_20260115.yaml +heritage_form_name_archived_20260115.yaml +heritage_holding.yaml +heritage_mandate_archived_20260128.yaml +heritage_practice_archived_20260128.yaml +heritage_relevance_archived_20260128.yaml +heritage_relevance_score_archived_20260128.yaml +heritage_relevant_count_archived_20260128.yaml +heritage_relevant_percentage_archived_20260128.yaml +heritage_sector_usage_archived_20260128.yaml +heritage_society_subtype_archived_20260128.yaml +heritage_status_archived_20260128.yaml +heritage_type_classification_archived_20260128.yaml +heritage_type_code_archived_20260128.yaml +heritage_type.yaml +higher_classification.yaml +historic_building_description.yaml +historic_building_id.yaml +historic_building_name_archived_20260128.yaml +historical_region_archived_20260128.yaml +historical_significance_archived_20260128.yaml +holy_site_subtype_archived_20260128.yaml +homepage_web_address_archived_20260128.yaml +hosts_branch_archived_20260128.yaml +house_number_archived_20260128.yaml +html_file_archived_20260128.yaml +html_snapshot_path_archived_20260128.yaml +http_status_code_archived_20260128.yaml +humidity_max_archived_20260128.yaml +humidity_min_archived_20260128.yaml +humidity_target_archived_20260128.yaml +humidity_tolerance_archived_20260128.yaml +is_auto_generated_archived_20260115.yaml +is_current_position_archived_20260128.yaml +is_member_of_archived_20260115.yaml +is_or_was_real_archived_20260114.yaml +job_description_archived_20260128.yaml +job_title_archived_20260128.yaml +lab_description_archived_20260115.yaml +lab_id_archived_20260115.yaml +lab_name_archived_20260115.yaml +logo_bbox_archived_20260126.yaml +object_bbox_archived_20260126.yaml +parent_chapter_id_archived_20260128.yaml +parent_collection_archived_20250115.yaml +parent_custodian_archived_20250115.yaml +person_claim_note_archived_20260118.yaml +person_xpath_archived_20260115.yaml +person_xpath_match_score_archived_20260115.yaml +policy_approved_by_archived_20260115.yaml +policy_effective_from_archived_20260126.yaml +policy_effective_to_archived_20260126.yaml +profile_url.yaml +program_activity.yaml +programme_period.yaml +programme_year.yaml +programming_language.yaml +programs_offered.yaml +project_description_archived_20260116.yaml +project_id_archived_20260116.yaml +project_identifier_archived_20260116.yaml +project_name_archived_20260116.yaml +project_short_name_archived_20260116.yaml +project_status_archived_20260116.yaml +project_url_archived_20260116.yaml +prompt_token.yaml +pronoun.yaml +protocol_name.yaml +protocol_version.yaml +protocol.yaml +provenance_note_archived_20260118.yaml +provenance_statement_archived_20260118.yaml +provenance_text_archived_20260118.yaml +provenance.yaml +provider.yaml +provides_access_to.yaml +public_access.yaml +public_education.yaml +publication_activity_archived_20260118.yaml +publication_date_archived_20260118.yaml +publication_output.yaml +publication_place.yaml +publication_series_name.yaml +published_at_archived_20260117.yaml +published_by_archived_20260117.yaml +publisher_archived_20260117.yaml +publishes_to.yaml +purpose_clause.yaml +purpose.yaml +quantity_date.yaml +quantity_type.yaml +quantity_unit.yaml +quantity_value.yaml +reading_room_description_archived_20260115.yaml +reading_room_id_archived_20260115.yaml +reading_room_name_archived_20260115.yaml +region_bbox_archived_20260126.yaml +research_center_description_archived_20260115.yaml +research_center_id_archived_20260115.yaml +research_center_name_archived_20260115.yaml +shop_description_archived_20260115.yaml +shop_id_archived_20260115.yaml +shop_name_archived_20260115.yaml +start_date_archived_20260126.yaml +status_archived_20260126.yaml +status_effective_date_archived_20260125.yaml +stewardship_model_archived_20260117.yaml +stewardship_responsibility_archived_20260117.yaml +storage_description_archived_20260115.yaml +storage_id_archived_20260115.yaml +storage_location_archived_20260115.yaml +storage_name_archived_20260115.yaml +storage_security_level_archived_20250115.yaml +storage_type_broader_archived_20260115.yaml +storage_type_code_archived_20260115.yaml +storage_type_description_archived_20260115.yaml +storage_type_id_archived_20260115.yaml +storage_type_label_archived_20260115.yaml +storage_type_narrower_archived_20260115.yaml +storage_type_related_archived_20260115.yaml +stores_object_archived_20260115.yaml +street_address_archived_20260117.yaml +street_name_archived_20260117.yaml +student_service_archived_20260115.yaml +sub_guide_description_archived_20260115.yaml +sub_guide_temporal_coverage_archived_20260117.yaml +subdivision_name_archived_20260117.yaml +subject_area_archived_20260117.yaml +subject_depicted_archived_20260117.yaml +subregion_archived_20260117.yaml +subtitle_format_archived_20260115.yaml +succeeded_by_archived_20260117.yaml +successor_collection_archived_20260115.yaml +successor_portal_archived_20260117.yaml +supersede_archived_20260117.yaml +superseded_by_archived_20260117.yaml +supplier_relationship_archived_20260116.yaml +supported_format_archived_20260116.yaml +supported_metadata_standard_archived_20260116.yaml +supranational_code_archived_20260115.yaml +surname_prefix_archived_20260114.yaml +table_of_content_archived_20260116.yaml +tag_archived_20260116.yaml +target_audience_archived_20260115.yaml +target_material_archived_20260116.yaml +target_name_archived_20260114.yaml +target_profile_archived_20260116.yaml +target_relative_humidity_archived_20260115.yaml +target_temperature_celsius_archived_20260115.yaml +taste_scent_subtype_archived_20260116.yaml +tax_deductible_archived_20260116.yaml +tax_scheme_archived_20260116.yaml +taxon_name_archived_20260114.yaml +taxon_remark_archived_20260115.yaml +taxonomic_authority_archived_20260116.yaml +taxonomic_rank_archived_20260117.yaml +teaching_collection_archived_20260115.yaml +technical_specification_archived_20260115.yaml +techniques_used_archived_20260116.yaml +technology_stack_archived_20260116.yaml +temp_location_description_archived_20260115.yaml +temp_location_id_archived_20260115.yaml +temp_location_name_archived_20260115.yaml +temp_location_reason_archived_20260115.yaml +temperature_max_archived_20260115.yaml +temperature_min_archived_20260115.yaml +temperature_target_archived_20260115.yaml +temperature_target.yaml +temperature_tolerance_archived_20260116.yaml +template_specificity_archived_20260117.yaml +temporal_coverage_archived_20260116.yaml +terminal_count_archived_20260114.yaml +text_direction_archived_20260116.yaml +text_fragment_archived_20260115.yaml +text_languages_detected_archived_20260116.yaml +text_region_count_archived_20260114.yaml +text_types_detected_archived_20260116.yaml +thematic_area_archived_20260115.yaml +thematic_scope_archived_20260115.yaml +thinking_mode_archived_20260116.yaml +threat_archived_20260115.yaml +thumbnail_url_archived_20260116.yaml +time_of_destruction_archived_20260115.yaml +timestamp_precision_archived_20260115.yaml +timestamp_value_archived_20260115.yaml +title_archived_20260114.yaml +title_en_archived_20260114.yaml +title_nl_archived_20260114.yaml +title_proper_archived_20260114.yaml +to_location_archived_20260115.yaml +to_owner_archived_20260116.yaml +to_owner_text_archived_20260115.yaml +took_place_at_archived_20260115.yaml +topic_archived_20260115.yaml +total_annual_budget_archived_20260115.yaml +total_asset_archived_20260115.yaml +total_budget_amount_archived_20260115.yaml +total_budget_archived_20260115.yaml +total_chapter_archived_20260114.yaml +total_characters_extracted_archived_20260114.yaml +total_connections_extracted_archived_20260114.yaml +total_expense_archived_20260115.yaml +total_frames_analyzed_archived_20260115.yaml +total_investment_archived_20260115.yaml +total_liability_archived_20260115.yaml +total_net_asset_archived_20260115.yaml +total_revenue_archived_20260114.yaml +total_token_archived_20260115.yaml +track_id_archived_20260114.yaml +track_id.yaml +track_name_archived_20260114.yaml +tracking_ids_assigned_archived_20260114.yaml +traditional_product_archived_20260115.yaml +transcript_format_archived_20260114.yaml +transfer_location_archived_20260115.yaml +transfer_location_text_archived_20260115.yaml +transfer_policy_archived_20260115.yaml +transfer_to_collection_date_archived_20260115.yaml +transition_types_detected_archived_20260115.yaml +traveling_venue_archived_20260114.yaml +treatment_description_archived_20260115.yaml +type_archived_20260115.yaml +type_description_archived_20260116.yaml +type_hypothesis_archived_20260115.yaml +type_id_archived_20260116.yaml +type_label_archived_20260114.yaml +type_scope_archived_20260115.yaml +type_status_archived_20260114.yaml +typical_approval_time_archived_20260115.yaml +typical_condition_archived_20260115.yaml +typical_domain_archived_20260115.yaml +typical_grant_range_archived_20260114.yaml +typical_http_methods_archived_20260115.yaml +typical_http_methods_archived_20260116.yaml +typical_metadata_standard_archived_20260115.yaml +typical_metadata_standard_archived_20260116.yaml +typical_response_formats_archived_20260115.yaml +typical_response_formats_archived_20260116.yaml +typical_responsibility_archived_20260114.yaml +typical_scope_archived_20260115.yaml +typical_scope_archived_20260116.yaml +typical_technical_feature_archived_20260115.yaml +typical_technical_feature_archived_20260116.yaml +unesco_domain_archived_20260114.yaml +unesco_inscription_year_archived_20260114.yaml +unesco_list_status_archived_20260114.yaml +uniform_title_archived_20260114.yaml +unique_face_count_archived_20260114.yaml +unique_object_count_archived_20260114.yaml +unit_affiliation_archived_20260115.yaml +unit_code_archived_20260116.yaml +unit_description_archived_20260115.yaml +unit_id_archived_20260114.yaml +unit_identifier_archived_20260114.yaml +unit_name_archived_20260114.yaml +unit_symbol_archived_20260116.yaml +unit_type_archived_20260114.yaml +unit_type_archived_20260117.yaml +update_frequency_archived_20260114.yaml +updated_at_archived_20260115.yaml +url_archived_20250115.yaml +url_type_archived_20260116.yaml +url_value_archived_20260116.yaml +used_archived_20260115.yaml +used_by_archived_20260115.yaml +used_by_custodian_archived_20260114.yaml +user_community_archived_20260115.yaml +uv_filtered_required_archived_20260114.yaml +valid_from_archived_20260114.yaml +valid_from_geo_archived_20260114.yaml +valid_to_archived_20260114.yaml +valid_to_geo_archived_20260114.yaml +validation_status_archived_20260114.yaml +validity_period_archived_20260116.yaml +variant_of_name_archived_20260114.yaml +vendor_name_archived_20260114.yaml +vendor_url_archived_20260114.yaml +verification_date_archived_20260114.yaml +verified_archived_20260115.yaml +verified_by_archived_20260114.yaml +version_number_archived_20260115.yaml +viability_status_archived_20260114.yaml +video_category_id_archived_20260114.yaml +video_comment_archived_20250115.yaml +video_id_archived_20260114.yaml +view_count_archived_20260115.yaml +visiting_hour_archived_20260115.yaml +visitor_conversion_rate_archived_20260114.yaml +visitor_count_archived_20260115.yaml +visitor_facility_archived_20260115.yaml +visitor_service_archived_20260115.yaml +volunteer_program_archived_20260115.yaml +warehouse_description_archived_20260114.yaml +warehouse_floor_area_sqm_archived_20260114.yaml +warehouse_id_archived_20260114.yaml +warehouse_managed_by_archived_20260114.yaml +warehouse_name_archived_20260114.yaml +warehouse_security_level_archived_20260114.yaml +was_approved_by_archived_20260115.yaml +was_archived_at_archived_20260125.yaml +was_asserted_by_archived_20260115.yaml +was_derived_from_archived_20260115.yaml +was_derived_from.yaml +was_generated_by_archived_20260115.yaml +was_generated_by.yaml +was_last_updated_at.yaml +was_revision_of_archived_20260115.yaml +web_observation_archived_20260115.yaml +website_archived_20250115.yaml +whatsapp_business_likelihood_archived_20260115.yaml +whatsapp_enrichment_archived_20260115.yaml +width_archived_20260128.yaml +wikidata_alignment_archived_20260115.yaml +wikidata_archived_20260115.yaml +wikidata_class_archived_20260114.yaml +wikidata_description_archived_20260116.yaml +wikidata_entity_archived_20260115.yaml +wikidata_entity_archived_20260128.yaml +wikidata_entity_id_archived_20260114.yaml +wikidata_entity_label_archived_20260114.yaml +wikidata_equivalent_archived_20260115.yaml +wikidata_equivalent_archived_20260128.yaml +wikidata_id_archived_20260115.yaml +wikidata_id_archived_20260128.yaml +wikidata_label_archived_20260116.yaml +wikidata_mapping_archived_20260115.yaml +wikidata_mapping_rationale_archived_20260114.yaml +wikidata_qid_archived_20260116.yaml +within_auxiliary_place_archived_20260114.yaml +within_place_archived_20260114.yaml +word_count_archived_20260114.yaml +work_location_archived_20260114.yaml +workshop_space_archived_20260114.yaml +worldcat_id_archived_20260114.yaml +writing_system_archived_20260115.yaml +x_coordinate_archived_20260128.yaml +xpath_archived_20260115.yaml +xpath_match_score_archived_20260115.yaml +xpath_matched_text_archived_20260115.yaml +y_coordinate_archived_20260128.yaml +years_restricted_archived_20260114.yaml +zone_description_archived_20260114.yaml +zone_id_archived_20260114.yaml +zone_name_archived_20260114.yaml diff --git a/frontend/public/schemas/20251121/linkml/manifest.json b/frontend/public/schemas/20251121/linkml/manifest.json index ac3a41c570..426dd9b3f8 100644 --- a/frontend/public/schemas/20251121/linkml/manifest.json +++ b/frontend/public/schemas/20251121/linkml/manifest.json @@ -1,5 +1,5 @@ { - "generated": "2026-01-29T16:10:26.031Z", + "generated": "2026-01-29T16:40:47.585Z", "schemaRoot": "/schemas/20251121/linkml", "totalFiles": 3003, "categoryCounts": { diff --git a/scripts/trace_dead_links.py b/scripts/trace_dead_links.py new file mode 100644 index 0000000000..e38324c89f --- /dev/null +++ b/scripts/trace_dead_links.py @@ -0,0 +1,82 @@ +import os +import re +import glob + +ARCHIVE_DIR = "/Users/kempersc/apps/glam/schemas/20251121/linkml/modules/slots/archive/" +CLASSES_DIR = "/Users/kempersc/apps/glam/schemas/20251121/linkml/modules/classes/" + +def get_archived_slot_names(): + slots = set() + files = os.listdir(ARCHIVE_DIR) + for f in files: + if not f.endswith(".yaml"): + continue + # Filename pattern: name.yaml or name_archived_YYYYMMDD.yaml + name = f[:-5] # remove .yaml + if "_archived_" in name: + name = name.split("_archived_")[0] + slots.add(name) + return slots + +def find_references(archived_slots): + references = {} # {slot_name: [file_paths]} + + class_files = glob.glob(os.path.join(CLASSES_DIR, "*.yaml")) + + for cls_file in class_files: + with open(cls_file, 'r') as f: + lines = f.readlines() + + for i, line in enumerate(lines): + stripped = line.strip() + + # Check for imports: "- ../slots/slotname" + # Check for slot usage: "- slotname" (in slots list) + # Check for slot_usage keys: "slotname:" + + for slot in archived_slots: + # Import check + if f"../slots/{slot}" in stripped and not stripped.strip().startswith("#"): + if slot not in references: references[slot] = [] + references[slot].append(f"{cls_file} (line {i+1}): Import") + continue + + # Loose usage check (can be false positive if slot name is common word like 'description') + # But we restrict to archived slots. + + # Check for "- slotname" + if stripped == f"- {slot}": + if slot not in references: references[slot] = [] + references[slot].append(f"{cls_file} (line {i+1}): Usage in slots list") + continue + + # Check for "slotname:" + if stripped.startswith(f"{slot}:"): + if slot not in references: references[slot] = [] + references[slot].append(f"{cls_file} (line {i+1}): Usage as key") + continue + + return references + +def main(): + print("Identifying archived slots...") + slots = get_archived_slot_names() + print(f"Found {len(slots)} archived slots.") + + # Filter out common false positives if necessary, but better to check everything + # 'description' is a common metadata field, but if it's archived as a slot, we should use has_or_had_description + + print("Scanning class files for references...") + refs = find_references(slots) + + if refs: + print(f"Found {len(refs)} archived slots still referenced in classes:") + for slot, locations in refs.items(): + print(f"\nSLOT: {slot}") + for loc in locations: + print(f" {loc}") + else: + print("No dead links found.") + +if __name__ == "__main__": + main()