{
  "schema": "source_registry_admin_dry_run_command_parser_v01",
  "issue": 333,
  "document_path": "docs/product-architecture/source_registry_admin_dry_run_command_parser_v01.md",
  "baseline_commit": "512fcba07ce21a10342bb4d776860ec0509372dd",
  "status": "dry_run_parser_and_validation_slice_only",
  "relationships": {
    "product_requirements_issue": 325,
    "product_requirements_pr": 326,
    "command_contract_issue": 329,
    "command_contract_pr": 330,
    "schema_lifecycle_issue": 331,
    "schema_lifecycle_pr": 332,
    "extraction_profiles_issue": 271,
    "historical_source_registry_admin_parent_issue": 269
  },
  "commands_recognized": [
    "add_source",
    "approve_source",
    "register_source",
    "validate_source",
    "enable_preview",
    "disable_preview",
    "mark_production_eligible",
    "promote_to_production",
    "disable_production",
    "emergency_disable",
    "rollback_registry",
    "retire_source",
    "list_sources",
    "list_active_sources",
    "show_source_detail",
    "generate_receipt",
    "run_source_smoke"
  ],
  "deep_validation_subset": [
    "add_source",
    "validate_source",
    "enable_preview",
    "promote_to_production",
    "emergency_disable",
    "retire_source"
  ],
  "deferred_deep_validation": [
    "approve_source",
    "register_source",
    "disable_preview",
    "mark_production_eligible",
    "disable_production",
    "rollback_registry",
    "list_sources",
    "list_active_sources",
    "show_source_detail",
    "generate_receipt",
    "run_source_smoke"
  ],
  "output_model": {
    "successful_required_fields": [
      "dry_run",
      "command",
      "status",
      "source_id",
      "current_lifecycle_state",
      "proposed_lifecycle_state",
      "current_active_environments",
      "proposed_active_environments",
      "validation_checks",
      "refusal_checks",
      "receipt_preview",
      "mutations_performed",
      "boundary_confirmations"
    ],
    "refused_required_fields": [
      "dry_run",
      "command",
      "status",
      "reason",
      "failed_checks",
      "mutations_performed",
      "boundary_confirmations"
    ]
  },
  "refusal_coverage": [
    "unknown_command",
    "missing_command",
    "missing_source_id",
    "duplicate_source_id",
    "wildcard_origin",
    "broad_path_prefix",
    "package_authority_promotion",
    "active_source_without_approval",
    "transition_missing_production_eligibility",
    "transition_missing_validation",
    "retired_to_active_forbidden",
    "deletion_semantics_that_erase_audit_history",
    "arbitrary_web_search",
    "user_provided_url_retrieval_outside_governed_add_source",
    "browser_side_source_fetch",
    "live_mutation_outside_dry_run_refused"
  ],
  "fixtures": {
    "valid": "validation/fixtures/source_registry_admin/dry_run_commands_valid_v01.json",
    "invalid": "validation/fixtures/source_registry_admin/dry_run_commands_invalid_v01.json",
    "schema": "validation/fixtures/source_registry_admin/source_record_schema_v01.json",
    "transitions": "validation/fixtures/source_registry_admin/source_lifecycle_transitions_v01.json"
  },
  "boundary_confirmations": {
    "dry_run_only": true,
    "live_source_registry_admin_commands_implemented": false,
    "source_registries_mutated": false,
    "preview_or_production_source_sets_mutated": false,
    "sources_enabled_disabled_retired_or_promoted": false,
    "cloudflare_cli_or_api_used": false,
    "external_urls_called": false,
    "provider_or_model_configuration_changed": false,
    "runtime_retrieval_behavior_changed": false,
    "package_authority_changed": false,
    "production_apply_started": false,
    "okf_implementation_started": false,
    "google_sdlc_implementation_started": false,
    "multi_agent_orchestration_started": false,
    "source_registry_admin_live_implementation_child_issues_created": false,
    "extraction_profile_implementation_tickets_created": false,
    "issue_271_closed": false,
    "issue_269_reopened": false,
    "issue_269_closed_by_this_ticket": false,
    "codex_automerge_applied": false
  },
  "post_closeout_next_action": "After this dry-run parser slice is merged and locally closed out, choose whether to add dry-run source admin receipt schema enforcement or continue extraction-profile work for the next source."
}
