diff --git a/.jules/superintendent.md b/.jules/superintendent.md new file mode 100644 index 000000000..626777bb1 --- /dev/null +++ b/.jules/superintendent.md @@ -0,0 +1,2 @@ +Instability: Root directory hallway trash (.py scripts dumped without structure). +Fortification: Swept all stray python utility scripts into a dedicated scripts/ directory to maintain strict root hygiene. diff --git a/.phpunit.cache/test-results b/.phpunit.cache/test-results deleted file mode 100644 index b5eb77a67..000000000 --- a/.phpunit.cache/test-results +++ /dev/null @@ -1 +0,0 @@ -{"version":2,"defects":{"HTTPHeadersTest::test_redirect":1,"DomainTest::test_custom_fake_domain":1,"ThemesTest::test_get_themes":1,"ThemesTest::test_theme_activate":1},"times":{"HTTPHeadersTest::test_redirect":0,"HTTPHeadersTest::test_javascript_redirect":0.001,"HTTPHeadersTest::test_get_HTTP_status#0":0,"HTTPHeadersTest::test_get_HTTP_status#1":0,"HTTPHeadersTest::test_get_HTTP_status#2":0,"HTTPHeadersTest::test_get_HTTP_status#3":0,"HTTPHeadersTest::test_get_HTTP_status#4":0,"HTTPHeadersTest::test_get_HTTP_status#5":0,"HTTPHeadersTest::test_get_HTTP_status#6":0,"HTTPHeadersTest::test_get_HTTP_status#7":0,"HTTPHeadersTest::test_get_HTTP_status#8":0,"HTTPHeadersTest::test_get_HTTP_status#9":0,"HTTPHeadersTest::test_get_HTTP_status#10":0,"HTTPHeadersTest::test_get_HTTP_status#11":0,"HTTPHeadersTest::test_get_HTTP_status#12":0,"HTTPHeadersTest::test_get_HTTP_status#13":0,"HTTPHeadersTest::test_get_HTTP_status#14":0,"HTTPHeadersTest::test_get_HTTP_status#15":0,"HTTPHeadersTest::test_get_HTTP_status#16":0,"HTTPHeadersTest::test_get_HTTP_status#17":0,"HTTPHeadersTest::test_get_HTTP_status#18":0,"HTTPHeadersTest::test_get_HTTP_status#19":0,"HTTPHeadersTest::test_get_HTTP_status#20":0,"HTTPHeadersTest::test_get_HTTP_status#21":0,"HTTPHeadersTest::test_get_HTTP_status#22":0,"HTTPHeadersTest::test_get_HTTP_status#23":0,"HTTPHeadersTest::test_get_HTTP_status#24":0,"HTTPHeadersTest::test_get_HTTP_status#25":0,"HTTPHeadersTest::test_get_HTTP_status#26":0,"HTTPHeadersTest::test_get_HTTP_status#27":0,"HTTPHeadersTest::test_get_HTTP_status#28":0,"HTTPHeadersTest::test_get_HTTP_status#29":0,"HTTPHeadersTest::test_get_HTTP_status#30":0,"HTTPHeadersTest::test_get_HTTP_status#31":0,"HTTPHeadersTest::test_get_HTTP_status#32":0,"HTTPHeadersTest::test_get_HTTP_status#33":0,"HTTPHeadersTest::test_get_HTTP_status#34":0,"HTTPHeadersTest::test_get_HTTP_status#35":0,"HTTPHeadersTest::test_get_HTTP_status#36":0,"HTTPHeadersTest::test_get_HTTP_status#37":0,"HTTPHeadersTest::test_get_HTTP_status#38":0,"HTTPHeadersTest::test_get_HTTP_status#39":0,"HTTPHeadersTest::test_get_HTTP_status#40":0,"HTTPHeadersTest::test_get_HTTP_status#41":0,"HTTPHeadersTest::test_get_HTTP_status#42":0,"HTTPHeadersTest::test_get_HTTP_status#43":0,"HTTPHeadersTest::test_get_HTTP_status#44":0,"HTTPHeadersTest::test_get_HTTP_status#45":0,"HTTPHeadersTest::test_get_HTTP_status#46":0,"HTTPHeadersTest::test_get_HTTP_status#47":0,"HTTPHeadersTest::test_get_HTTP_status#48":0,"HTTPHeadersTest::test_get_HTTP_status#49":0,"HTTPHeadersTest::test_get_HTTP_status#50":0,"HTTPHeadersTest::test_get_HTTP_status_invalid":0,"OptionTest::test_the_basics":0.01,"OptionTest::test_serialized_data":0.003,"OptionTest::test_bad_option_names#0":0,"OptionTest::test_bad_option_names#1":0,"OptionTest::test_bad_option_names#2":0,"OptionTest::test_bad_option_names#3":0,"OptionTest::test_bad_option_names#4":0,"OptionTest::test_bad_option_names#5":0,"OptionTest::test_add_option":0.003,"OptionTest::test_update_option":0.005,"FuncTest::test_api_actions#0":0,"FuncTest::test_api_actions#1":0.001,"FuncTest::test_api_actions#2":0,"FuncTest::test_api_actions#3":0,"FuncTest::test_api_actions#4":0.001,"FuncTest::test_api_actions#5":0,"OutputTest::test_output_return_or_echo":0,"OutputTest::test_output_content_headers#0":0.001,"OutputTest::test_output_content_headers#1":0,"OutputTest::test_output_content_headers#2":0,"OutputTest::test_output_content_headers#3":0,"OutputTest::test_output_content_headers#4":0,"OutputTest::test_output_status_headers#0":0,"OutputTest::test_output_status_headers#1":0,"OutputTest::test_output_status_headers#2":0,"AuthTest::test_has_cleartext":0,"AuthTest::test_has_no_cleartext":0,"AuthTest::test_has_md5":0,"AuthTest::test_has_phpass":0,"AuthTest::test_hash_and_check#0":0.143,"AuthTest::test_hash_and_check#1":0.142,"AuthTest::test_hash_and_check#2":0.143,"AuthTest::test_hash_and_check#3":0.144,"AuthTest::test_hash_and_check#4":0.143,"AuthTest::test_hash_and_check#5":0.142,"AuthTest::test_hash_and_check#6":0.142,"AuthTest::test_valid_cleartext":0,"AuthTest::test_valid_md5":0,"AuthTest::test_valid_phpass":0.178,"AuthTest::test_hash_passwords_now":0.115,"AuthTest::test_hash_passwords_now_unwritable":0,"AuthTest::test_hash_passwords_now_non_existent":0,"AuthTest::test_hash_passwords_now_empty":0,"AuthTest::test_hash_passwords_now_no_pwd":0,"AuthTest::test_hash_passwords_now_bad_content":0.072,"AuthTest::test_hash_passwords_now_contents_updated":0.144,"AuthTest::test_hash_passwords_special_chars_now":0.539,"AuthTest::test_maybe_hash_passwords_clear_passwords":0,"AuthTest::test_maybe_hash_passwords_no_clear_password":0,"AuthTest::test_maybe_hash_passwords_YOURLS_NO_HASH_PASSWORD":0,"AuthTest::test_maybe_hash_passwords_via_env":0,"CheckPasswordHashTest::test_check_password_hash_cleartext":0,"CheckPasswordHashTest::test_check_password_hash_md5":0,"CheckPasswordHashTest::test_check_password_hash_phpass":0.214,"CheckPasswordHashTest::test_check_password_hash_unknown_user":0,"IsValidUserTest::test_shunt_is_valid_user":0,"IsValidUserTest::test_logout_request":0,"IsValidUserTest::test_login_failed_no_credentials":0,"IsValidUserTest::test_login_failed_with_credentials":0.001,"IsValidUserTest::test_login_failed_with_credentials_with_nonce":0,"IsValidUserTest::test_login_success_api":0,"IsValidUserTest::test_login_success_normal_with_redirect":0,"IsValidUserTest::test_login_success_normal_no_redirect":0,"IsValidUserTest::test_api_secure_timestamp":0,"IsValidUserTest::test_api_secure_signature":0,"IsValidUserTest::test_login_username_password":0,"IsValidUserTest::test_login_cookie":0,"LoginAPISecureTest::test_login":0,"LoginAPISecureTest::test_login_shunt":0,"LoginAPISecureTest::test_login_with_no_credential":0,"LoginAPISecureTest::test_login_with_empty_credential":0,"LoginAPISecureTest::test_login_with_random_credentials":0,"LoginAPISecureTimeTokenTest::test_login":0,"LoginAPISecureTimeTokenTest::test_login_shunt":0,"LoginAPISecureTimeTokenTest::test_login_with_no_credential":0,"LoginAPISecureTimeTokenTest::test_login_with_empty_credential":0,"LoginAPISecureTimeTokenTest::test_login_with_random_credentials":0,"LoginAPITest::test_login":0,"LoginAPITest::test_login_shunt":0,"LoginAPITest::test_login_with_no_credential":0,"LoginAPITest::test_login_with_empty_credential":0,"LoginAPITest::test_login_with_random_credentials":0,"LoginCookieTest::test_cookie_name":0,"LoginCookieTest::test_cookie_value":0,"LoginCookieTest::test_cookie_life":0,"LoginCookieTest::test_login_valid_cookie":0,"LoginCookieTest::test_login_invalid_cookie":0,"LoginNormalTest::test_login":0,"LoginNormalTest::test_login_shunt":0,"LoginNormalTest::test_login_with_no_credential":0,"LoginNormalTest::test_login_with_empty_credential":0,"LoginNormalTest::test_login_with_random_credentials":0,"LogoutTest::test_logout_user_is_logged_in":0,"LogoutTest::test_logout_user_logs_out":0,"LogoutTest::test_logout_user_is_logged_in_back":0,"MiscAuthTest::test_yourls_skip_password_hashing_is_bool":0,"MiscAuthTest::test_yourls_salt_return_string":0,"MiscAuthTest::test_yourls_hmac_algo_default":0,"MiscAuthTest::test_yourls_hmac_algo_custom":0,"MiscAuthTest::test_yourls_hmac_algo_non_existent":0,"NonceTest::test_nonce_life":0,"NonceTest::test_tick":0,"NonceTest::test_create_nonce":0,"NonceTest::test_create_nonce_field_echo":0,"NonceTest::test_create_nonce_url":0,"NonceTest::test_valid_nonce":0,"NonceTest::test_invalid_nonce":0,"NonceTest::test_nonce_different_for_different_actions_and_users":0,"RedirectionTest::test_login":0,"SigTest::test_signature_empty":0,"SigTest::test_signature_random":0,"SigTest::test_signature_timestamp_empty":0,"SigTest::test_signature_timestamp_random":0,"SigTest::test_signature_timestamp_md5":0,"SigTest::test_signature_timestamp_hash":0,"SigTest::test_check_timestamp#0":0,"SigTest::test_check_timestamp#1":0,"SigTest::test_check_timestamp#2":0,"SigTest::test_check_timestamp#3":0,"SigTest::test_check_timestamp#4":0,"SigTest::test_check_timestamp#5":0,"DBSetTest::test_get":0,"DBSetTest::test_set":0,"DBTest::test_get_num_queries":0,"CompatTest::test_array_to_json_non_array":0,"CompatTest::test_array_to_json_vector":0,"CompatTest::test_array_to_json_associative":0,"CompatTest::test_array_to_json_nested":0,"DatesTest::test_get_time_offset":0,"DatesTest::test_get_datetime_format":0,"DatesTest::test_get_date_format":0,"DatesTest::test_get_time_format":0,"DatesTest::test_get_time_offset_zero":0,"DatesTest::test_get_time_offset_non_zero":0,"EscTest::test_esc_attr#0":0,"EscTest::test_esc_attr#1":0,"EscTest::test_esc_attr#2":0,"EscTest::test_esc_attr#3":0,"EscTest::test_esc_attr_twice#0":0,"EscTest::test_esc_attr_twice#1":0,"EscTest::test_esc_attr_twice#2":0,"EscTest::test_esc_attr_twice#3":0,"EscTest::test_esc_html#0":0,"EscTest::test_esc_html#1":0,"EscTest::test_esc_html#2":0,"EscTest::test_esc_html#3":0,"EscTest::test_esc_html#4":0,"EscTest::test_esc_html#5":0,"EscTest::test_esc_html#6":0,"EscTest::test_esc_html#7":0,"EscTest::test_esc_urls#0":0,"EscTest::test_esc_urls#1":0,"EscTest::test_esc_urls#2":0,"EscTest::test_esc_urls#3":0,"EscTest::test_esc_urls#4":0,"EscTest::test_esc_urls#5":0,"EscTest::test_esc_js#0":0,"EscTest::test_esc_js#1":0,"EscTest::test_esc_js#2":0,"EscTest::test_esc_textarea#0":0,"EscTest::test_esc_textarea#1":0,"EscTest::test_esc_textarea#2":0,"FormatTest::test_is_serialized#0":0,"FormatTest::test_is_serialized#1":0,"FormatTest::test_is_serialized#2":0,"FormatTest::test_is_serialized#3":0,"FormatTest::test_is_serialized#4":0,"FormatTest::test_is_serialized#5":0,"FormatTest::test_is_serialized#6":0,"FormatTest::test_is_serialized#7":0,"FormatTest::test_is_serialized#8":0,"FormatTest::test_is_serialized#9":0,"FormatTest::test_is_serialized#10":0,"FormatTest::test_is_not_serialized#0":0,"FormatTest::test_is_not_serialized#1":0,"FormatTest::test_is_not_serialized#2":0,"FormatTest::test_int_to_string_to_int":0,"FormatTest::test_string_to_int_to_string":0,"FormatTest::test_string2htmlid":0,"FormatTest::test_valid_regexp":0,"FormatTest::test_trim_long_strings":0,"FormatTest::test_is_utf8#0":0,"FormatTest::test_is_utf8#1":0,"FormatTest::test_is_utf8#2":0,"FormatTest::test_is_utf8#3":0,"FormatTest::test_is_utf8#4":0,"FormatTest::test_is_not_utf8#0":0,"FormatTest::test_is_not_utf8#1":0,"FormatTest::test_is_not_utf8#2":0,"FormatTest::test_is_not_utf8#3":0,"FormatTest::test_is_not_utf8#4":0,"FormatTest::test_backslashit":0,"FormatTest::test_bookmarklet":0.001,"FormatTest::test_specialchars_decode_basics":0,"FormatTest::test_specialchars_escapes_quotes":0,"FormatTest::test_specialchars_allowed_entities":0.003,"FormatTest::test_specialchars_unallowed_entities":0,"GetDomainTest::test_get_domain_without_scheme#0":0,"GetDomainTest::test_get_domain_without_scheme#1":0,"GetDomainTest::test_get_domain_without_scheme#2":0,"GetDomainTest::test_get_domain_without_scheme#3":0,"GetDomainTest::test_get_domain_without_scheme#4":0,"GetDomainTest::test_get_domain_without_scheme#5":0,"GetDomainTest::test_get_domain_without_scheme#6":0,"GetDomainTest::test_get_domain_without_scheme#7":0,"GetDomainTest::test_get_domain_without_scheme#8":0,"GetDomainTest::test_get_domain_without_scheme#9":0,"GetDomainTest::test_get_domain_without_scheme#10":0,"GetDomainTest::test_get_domain_without_scheme#11":0,"GetDomainTest::test_get_domain_without_scheme#12":0,"GetDomainTest::test_get_domain_without_scheme#13":0,"GetDomainTest::test_get_domain_without_scheme#14":0,"GetDomainTest::test_get_domain_without_scheme#15":0,"GetDomainTest::test_get_domain_without_scheme#16":0,"GetDomainTest::test_get_domain_without_scheme#17":0,"GetDomainTest::test_get_domain_with_scheme#0":0,"GetDomainTest::test_get_domain_with_scheme#1":0,"GetDomainTest::test_get_domain_with_scheme#2":0,"GetDomainTest::test_get_domain_with_scheme#3":0,"GetDomainTest::test_get_domain_with_scheme#4":0,"GetDomainTest::test_get_domain_with_scheme#5":0,"GetDomainTest::test_get_domain_with_scheme#6":0,"GetDomainTest::test_get_domain_with_scheme#7":0,"GetDomainTest::test_get_domain_with_scheme#8":0,"GetDomainTest::test_get_domain_with_scheme#9":0,"GetDomainTest::test_get_domain_with_scheme#10":0,"GetDomainTest::test_get_domain_with_scheme#11":0,"GetDomainTest::test_get_domain_with_scheme#12":0,"GetDomainTest::test_get_domain_with_scheme#13":0,"GetDomainTest::test_get_domain_with_scheme#14":0,"GetDomainTest::test_get_domain_with_scheme#15":0,"GetDomainTest::test_get_domain_with_scheme#16":0,"GetDomainTest::test_get_domain_with_scheme#17":0,"KSESTest::test_sanitize_title":0,"KSESTest::test_normalize_entities":0,"ReferrerTest::test_no_referrer":0,"ReferrerTest::test_referrer":0,"ReferrerTest::test_long_referrer":0,"SanitizeTest::test_sanitize_title":0,"SanitizeTest::test_sanitize_title_with_fallback":0,"SanitizeTest::test_sanitize_int":0,"SanitizeTest::test_sanitize_ip#0":0,"SanitizeTest::test_sanitize_ip#1":0,"SanitizeTest::test_sanitize_ip#2":0,"SanitizeTest::test_sanitize_ip#3":0,"SanitizeTest::test_sanitize_ip#4":0,"SanitizeTest::test_sanitize_ip#5":0,"SanitizeTest::test_sanitize_ip#6":0,"SanitizeTest::test_sanitize_date#0":0,"SanitizeTest::test_sanitize_date#1":0,"SanitizeTest::test_sanitize_date#2":0,"SanitizeTest::test_sanitize_date#3":0,"SanitizeTest::test_sanitize_date#4":0,"SanitizeTest::test_sanitize_date_sql#0":0,"SanitizeTest::test_sanitize_date_sql#1":0,"SanitizeTest::test_sanitize_date_sql#2":0,"SanitizeTest::test_sanitize_date_sql#3":0,"SanitizeTest::test_sanitize_date_sql#4":0,"SanitizeTest::test_sanitize_filename#0":0,"SanitizeTest::test_sanitize_filename#1":0,"SanitizeTest::test_sanitize_filename#2":0,"SanitizeTest::test_sanitize_filename#3":0,"SanitizeTest::test_sanitize_version#0":0,"SanitizeTest::test_sanitize_version#1":0,"SanitizeTest::test_sanitize_version#2":0,"SanitizeTest::test_sanitize_version#3":0,"SanitizeTest::test_sanitize_version#4":0,"SanitizeTest::test_sanitize_version#5":0,"SanitizeTest::test_sanitize_version#6":0,"SanitizeTest::test_sanitize_version#7":0,"SanitizeTest::test_sanitize_version#8":0,"SanitizeTest::test_sanitize_version#9":0,"SanitizeTest::test_sanitize_version#10":0,"SanitizeTest::test_sanitize_version#11":0,"SanitizeTest::test_sanitize_version#12":0,"SanitizeTest::test_sanitize_version#13":0,"SanitizeTest::test_sanitize_version#14":0,"SanitizeTest::test_sanitize_version#15":0,"SanitizeTest::test_sanitize_version#16":0,"SanitizeTest::test_sanitize_version#17":0,"SanitizeTest::test_sanitize_version#18":0,"SanitizeTest::test_sanitize_keywords#0":0,"SanitizeTest::test_sanitize_keywords#1":0,"SanitizeTest::test_sanitize_keywords#2":0,"SanitizeTest::test_sanitize_keywords#3":0,"URLTest::test_correcttly_get_protocols#0":0,"URLTest::test_correcttly_get_protocols#1":0,"URLTest::test_correcttly_get_protocols#2":0,"URLTest::test_correcttly_get_protocols#3":0,"URLTest::test_correcttly_get_protocols#4":0,"URLTest::test_correcttly_get_protocols#5":0,"URLTest::test_correcttly_get_protocols#6":0,"URLTest::test_correcttly_get_protocols#7":0,"URLTest::test_correcttly_get_protocols#8":0,"URLTest::test_correcttly_get_protocols#9":0,"URLTest::test_correcttly_get_protocols#10":0,"URLTest::test_correcttly_get_protocols#11":0,"URLTest::test_correcttly_get_protocols#12":0,"URLTest::test_correcttly_get_protocols#13":0,"URLTest::test_correcttly_get_protocols#14":0,"URLTest::test_correcttly_get_protocols#15":0,"URLTest::test_correcttly_get_protocols#16":0,"URLTest::test_valid_urls#0":0,"URLTest::test_valid_urls#1":0,"URLTest::test_valid_urls#2":0,"URLTest::test_valid_urls#3":0,"URLTest::test_valid_urls#4":0,"URLTest::test_valid_urls#5":0,"URLTest::test_valid_urls#6":0,"URLTest::test_valid_urls#7":0,"URLTest::test_valid_urls#8":0,"URLTest::test_valid_urls#9":0,"URLTest::test_valid_urls#10":0,"URLTest::test_valid_urls#11":0,"URLTest::test_valid_urls#12":0,"URLTest::test_valid_urls#13":0,"URLTest::test_valid_urls#14":0,"URLTest::test_valid_urls#15":0,"URLTest::test_valid_urls#16":0,"URLTest::test_valid_urls#17":0,"URLTest::test_valid_urls#18":0,"URLTest::test_valid_urls#19":0,"URLTest::test_valid_urls#20":0,"URLTest::test_valid_urls#21":0,"URLTest::test_valid_urls#22":0,"URLTest::test_valid_urls#23":0,"URLTest::test_valid_urls#24":0,"URLTest::test_valid_urls#25":0,"URLTest::test_valid_urls#26":0,"URLTest::test_valid_urls#27":0,"URLTest::test_url_with_spaces":0,"URLTest::test_url_with_bad_characters":0,"URLTest::test_url_with_protocols":0,"URLTest::test_url_with_protocol_case#0":0,"URLTest::test_url_with_protocol_case#1":0,"URLTest::test_url_with_protocol_case#2":0,"URLTest::test_url_with_protocol_case#3":0,"URLTest::test_url_with_protocol_case#4":0,"URLTest::test_url_with_protocol_case#5":0,"URLTest::test_url_with_protocol_case#6":0,"URLTest::test_url_with_protocol_case#7":0,"URLTest::test_url_with_protocol_case#8":0,"URLTest::test_url_with_protocol_case#9":0,"URLTest::test_url_with_protocol_case#10":0,"URLTest::test_url_with_protocol_case#11":0,"URLTest::test_url_with_protocol_case#12":0,"URLTest::test_url_with_protocol_case#13":0,"URLTest::test_url_with_protocol_case#14":0,"URLTest::test_url_with_protocol_case#15":0,"URLTest::test_url_with_protocol_case#16":0,"URLTest::test_url_with_IDN#0":0,"URLTest::test_url_with_IDN#1":0,"URLTest::test_url_with_IDN#2":0,"URLTest::test_url_with_IDN#3":0,"URLTest::test_url_with_IDN#4":0,"URLTest::test_url_with_IDN#5":0,"URLTest::test_matching_protocols_with_no_ssl#0":0,"URLTest::test_matching_protocols_with_no_ssl#1":0,"URLTest::test_matching_protocols_with_no_ssl#2":0,"URLTest::test_matching_protocols_with_no_ssl#3":0,"URLTest::test_matching_protocols_with_no_ssl#4":0,"URLTest::test_matching_protocols_with_no_ssl#5":0,"URLTest::test_matching_protocols_with_no_ssl#6":0,"URLTest::test_matching_protocols_with_no_ssl#7":0,"URLTest::test_matching_protocols_with_no_ssl#8":0,"URLTest::test_matching_protocols_with_no_ssl#9":0,"URLTest::test_matching_protocols_with_ssl#0":0,"URLTest::test_matching_protocols_with_ssl#1":0,"URLTest::test_matching_protocols_with_ssl#2":0,"URLTest::test_matching_protocols_with_ssl#3":0,"URLTest::test_matching_protocols_with_ssl#4":0,"URLTest::test_matching_protocols_with_ssl#5":0,"URLTest::test_matching_protocols_with_ssl#6":0,"URLTest::test_matching_protocols_with_ssl#7":0,"URLTest::test_matching_protocols_with_ssl#8":0,"URLTest::test_matching_protocols_with_ssl#9":0,"URLTest::test_various_idn_cases#0":0,"URLTest::test_various_idn_cases#1":0,"URLTest::test_various_idn_cases#2":0,"URLTest::test_various_idn_cases#3":0,"URLTest::test_various_idn_cases#4":0,"URLTest::test_various_idn_cases#5":0,"URLTest::test_various_idn_cases#6":0,"URLTest::test_various_idn_cases#7":0,"URLTest::test_various_idn_cases#8":0,"URLTest::test_various_idn_cases#9":0,"URLTest::test_various_idn_cases#10":0,"URLTest::test_various_idn_cases#11":0,"URLTest::test_various_idn_cases#12":0,"URLTest::test_various_idn_cases#13":0,"URLTest::test_various_idn_cases#14":0,"URLTest::test_various_idn_cases#15":0,"URLTest::test_various_idn_cases#16":0,"Format_Deep_Replace::test_yourls_deep_replace":0,"GeoIPTest::test_ip_to_countrycode_ipv4#0":0.004,"GeoIPTest::test_ip_to_countrycode_ipv4#1":0.002,"GeoIPTest::test_ip_to_countrycode_ipv4#2":0.002,"GeoIPTest::test_ip_to_countrycode_ipv4#3":0.001,"GeoIPTest::test_ip_to_countrycode_ipv4#4":0.001,"GeoIPTest::test_ip_to_countrycode_ipv6#0":0.002,"GeoIPTest::test_ip_to_countrycode_ipv6#1":0.002,"GeoIPTest::test_ip_to_countrycode_ipv6#2":0.001,"GeoIPTest::test_ip_to_countrycode_ipv6#3":0.001,"GeoIPTest::test_countrycode_to_countryname#0":0,"GeoIPTest::test_countrycode_to_countryname#1":0,"GeoIPTest::test_countrycode_to_countryname#2":0,"GeoIPTest::test_countrycode_to_countryname#3":0,"GeoIPTest::test_country_images":0,"HtmlBodyClassTest::test_get_html_bodyclass_mobile":0,"HtmlBodyClassTest::test_get_html_bodyclass_desktop":0,"HtmlBodyClassTest::test_get_html_bodyclass_filter":0,"HtmlComponentsTest::test_get_html_components_infos":0,"HtmlComponentsTest::test_get_html_components_bookmark":0,"HtmlComponentsTest::test_get_html_components_index":0,"HtmlComponentsTest::test_get_html_components_plugins":0,"HtmlComponentsTest::test_get_html_components_tools":0,"HtmlComponentsTest::test_get_html_components_unknown":0,"HtmlTitleTest::test_get_html_title_default":0,"HtmlTitleTest::test_get_html_title_login":0,"HtmlTitleTest::test_get_html_title_with_title_in":0,"HtmlTitleTest::test_get_html_title_login_with_title_in":0,"HtmlTitleTest::test_get_html_title_filter":0,"AYOTest::test_api_failed_request":0.005,"AYOTest::test_api_failed_request_server_error":0.004,"AYOTest::test_check_core_version":0.006,"AYOTest::test_check_only_in_admin":0.001,"AYOTest::test_api_check_in_various_scenario#0":0.003,"AYOTest::test_api_check_in_various_scenario#1":0.003,"AYOTest::test_api_check_in_various_scenario#2":0.004,"AYOTest::test_api_check_in_various_scenario#3":0.002,"AYOTest::test_api_check_in_various_scenario#4":0.003,"AYOTest::test_api_check_in_various_scenario#5":0.004,"AYOTest::test_api_check_in_various_scenario#6":0.003,"AYOTest::test_api_check_in_various_scenario#7":0.002,"AYOTest::test_api_check_in_various_scenario#8":0.004,"AYOTest::test_validate_api_json_response#expected":0.001,"AYOTest::test_validate_api_json_response#unexpected version number format":0.001,"AYOTest::test_validate_api_json_response#version mismatch":0.001,"AYOTest::test_validate_api_json_response#not github.com":0.001,"AYOTest::test_validate_api_json_response#not YOURLS\/YOURLS":0,"AYOTest::test_validate_api_json_response#no version":0,"AYOTest::test_validate_api_json_response#no URL":0,"AYOTest::test_validate_api_json_response#nothing 1":0.001,"AYOTest::test_validate_api_json_response#nothing 2":0,"AYOTest::test_validate_api_json_response#nothing 3":0,"AYOTest::test_is_valid_github_repo_url#true":0.001,"AYOTest::test_is_valid_github_repo_url#not github":0,"AYOTest::test_is_valid_github_repo_url#not YOURLS":0,"AYOTest::test_is_valid_github_repo_url#not URL":0,"AYOTest::test_is_valid_github_repo_url_with_filter":0.001,"AYOTest::test_new_version_notice#0":0.002,"AYOTest::test_new_version_notice#1":0.002,"AYOTest::test_new_version_notice#2":0.001,"AYOTest::test_new_version_notice#3":0.002,"AYOTest::test_new_version_notice#4":0.001,"AYOTest::test_new_version_notice#5":0.001,"AYOTest::test_new_version_notice#6":0.002,"AYOTest::test_new_version_notice#7":0.002,"AYOTest::test_new_version_notice#8":0.002,"AYOTest::test_get_version_from_zipball_url#0":0.001,"AYOTest::test_get_version_from_zipball_url#1":0,"AYOTest::test_get_version_from_zipball_url#2":0.001,"AYOTest::test_get_version_from_zipball_url#3":0,"AYOTest::test_get_version_from_zipball_url#4":0,"AYOTest::test_get_version_from_zipball_url#5":0,"AYOTest::test_yourls_validate_core_version_response_keys#latest & zipurl":0,"AYOTest::test_yourls_validate_core_version_response_keys#no latest":0,"AYOTest::test_yourls_validate_core_version_response_keys#no zipurl":0,"AYOTest::test_yourls_validate_core_version_response_keys#latest & other key":0,"AYOTest::test_yourls_validate_core_version_response_keys#zipurl & other key":0,"AYOTest::test_yourls_validate_core_version_response_keys#nothing":0,"AYOTest::test_yourls_validate_core_version_response_keys#extra key":0,"AYOTest::test_yourls_validate_core_version_response_keys#not strings":0,"AYOTest::test_yourls_get_core_version_json#0":0.261,"AYOTest::test_yourls_get_core_version_json#1":0.175,"HTTPRequestsTest::test_get":0.146,"HTTPRequestsTest::test_get_body":0.129,"HTTPRequestsTest::test_post":0.129,"HTTPRequestsTest::test_post_body":0.128,"HTTPRequestsTest::test_requests":0.003,"HTTPTest::test_get_user_agent":0,"HTTPTest::test_get_user_agent_empty":0,"HTTPTest::test_yourls_skip_version_check_is_bool":0,"MiscTest::test_can_SSL":0,"MiscTest::test_request_default_options":0,"MiscTest::test_request_default_options_proxy":0,"MiscTest::test_user_agent":0,"ProxyTest::test_proxy#0":0,"ProxyTest::test_proxy#1":0,"ProxyTest::test_proxy#2":0,"ProxyTest::test_proxy#3":0,"ProxyTest::test_proxy#4":0,"ProxyTest::test_proxy#5":0,"ProxyTest::test_proxy#6":0,"ProxyTest::test_proxy#7":0,"ProxyTest::test_proxy#8":0,"ProxyTest::test_proxy_bypass_wildcard#0":0,"ProxyTest::test_proxy_bypass_wildcard#1":0,"ProxyTest::test_proxy_bypass_wildcard#2":0,"ProxyTest::test_proxy_bypass_wildcard#3":0,"ProxyTest::test_proxy_bypass_wildcard#4":0,"ProxyTest::test_proxy_bypass_wildcard#5":0,"ProxyTest::test_proxy_bypass_wildcard#6":0,"ProxyTest::test_proxy_bypass_wildcard#7":0,"ProxyTest::test_proxy_bypass_wildcard#8":0,"ProxyTest::test_proxy_bypass_wildcard#9":0,"ProxyTest::test_proxy_bypass_wildcard#10":0,"ProxyTest::test_proxy_bypass_wildcard#11":0,"ProxyTest::test_proxy_bypass_wildcard#12":0,"ProxyTest::test_proxy_bypass_wildcard#13":0,"ProxyTest::test_proxy_bypass_wildcard#14":0,"ProxyTest::test_proxy_bypass_wildcard#15":0,"ProxyTest::test_proxy_bypass_wildcard#16":0,"ProxyTest::test_proxy_get_info":0,"ProxyTest::test_proxy_get_bypass_hosts":0,"CheckPDOTest::test_yourls_check_PDO":0,"HtaccessTest::test_is_apache_missing_server_software":0,"HtaccessTest::test_htaccess#0":0.001,"HtaccessTest::test_htaccess#1":0,"HtaccessTest::test_htaccess#2":0,"HtaccessTest::test_htaccess_content#0":0,"HtaccessTest::test_htaccess_content#1":0.001,"HtaccessTest::test_htaccess_content#2":0.001,"HtaccessTest::test_htaccess_content#3":0.001,"HtaccessTest::test_htaccess_content#4":0.001,"InstallTest::test_install":0,"InstallTest::test_yourls_is_iis":0,"InstallTest::test_init_tables":0.003,"InstallTest::test_create_tables":0.004,"InstallTest::test_correct_config":0.001,"InstallTest::test_incorrect_config":0.001,"InstallTest::test_not_found_config":0,"InstallTest::test_init_defaults":0,"MaintenanceModeTest::test_maintenance_mode_enable":0,"MaintenanceModeTest::test_maintenance_mode_disable":0,"VersionTest::test_mysql_version#0":0,"VersionTest::test_mysql_version#1":0,"VersionTest::test_mysql_version#2":0,"VersionTest::test_mysql_version#3":0,"VersionTest::test_mysql_version#4":0,"VersionTest::test_mysql_version#5":0,"VersionTest::test_php_version":0,"DomainTest::test_load_default_textdomain":0,"DomainTest::test_custom_fake_domain":0,"DomainTest::test_unload_fake_domain":0,"DomainTest::test_load_custom_domain":0,"DomainTest::test_custom_domain_unload":0,"GeneralTest::test_is_rtl":0,"GeneralTest::test_get_locale_from_config":0,"GeneralTest::test_get_locale":0,"GeneralTest::test_get_languages":0,"L10nFormatTest::test_number_format":0,"L10nFormatTest::test_date_format":0,"L10nFormatTest::test_yourls_l10n_months":0,"L10nFormatTest::test_yourls_l10n_month_abbrev":0,"L10nFormatTest::test_yourls_l10n_weekday_abbrev":0,"L10nFormatTest::test_yourls_l10n_weekday_initial":0,"L10nFormatTest::test_esc_funcs":0,"TranslationTest::test_translation":0,"TranslationTest::test_translation_echo":0,"TranslationTest::test_untranslated_string":0,"TranslationTest::test_random_string":0,"TranslationTest::test_yourls_s":0,"TranslationTest::test_yourls_se":0,"TranslationTest::test_yourls_s_too_few":0,"TranslationTest::test_yourls_s_too_many":0,"TranslationTest::test_yourls_translate_with_context":0,"TranslationTest::test_yourls_translate_with_context_invalid":0,"TranslationTest::test_yourls_x":0,"TranslationTest::test_yourls_xe":0,"TranslationTest::test_yourls_x_invalid":0,"TranslationTest::test_yourls_n":0,"TranslationTest::test_yourls_nx":0,"TranslationTest::test_yourls_translate_user_role":0,"AdminUrlTest::test_yourls_admin_url_base":0,"AdminUrlTest::test_yourls_admin_url_with_page":0,"AdminUrlTest::test_yourls_admin_url_with_ssl":0,"AdminUrlTest::test_yourls_admin_url_with_needs_ssl":0,"AdminUrlTest::test_yourls_admin_url_filter":0,"AdminUrlTest::test_yourls_admin_url_with_different_site_url":0,"DeepTest::test_urlencode_deep#0":0,"DeepTest::test_urlencode_deep#1":0,"DeepTest::test_urlencode_deep#2":0,"DeepTest::test_urlencode_deep#3":0,"DeepTest::test_urlencode_deep#4":0,"DeepTest::test_urlencode_deep#5":0,"DeepTest::test_urlencode_deep#6":0,"DeepTest::test_add_query_arg":0,"DeepTest::test_remove_query_arg":0,"FaviconTest::test_default_favicon":0.003,"FaviconTest::test_default_favicon_no_echo":0.004,"FaviconTest::test_custom_favicon_gif":0.004,"FaviconTest::test_custom_favicon_ico":0.004,"FaviconTest::test_custom_favicon_png":0.004,"FaviconTest::test_custom_favicon_jpg":0.004,"FaviconTest::test_custom_favicon_svg":0.004,"FaviconTest::test_static_cache_with_echo":0.004,"FaviconTest::test_static_cache_no_echo":0.003,"FaviconTest::test_favicon_filter":0.003,"LinkTest::test_yourls_site":0,"LinkTest::test_yourls_link":0,"LinkTest::test_yourls_statlink":0,"LinkTest::test_yourls_link_IDN":0,"LinkTest::test_yourls_site_url":0,"LinkTest::test_yourls_site_url_echo":0,"LinkTest::test_yourls_site_url_ssl":0,"LinkTest::test_yourls_site_url_filter":0,"QueryArgTest::test_yourls_add_query_arg":0,"QueryArgTest::test_yourls_add_query_arg_edge_cases":0,"QueryArgTest::test_yourls_add_query_arg_default":0,"QueryArgTest::test_yourls_remove_query_arg":0,"QueryArgTest::test_yourls_remove_query_arg_default":0,"UrlencodeDeepTest::test_urlencode_deep_string":0,"UrlencodeDeepTest::test_urlencode_deep_array":0,"UrlencodeDeepTest::test_urlencode_deep_nested_array":0,"UrlencodeDeepTest::test_urlencode_deep_deeply_nested_array":0,"PagesTest::test_page_is_reserved":0,"PagesTest::test_examplepage":0,"PagesTest::test_no_page":0,"PagesTest::test_create_page_and_check_is_reserved":0,"ActionsTest::test_add_action_funcname":0,"ActionsTest::test_remove_action":0,"ActionsTest::test_add_several_actions_default_priority":0,"ActionsTest::test_add_several_actions_random_priorities":0,"ActionsTest::test_remove_all_actions":0,"ActionsTest::test_remove_all_actions_random_prio":0,"ActionsTest::test_remove_only_actions_with_given_prio":0,"ActionsTest::test_do_action_funcname":0,"ActionsTest::test_do_action_several_times_and_count":0,"ActionsTest::test_add_action_create_function":0,"ActionsTest::test_do_action_create_function":0,"ActionsTest::test_add_action_within_class":0,"ActionsTest::test_do_action_within_class":0,"ActionsTest::test_add_action_within_class_array":0,"ActionsTest::test_do_action_within_class_array":0,"ActionsTest::test_add_action_within_class_instance":0,"ActionsTest::test_do_action_within_class_instance":0,"ActionsTest::test_add_action_class_and_array":0,"ActionsTest::test_add_action_closure":0,"ActionsTest::test_do_action_closure":0,"ActionsTest::test_function_must_exist_if_applied":0,"ActionsTest::test_do_action_no_params":0,"ActionsTest::test_do_action_1_params":0,"ActionsTest::test_do_action_2_params":0,"ActionsTest::test_has_action_return_values":0,"ActionsTest::test_get_actions":0,"ActionsTest::test_yourls_shutdown":0,"ActionsTest::test_call_all_hooks_with_action":0,"FilesTest::test_get_plugins":0,"FilesTest::test_plugin_validate":0,"FilesTest::test_missing_plugin_validate":0,"FilesTest::test_invalid_plugin_validate#0":0,"FilesTest::test_invalid_plugin_validate#1":0,"FilesTest::test_invalid_plugin_validate#2":0,"FilesTest::test_invalid_plugin_validate#3":0,"FilesTest::test_plugin_activate":0.006,"FilesTest::test_plugin_activate_twice":0,"FilesTest::test_load_plugins":0.003,"FilesTest::test_plugin_deactivate":0.001,"FilesTest::test_plugin_uninstall":0.002,"FilesTest::test_invalid_plugin_activate":0,"FilesTest::test_invalid_plugin_deactivate":0,"FilesTest::test_invalid_plugin_does_not_activate#0":0,"FilesTest::test_invalid_plugin_does_not_activate#1":0,"FilesTest::test_invalid_plugin_does_not_activate#2":0,"FilesTest::test_invalid_plugin_does_not_activate#3":0,"FilesTest::test_yourls_plugin_basename":0,"FiltersTest::test_add_filter_funcname":0,"FiltersTest::test_apply_filter_funcname":0,"FiltersTest::test_remove_filter_funcname":0,"FiltersTest::test_default_priority":0,"FiltersTest::test_remove_filter_priority":0,"FiltersTest::test_add_filter_create_function":0,"FiltersTest::test_apply_filter_create_function":0,"FiltersTest::test_add_filter_within_class":0,"FiltersTest::test_apply_filter_within_class":0,"FiltersTest::test_remove_filter_within_class":0,"FiltersTest::test_add_filter_within_class_array":0,"FiltersTest::test_apply_filter_within_class_array":0,"FiltersTest::test_remove_filter_within_class_array":0,"FiltersTest::test_add_filter_within_class_instance":0,"FiltersTest::test_apply_filter_within_class_instance":0,"FiltersTest::test_remove_filter_within_class_instance":0,"FiltersTest::test_add_filter_class_and_array":0,"FiltersTest::test_add_filter_closure":0,"FiltersTest::test_apply_filter_closure":0,"FiltersTest::test_multiple_filter":0,"FiltersTest::test_multiple_filter_with_priority":0,"FiltersTest::test_has_filter_return_values":0,"FiltersTest::test_get_filters":0,"FiltersTest::test_function_must_exist_if_applied":0,"FiltersTest::test_filter_specified_arguments":0,"FiltersTest::test_filter_arbitrary_arguments":0,"FiltersTest::test_multiple_filter_and_count":0,"FiltersTest::test_call_all_hooks_with_filter":0,"HeadersTest::test_regular_header":0,"HeadersTest::test_phpdoc_header":0,"HeadersTest::test_incomplete_header":0,"HeadersTest::test_incorrect_header":0,"HeadersTest::test_missing_header":0,"HeadersTest::test_missing_header_no_comment":0,"HelpersTest::test_check_timestamp#0":0,"HelpersTest::test_check_timestamp#1":0,"HelpersTest::test_check_timestamp#2":0,"HelpersTest::test_check_timestamp#3":0,"HelpersTest::test_check_timestamp#4":0,"HelpersTest::test_check_timestamp#5":0,"HelpersTest::test_yourls_filter_unique_id":0,"PluginPagesTest::test_yourls_plugin_url_ssl_mode_1":0,"PluginPagesTest::test_yourls_plugin_url_ssl_mode_2":0,"PluginPagesTest::test_yourls_plugin_url_ssl_mode_3":0,"PluginPagesTest::test_yourls_plugin_url_ssl_mode_4":0,"PluginPagesTest::test_register_plugin_page":0,"PluginPagesTest::test_list_plugin_page":0,"PluginPagesTest::test_plugin_admin_page_fake":0,"PluginPagesTest::test_plugin_admin_page":0,"PluginPagesTest::test_plugin_admin_page_not_callable":0,"PluginsSortCallbackTest::test_plugins_sort_callback_asc":0,"PluginsSortCallbackTest::test_plugins_sort_callback_desc":0,"PluginsSortCallbackTest::test_plugins_sort_callback_missing_key":0,"PluginsSortCallbackTest::test_plugins_sort_callback_custom_orderby":0,"CRUDTest::test_add_url":0.006,"CRUDTest::test_edit_title":0.002,"CRUDTest::test_is_shorturl":0.001,"CRUDTest::test_update_hits":0.004,"CRUDTest::test_edit_url":0.003,"CRUDTest::test_delete_url":0.001,"CRUDTest::test_insert_link_in_db":0.002,"CRUDTest::test_insert_link_concurrency":0.001,"DuplicateLongURLTest::test_yourls_allow_duplicate_longurls_is_bool":0,"DuplicateLongURLTest::test_add_url_twice":0.004,"ShortURLTest::test_reserved_keywords":0,"ShortURLTest::test_no_reserved_keywords":0,"ShortURLTest::test_free_keywords":0.001,"ShortURLTest::test_url_exists":0.001,"ShortURLTest::test_log_hits_unknown":0.001,"ShortURLTest::test_get_shorturl_charset":0,"GetDBStatsTest::test_yourls_get_db_stats_basic":0.005,"GetDBStatsTest::test_yourls_get_db_stats_with_where":0.003,"GetDBStatsTest::test_yourls_get_db_stats_filter":0,"StatsTest::test_do_log_redirect":0,"ThemesTest::test_get_themes":0,"ThemesTest::test_theme_activate":0,"FileLoaderTest::test_load_file_exists":0,"FileLoaderTest::test_load_file_not_exists":0,"FileLoaderTest::test_load_file_exception":0,"GetRequestTest::test_get_request#0":0,"GetRequestTest::test_get_request#1":0,"GetRequestTest::test_get_request#2":0,"GetRequestTest::test_get_request#3":0,"GetRequestTest::test_get_request#4":0,"GetRequestTest::test_get_request#5":0,"GetRequestTest::test_get_request#6":0,"GetRequestTest::test_get_request#7":0,"GetRequestTest::test_get_request#8":0,"GetRequestTest::test_get_request#9":0,"GetRequestTest::test_get_request#10":0,"GetRequestTest::test_get_request#11":0,"GetRequestTest::test_get_request#12":0,"GetRequestTest::test_get_request#13":0,"GetRequestTest::test_get_request#14":0,"GetRequestTest::test_get_request#15":0,"GetRequestTest::test_get_request#16":0,"GetRequestTest::test_get_request#17":0,"GetRequestTest::test_get_request#18":0,"GetRequestTest::test_get_request#19":0,"GetRequestTest::test_get_request#20":0,"GetRequestTest::test_get_request#21":0,"GetRequestTest::test_get_request#22":0,"GetRequestTest::test_get_request#23":0,"GetRequestTest::test_get_request#24":0,"GetRequestTest::test_get_request#25":0,"GetRequestTest::test_get_request#26":0,"GetRequestTest::test_get_request#27":0,"GetRequestTest::test_get_request#28":0,"GetRequestTest::test_get_request#29":0,"GetRequestTest::test_get_request#30":0,"GetRequestTest::test_get_request#31":0,"GetRequestTest::test_get_request#32":0,"GetRequestTest::test_get_request#33":0,"GetRequestTest::test_get_request#34":0,"GetRequestTest::test_get_request#35":0,"GetRequestTest::test_get_request#36":0,"GetRequestTest::test_get_request#37":0,"GetRequestTest::test_get_request#38":0,"GetRequestTest::test_get_request#39":0,"GetRequestTest::test_get_request#40":0,"GetRequestTest::test_get_request#41":0,"GetRequestTest::test_get_request#42":0,"GetRequestTest::test_get_request#43":0,"GetRequestTest::test_get_request#44":0,"GetRequestTest::test_get_request#45":0,"GetRequestTest::test_get_request#46":0,"NeedsSSLTest::test_yourls_needs_ssl":0,"NextDecimalTest::test_get_next_decimal":0,"NextDecimalTest::test_update_next_decimal_no_arg":0.001,"NextDecimalTest::test_update_next_decimal_with_arg":0.001,"CRUDTest::test_update_hits_concurrency":0.012,"FuncTest::test_api_actions#6":0,"FuncTest::test_api_actions#7":0,"FuncTest::test_api_actions#8":0,"CRUDTest::test_store_shorturl":0.003,"CRUDTest::test_store_shorturl_failure":0,"CRUDTest::test_store_shorturl_concurrency":0,"GetDBStatsTest::test_yourls_get_db_stats_malformed_where":0.004}} \ No newline at end of file diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index e19e094db..497609769 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -603,4 +603,7 @@ The Sovereign Agent Blueprint for the Next.js Frontend RAG Agent is documented t This project integrates the Progressive Disclosure Level 2 schema from [LEXICON.md](LEXICON.md) (DRP-LEXICON-992). This standard defines core pattern definitions such as Isomorphic Bridges, Paraconsistent Scarring, and Topological Orthogonality Hypotheses. It provides PDL decorators to mitigate pathological decays (like Semantic Saponification and Polyglot Hallucination Resonance) and emergent use cases at orthogonal domain intersections. ## Metrological Conformance -The operational workflow incorporates Draft-Conditioned Constrained Decoding and Semantic Metrology via `validate_pdt_specification.py`, ensuring `AGENTS.md` mathematically bounds execution paths and prevents logical deviations during autonomous recursive loops. +The operational workflow incorporates Draft-Conditioned Constrained Decoding and Semantic Metrology via `scripts/validate_pdt_specification.py`, ensuring `AGENTS.md` mathematically bounds execution paths and prevents logical deviations during autonomous recursive loops. + +## Infrastructure and Tooling +- `scripts/`: Centralized directory for utility scripts. diff --git a/mcp_server.py b/scripts/mcp_server.py similarity index 100% rename from mcp_server.py rename to scripts/mcp_server.py diff --git a/pdl_extractor.py b/scripts/pdl_extractor.py similarity index 100% rename from pdl_extractor.py rename to scripts/pdl_extractor.py diff --git a/validate_pdt_specification.py b/scripts/validate_pdt_specification.py similarity index 100% rename from validate_pdt_specification.py rename to scripts/validate_pdt_specification.py