{
  "$schema": "https://bringyour.ai/schemas/codex-import-audit.v1.json",
  "id": "bringyour-codex-import-audit",
  "title": "Codex import audit after Claude Code migration",
  "url": "https://bringyour.ai/codex-import-audit",
  "html_url": "https://bringyour.ai/codex-import-audit",
  "json_url": "https://bringyour.ai/codex-import-audit.json",
  "product": "Bring Your AI",
  "updated_at": "2026-05-12",
  "positioning": "Run the first-party Codex import flow, then audit the imported harness before Codex writes code.",
  "remote_invariant": {
    "harness_data_remote": false,
    "accepts_user_rules": false,
    "accepts_file_contents": false,
    "accepts_api_keys": false,
    "notes": "This public JSON is descriptive only. Bring Your AI remote MCP and JSON routes do not accept harness files, generated memories, user rules, API keys, GitHub handles, repo paths, MCP config files, or file contents."
  },
  "audit_targets": [
    {
      "id": "instruction_scope",
      "label": "Instruction scope",
      "question": "Which rules became active AGENTS.md instructions, which became reference notes, and which were skipped?",
      "pass_condition": "Every source instruction has a target status and no session log is promoted to active instructions by accident."
    },
    {
      "id": "hook_parity",
      "label": "Hook parity",
      "question": "Which Claude Code hooks have no Codex-equivalent enforcement point?",
      "pass_condition": "Every hook is marked portable, instruction-only, needs wrapper, or unsupported."
    },
    {
      "id": "mcp_safety",
      "label": "MCP safety",
      "question": "Do MCP configs preserve env, keychain, or vault references instead of literal secret values?",
      "pass_condition": "No target MCP config contains raw API keys, tokens, private keys, local credential values, or pasted env output."
    },
    {
      "id": "agent_restrictions",
      "label": "Agent and skill restrictions",
      "question": "Which restrictions depend on Claude Code-specific metadata, tool allowlists, or lifecycle hooks?",
      "pass_condition": "Non-equivalent restrictions are recorded as validation notes before Codex edits code."
    },
    {
      "id": "rollback_proof",
      "label": "Rollback proof",
      "question": "Can the target Codex setup be restored after a bad merge-first write?",
      "pass_condition": "A target-side snapshot exists before the first write."
    }
  ],
  "recommended_sequence": [
    {
      "order": 1,
      "name": "Run the first-party Codex import flow",
      "outcome": "Create the initial Codex-side import and generated checklist."
    },
    {
      "order": 2,
      "name": "Run Bring Your AI preview locally",
      "command": "bringyour preview --from claude-code --to codex",
      "outcome": "Inspect supported moves and non-equivalent behavior without changing the source harness."
    },
    {
      "order": 3,
      "name": "Audit the imported target",
      "outcome": "Review instruction scope, hooks, MCP safety, agent restrictions, session artifacts, and rollback proof."
    },
    {
      "order": 4,
      "name": "Apply only after the audit passes",
      "command": "bringyour migrate --from claude-code --to codex --policy merge",
      "outcome": "Write target-side files with merge policy and validation notes."
    }
  ],
  "agent_readable_surfaces": {
    "openapi": "https://bringyour.ai/openapi.yaml",
    "agent_manifest": "https://bringyour.ai/.well-known/agent.json",
    "commerce_manifest": "https://bringyour.ai/.well-known/commerce.json",
    "catalog": "https://bringyour.ai/api/v1/catalog",
    "quote": "https://bringyour.ai/api/v1/quote",
    "checkout": "https://bringyour.ai/api/v1/checkout",
    "license_fulfillment": "https://bringyour.ai/api/v1/license"
  },
  "related_guides": {
    "claude_code_to_codex": "https://bringyour.ai/claude-code-to-codex.json",
    "codex_import_checklist": "https://bringyour.ai/codex-import-checklist.json",
    "claude_code_limit_fallback": "https://bringyour.ai/claude-code-limit-fallback.json",
    "mcp_config_migration": "https://bringyour.ai/mcp-config-migration.json",
    "claude_code_to_codex_tools": "https://bringyour.ai/claude-code-to-codex-tools.json",
    "agents_md_claude_md": "https://bringyour.ai/agents-md-claude-md.json"
  }
}
