{"protocolVersion":"2025-06-18","serverInfo":{"name":"domain-intel","title":"Domain Intel","version":"1.0.0"},"capabilities":{"tools":{"listChanged":false}},"transport":{"type":"http","endpoint":"https://dns.halowerk.com/mcp","methods":["POST"]},"payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","note":"tools/list needs no payment. tools/call settles the tool price over x402."},"tools":[{"name":"domain_intel","description":"Full profile of one domain: WHOIS core record (registrar, creation, expiry, status), A, AAAA, MX, NS, TXT, CAA and SOA records, SPF, DMARC and probed DKIM selectors, the TLS certificate with issuer, validity, chain and SAN list, subdomains from Certificate Transparency, the nameserver operator, the mail provider and whether the name is still free. Paid per call in USDC over x402.","inputSchema":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","description":"Domain without scheme, for example example.com. A full URL or a mail address is accepted and reduced to its host."},"subdomains":{"type":"boolean","default":true,"description":"Collect subdomains from Certificate Transparency (crt.sh) and the certificate SAN list."},"cert_chain":{"type":"boolean","default":false,"description":"Return the full certificate chain the server presents, not only the leaf certificate."},"whois_raw":{"type":"boolean","default":false,"description":"Include the unparsed WHOIS text of the registry answer."}},"additionalProperties":false}},{"name":"domain_dossier","description":"Reuses domain-intel and tech-detect. Returns both source observations and their timestamps, not a guessed lead score. Domain age is null without a usable registry date and incomplete evidence is explicitly marked partial. No Certificate Transparency enumeration, raw WHOIS, background job or callback. ASCII or punycode domains only. Cached source facts retain their original observation times.","inputSchema":{"type":"object","required":["domain"],"additionalProperties":false,"properties":{"domain":{"type":"string","minLength":4,"maxLength":253,"pattern":"^(?=.{1,253}$)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,63}$"}}}},{"name":"domain_spf_lookup_budget","description":"Count published SPF lookup terms; never claim recursively evaluated SPF validity. Returns domain_spf_lookup_budget_decision from the existing Domain-Dossier, preserving source times and warnings. Unknown information remains null; a missing DNS answer is an observation rather than proof of misconfiguration. No DNS writes, SMTP probes, legal compliance, account access, recursive SPF execution or migration completion promise. One ASCII/punycode domain. Existing network safety and bounded motor execution unchanged.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain"],"properties":{"domain":{"type":"string","maxLength":253,"pattern":"^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,63}$"}},"title":"Count published SPF lookup terms; never claim recursively evaluated SPF validity."},"outputSchema":{"type":"object","required":["article_id","domain_spf_lookup_budget_decision","provenance"],"properties":{"article_id":{"type":"string"},"domain_spf_lookup_budget_decision":{"type":"object","required":["rule_id","published_lookup_terms","published_terms_over_ten","recursive_lookup_count"],"properties":{"rule_id":{"const":"spf-lookup-budget"},"published_lookup_terms":{"type":["integer","null"]},"published_terms_over_ten":{"type":["boolean","null"]},"recursive_lookup_count":{"type":"null"}}},"provenance":{"type":"object","required":["motor","source_type"],"properties":{"motor":{"type":"string"},"source_type":{"type":"string"}}}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com"}}},{"name":"domain_registry_renewal_window","description":"Flag a registry-reported expiry within thirty days; unknown dates remain unknown. Returns domain_registry_renewal_window_decision from the existing Domain-Dossier, preserving source times and warnings. Unknown information remains null; a missing DNS answer is an observation rather than proof of misconfiguration. No DNS writes, SMTP probes, legal compliance, account access, recursive SPF execution or migration completion promise. One ASCII/punycode domain. Existing network safety and bounded motor execution unchanged.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain"],"properties":{"domain":{"type":"string","maxLength":253,"pattern":"^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,63}$"}},"title":"Flag a registry-reported expiry within thirty days; unknown dates remain unknown."},"outputSchema":{"type":"object","required":["article_id","domain_registry_renewal_window_decision","provenance"],"properties":{"article_id":{"type":"string"},"domain_registry_renewal_window_decision":{"type":"object","required":["rule_id","renewal_due","days_until_expiry","expires","threshold_days"],"properties":{"rule_id":{"const":"registry-renewal-window"},"renewal_due":{"type":["boolean","null"]},"days_until_expiry":{"type":["integer","null"]},"expires":{"type":["string","null"]},"threshold_days":{"const":30}}},"provenance":{"type":"object","required":["motor","source_type"],"properties":{"motor":{"type":"string"},"source_type":{"type":"string"}}}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com"}}},{"name":"domain_ns_cloudflare","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_cloudflare_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-cloudflare"},"domain_ns_cloudflare_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Cloudflare"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_aws_route_53","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_aws_route_53_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-aws-route-53"},"domain_ns_aws_route_53_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"AWS Route 53"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_microsoft_azure_dns","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_microsoft_azure_dns_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-microsoft-azure-dns"},"domain_ns_microsoft_azure_dns_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Microsoft Azure DNS"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_google_domains","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_google_domains_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-google-domains"},"domain_ns_google_domains_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Google Domains"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_google_cloud_dns","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_google_cloud_dns_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-google-cloud-dns"},"domain_ns_google_cloud_dns_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Google Cloud DNS"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_all_inkl","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_all_inkl_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-all-inkl"},"domain_ns_all_inkl_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"All-Inkl"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_ionos","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_ionos_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-ionos"},"domain_ns_ionos_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"IONOS"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_strato","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_strato_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-strato"},"domain_ns_strato_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"STRATO"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_hetzner","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_hetzner_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-hetzner"},"domain_ns_hetzner_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Hetzner"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_netcup","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_netcup_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-netcup"},"domain_ns_netcup_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"netcup"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_united_domains","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_united_domains_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-united-domains"},"domain_ns_united_domains_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"united-domains"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_godaddy","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_godaddy_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-godaddy"},"domain_ns_godaddy_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"GoDaddy"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_namecheap","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_namecheap_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-namecheap"},"domain_ns_namecheap_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Namecheap"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_hostinger","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_hostinger_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-hostinger"},"domain_ns_hostinger_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Hostinger"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_digitalocean","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_digitalocean_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-digitalocean"},"domain_ns_digitalocean_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"DigitalOcean"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_vercel","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_vercel_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-vercel"},"domain_ns_vercel_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Vercel"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_ns1","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_ns1_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-ns1"},"domain_ns_ns1_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"NS1"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_dns_made_easy","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_dns_made_easy_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-dns-made-easy"},"domain_ns_dns_made_easy_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"DNS Made Easy"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_vercara_ultradns","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_vercara_ultradns_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-vercara-ultradns"},"domain_ns_vercara_ultradns_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Vercara UltraDNS"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_akamai","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_akamai_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-akamai"},"domain_ns_akamai_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Akamai"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_gandi","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_gandi_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-gandi"},"domain_ns_gandi_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Gandi"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_ovhcloud","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_ovhcloud_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-ovhcloud"},"domain_ns_ovhcloud_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"OVHcloud"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_scaleway","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_scaleway_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-scaleway"},"domain_ns_scaleway_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Scaleway"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_infomaniak","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_infomaniak_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-infomaniak"},"domain_ns_infomaniak_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Infomaniak"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_one_com","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_one_com_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-one-com"},"domain_ns_one_com_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"one.com"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_loopia","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_loopia_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-loopia"},"domain_ns_loopia_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Loopia"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_hostpoint","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_hostpoint_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-hostpoint"},"domain_ns_hostpoint_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Hostpoint"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_domainfactory","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_domainfactory_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-domainfactory"},"domain_ns_domainfactory_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"domainFACTORY"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_mittwald","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_mittwald_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-mittwald"},"domain_ns_mittwald_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Mittwald"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_desec","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_desec_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-desec"},"domain_ns_desec_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"deSEC"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_dnsimple","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_dnsimple_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-dnsimple"},"domain_ns_dnsimple_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"DNSimple"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_cloudns","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_cloudns_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-cloudns"},"domain_ns_cloudns_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"ClouDNS"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_bunny_dns","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_bunny_dns_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-bunny-dns"},"domain_ns_bunny_dns_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Bunny DNS"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_squarespace","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_squarespace_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-squarespace"},"domain_ns_squarespace_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Squarespace"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_wix","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_wix_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-wix"},"domain_ns_wix_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Wix"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_shopify","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_shopify_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-shopify"},"domain_ns_shopify_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Shopify"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_webflow","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_webflow_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-webflow"},"domain_ns_webflow_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Webflow"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_porkbun","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_porkbun_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-porkbun"},"domain_ns_porkbun_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Porkbun"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_dynadot","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_dynadot_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-dynadot"},"domain_ns_dynadot_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Dynadot"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_enom","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_enom_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-enom"},"domain_ns_enom_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Enom"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_network_solutions","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_network_solutions_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-network-solutions"},"domain_ns_network_solutions_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Network Solutions"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_opensrs","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_opensrs_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-opensrs"},"domain_ns_opensrs_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Opensrs"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_transip","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_transip_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-transip"},"domain_ns_transip_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"TransIP"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_combell","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_combell_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-combell"},"domain_ns_combell_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Combell"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_key_systems","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_key_systems_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-key-systems"},"domain_ns_key_systems_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Key-Systems"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_internetx","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_internetx_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-internetx"},"domain_ns_internetx_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"InterNetX"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_host_europe","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_host_europe_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-host-europe"},"domain_ns_host_europe_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Host Europe"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_inwx","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_inwx_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-inwx"},"domain_ns_inwx_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"INWX"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_variomedia","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_variomedia_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-variomedia"},"domain_ns_variomedia_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Variomedia"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_zone_media","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_zone_media_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-zone-media"},"domain_ns_zone_media_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Zone Media"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_nazwa_pl","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_nazwa_pl_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-nazwa-pl"},"domain_ns_nazwa_pl_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"nazwa.pl"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_yandex","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_yandex_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-yandex"},"domain_ns_yandex_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Yandex"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_alibaba_cloud_dns","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_alibaba_cloud_dns_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-alibaba-cloud-dns"},"domain_ns_alibaba_cloud_dns_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Alibaba Cloud DNS"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_ns_dnspod","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"string","maxLength":254}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_ns_dnspod_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-ns-dnspod"},"domain_ns_dnspod_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"DNSPod"},"record_type":{"const":"NS"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"string","maxLength":254}},"previous_records":{"type":"array","items":{"type":"string","maxLength":254}},"added_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"removed_records":{"type":["array","null"],"items":{"type":"string","maxLength":254}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":["a.iana-servers.net","b.iana-servers.net"]}}}},{"name":"domain_mx_google_workspace","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_google_workspace_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-google-workspace"},"domain_mx_google_workspace_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Google Workspace"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_microsoft_365","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_microsoft_365_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-microsoft-365"},"domain_mx_microsoft_365_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Microsoft 365"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_all_inkl","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_all_inkl_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-all-inkl"},"domain_mx_all_inkl_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"All-Inkl"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_ionos","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_ionos_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-ionos"},"domain_mx_ionos_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"IONOS"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_strato","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_strato_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-strato"},"domain_mx_strato_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"STRATO"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_mailbox_org","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_mailbox_org_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-mailbox-org"},"domain_mx_mailbox_org_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"mailbox.org"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_posteo","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_posteo_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-posteo"},"domain_mx_posteo_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Posteo"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_proton_mail","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_proton_mail_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-proton-mail"},"domain_mx_proton_mail_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Proton Mail"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_zoho_mail","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_zoho_mail_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-zoho-mail"},"domain_mx_zoho_mail_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Zoho Mail"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_yandex_mail","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_yandex_mail_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-yandex-mail"},"domain_mx_yandex_mail_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Yandex Mail"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_mimecast","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_mimecast_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-mimecast"},"domain_mx_mimecast_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Mimecast"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_proofpoint","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_proofpoint_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-proofpoint"},"domain_mx_proofpoint_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Proofpoint"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_barracuda","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_barracuda_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-barracuda"},"domain_mx_barracuda_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Barracuda"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_hornetsecurity","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_hornetsecurity_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-hornetsecurity"},"domain_mx_hornetsecurity_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Hornetsecurity"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_retarus","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_retarus_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-retarus"},"domain_mx_retarus_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Retarus"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_fastmail","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_fastmail_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-fastmail"},"domain_mx_fastmail_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Fastmail"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_icloud_mail","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_icloud_mail_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-icloud-mail"},"domain_mx_icloud_mail_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"iCloud Mail"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_mail_ru","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_mail_ru_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-mail-ru"},"domain_mx_mail_ru_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Mail.ru"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_tencent_exmail","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_tencent_exmail_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-tencent-exmail"},"domain_mx_tencent_exmail_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Tencent Exmail"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_migadu","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_migadu_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-migadu"},"domain_mx_migadu_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Migadu"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_hetzner","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_hetzner_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-hetzner"},"domain_mx_hetzner_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Hetzner"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_netcup","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_netcup_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-netcup"},"domain_mx_netcup_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"netcup"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_domainfactory","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_domainfactory_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-domainfactory"},"domain_mx_domainfactory_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"domainFACTORY"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_united_domains","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_united_domains_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-united-domains"},"domain_mx_united_domains_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"united-domains"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_mailgun","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_mailgun_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-mailgun"},"domain_mx_mailgun_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Mailgun"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_sendgrid","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_sendgrid_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-sendgrid"},"domain_mx_sendgrid_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"SendGrid"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_amazon_ses","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_amazon_ses_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-amazon-ses"},"domain_mx_amazon_ses_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Amazon SES"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_improvmx","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_improvmx_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-improvmx"},"domain_mx_improvmx_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"ImprovMX"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_forward_email","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_forward_email_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-forward-email"},"domain_mx_forward_email_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Forward Email"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_namecheap_private_email","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_namecheap_private_email_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-namecheap-private-email"},"domain_mx_namecheap_private_email_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Namecheap Private Email"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_hostinger","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_hostinger_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-hostinger"},"domain_mx_hostinger_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Hostinger"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_titan","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_titan_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-titan"},"domain_mx_titan_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Titan"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_infomaniak","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_infomaniak_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-infomaniak"},"domain_mx_infomaniak_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Infomaniak"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_one_com","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_one_com_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-one-com"},"domain_mx_one_com_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"one.com"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_transip","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_transip_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-transip"},"domain_mx_transip_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"TransIP"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}},{"name":"domain_mx_combell","description":"Requires an unauthenticated caller-owned baseline; returns real current NS/MX records, added/removed sets and tri-state target-provider transition. Current DNS comes from one bounded native recursive-resolver query; existing Dossier provides context. Resolver caching may apply; no account ownership or global migration-completion claim. Existing provider patterns are reused without new invented attribution. At most50records,domain253chars,9sbudget; DNSsubquery2s/oneattempt. Unknown provider remains unknown; DNSfailure never becomes empty success.","inputSchema":{"type":"object","additionalProperties":false,"required":["domain","baseline"],"properties":{"domain":{"type":"string","maxLength":253},"baseline":{"type":"object","required":["domain","observed_at","records"],"additionalProperties":false,"properties":{"domain":{"type":"string","maxLength":253},"observed_at":{"type":"string","maxLength":40},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}}}}}},"outputSchema":{"type":"object","required":["article_id","domain_mx_combell_migration_observation","source_times"],"properties":{"article_id":{"const":"domain-mx-combell"},"domain_mx_combell_migration_observation":{"type":"object","required":["target_provider","record_type","baseline_source","current_records","added_records","removed_records","target_transition","migration_completed_verified"],"properties":{"target_provider":{"const":"Combell"},"record_type":{"const":"MX"},"baseline_source":{"const":"caller_supplied_unverified"},"current_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_records":{"type":"array","items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"added_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"removed_records":{"type":["array","null"],"items":{"type":"object","required":["exchange","priority"],"additionalProperties":false,"properties":{"exchange":{"type":"string","maxLength":254},"priority":{"type":"integer","minimum":0,"maximum":65535}}}},"previous_target_match":{"type":["boolean","null"]},"current_target_match":{"type":["boolean","null"]},"target_transition":{"enum":["unknown","entered_target","left_target","remained_target","remained_other"]},"migration_completed_verified":{"const":false}}},"source_times":{"type":"object"}}},"_meta":{"price_usdc":"0.009","example":{"domain":"example.com","baseline":{"domain":"example.com","observed_at":"2026-10-01T00:00:00Z","records":[{"exchange":".","priority":0}]}}}}]}