{"apiVersion": "openeyes.nails.web.v1", "auditContractPath": "/api/web/v1/plugins/nails/domain-migration:audit-contract", "auditPath": "/api/web/v1/plugins/nails/domain-migration:audit", "boundary": "domain_migration_audit_local_only", "completionBoundary": {"deployEnabled": false, "fixtureStateMutations": true, "localStateMutations": false, "mode": "domain_migration_audit_local_only", "network": false, "productionMutations": false, "readsLocalFiles": true, "repoStateMutations": false, "runsFixtureDemo": true, "submitEnabled": false, "uploadEnabled": false, "verifiesLegacyReadOnlyBoundary": true, "verifiesMaliangApiInputTraceability": true, "writesLocalAuditState": false, "writesLocalFiles": true}, "contract": {"additionalProperties": false, "contractVersion": 1, "methods": ["POST"], "name": "nails-domain-migration-audit", "optionalFields": ["stateRoot", "objectRoot"], "requiredFields": [], "schemaDigest": "a3391d140f2d4ff9c24c030b62cedab12cb97944a1de2c2d2eb6b87fb19ef3b6", "schemaId": "https://openeyes.local/plugins/nails/web/v1/domain-migration-audit-request.schema.json"}, "deployEnabled": false, "evidenceContract": {"allowedWarnings": ["crochet_archive_adapter_degraded_inputs"], "kind": "nails.domain_migration_audit", "requiredPassingChecks": ["default_product_line_is_nails", "nails_plugin_active_full_capability", "crochet_legacy_read_only_archive_boundary", "crochet_legacy_catalog_readable_without_mutation", "nails_discovery_exposes_required_domain_routes", "fixture_crawl_covers_cn_and_global_providers", "design_fusion_produces_structured_nail_set", "maliang_api_input_package_is_traceable_and_verified"]}, "fixtureStateMutations": true, "localStateMutations": false, "localWrapper": {"commandTemplate": "rtk python scripts/nails_domain_migration_audit.py --state-root <stateRoot> --object-root <objectRoot>", "deployEnabled": false, "fixtureStateMutations": true, "localStateMutations": false, "network": false, "productionMutations": false, "repoStateMutations": false, "script": "scripts/nails_domain_migration_audit.py", "steps": ["verify Nails is the default active product line", "verify Crochet legacy mutation capabilities are denied", "read the Crochet legacy catalog without mutation", "inspect Nails Web API discovery for crawl, design fusion, and Maliang routes", "run the local fixture demo through Maliang API input package", "return a machine-readable migration evidence report"], "submitEnabled": false, "uploadEnabled": false}, "method": "GET", "network": false, "ok": true, "pluginId": "nails", "productionMutations": false, "repoStateMutations": false, "route": "/api/web/v1/plugins/nails/domain-migration:audit-contract", "schema": {"$id": "https://openeyes.local/plugins/nails/web/v1/domain-migration-audit-request.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": {"objectRoot": {"description": "Optional local object root for the audit's fixture demo. When omitted the audit writes under the local temporary directory.", "minLength": 1, "type": "string"}, "stateRoot": {"description": "Optional local state root for the audit's fixture demo. When omitted the audit writes under the local temporary directory.", "minLength": 1, "type": "string"}}, "required": [], "title": "Nails Domain Migration Audit Request v1", "type": "object"}, "sideEffects": "local_temp_fixture_demo_state_only", "submitEnabled": false, "uploadEnabled": false}