{
  "_comment": "Canonical CONFIG_DEFAULTS for the Configuration Module. Nested shape is canonical. CJS flat projection (branching_strategy, sub_repos, etc.) is handled by consumers at the boundary. Security keys (security_enforcement, security_asvs_level, security_block_on) and post_planning_gaps live in workflow.* as their canonical location. resolve_model_ids, context_window, phase_naming are CJS-originated top-level keys included here. brave_search, firecrawl, exa_search default to false in the manifest; at runtime buildNewProjectConfig detects API keys. The plan_checker (CJS flat) → workflow.plan_check (canonical nested) divergence is resolved: canonical name is workflow.plan_check. _auto_chain_active is a runtime-state field included for completeness.",
  "model_profile": "balanced",
  "commit_docs": true,
  "parallelization": true,
  "search_gitignored": false,
  "brave_search": false,
  "firecrawl": false,
  "exa_search": false,
  "resolve_model_ids": false,
  "context_window": 200000,
  "phase_naming": "sequential",
  "project_code": null,
  "phase_id_convention": null,
  "domain": null,
  "mode": "interactive",
  "claude_md_path": "./.claude/CLAUDE.md",
  "git": {
    "branching_strategy": "none",
    "create_tag": true,
    "base_branch": null,
    "phase_branch_template": "ferrox/phase-{phase}-{slug}",
    "milestone_branch_template": "ferrox/{milestone}-{slug}",
    "quick_branch_template": null
  },
  "workflow": {
    "research": true,
    "plan_check": true,
    "verifier": true,
    "nyquist_validation": true,
    "ai_integration_phase": true,
    "human_verify_mode": "end-of-phase",
    "auto_advance": false,
    "_auto_chain_active": false,
    "node_repair": true,
    "node_repair_budget": 2,
    "ui_phase": true,
    "ui_safety_gate": true,
    "text_mode": false,
    "research_before_questions": false,
    "discuss_mode": "discuss",
    "skip_discuss": false,
    "max_discuss_passes": 3,
    "subagent_timeout": 300000,
    "context_coverage_gate": true,
    "code_review": true,
    "code_review_depth": "standard",
    "code_review_command": null,
    "pattern_mapper": true,
    "plan_bounce": false,
    "plan_bounce_script": null,
    "plan_bounce_passes": 2,
    "auto_prune_state": false,
    "post_planning_gaps": true,
    "security_enforcement": true,
    "security_asvs_level": 1,
    "security_block_on": "high",
    "context_guard_mode": "warn"
  },
  "planning": {
    "commit_docs": true,
    "search_gitignored": false,
    "sub_repos": [],
    "granularity": "standard"
  },
  "hooks": {
    "context_warnings": true,
    "workflow_guard": false
  },
  "ship": {
    "pr_body_sections": []
  },
  "graphify": {
    "auto_update": false
  },
  "agent_skills": {},
  "effort": {
    "default": "high",
    "routing_tier_defaults": {
      "light": "low",
      "standard": "high",
      "heavy": "xhigh"
    },
    "agent_overrides": {}
  },
  "fast_mode": {
    "enabled": false,
    "routing_tier_defaults": {
      "light": true,
      "standard": false,
      "heavy": false
    },
    "agent_overrides": {}
  },
  "plan_review": {
    "source_grounding": true,
    "source_grounding_authority": "grep"
  },
  "capabilities": {
    "strict_known_registries": null,
    "auto_update": false
  },
  "security": {
    "injection_blocking": false
  },
  "halting": {
    "rescope": {
      "max_attempts": 2
    },
    "human_sla_seconds": 86400,
    "ship_clock_seconds": 86400,
    "gates": {}
  },
  "coordination": {
    "hot_seams": [
      "package-lock.json",
      "**/package-lock.json",
      "yarn.lock",
      "pnpm-lock.yaml",
      "**/*.lock",
      "**/migrations/**",
      "src/installer-migrations/**",
      "**/*.schema.json",
      "**/prisma/schema.prisma",
      "**/*.prisma",
      "**/schema.sql",
      "**/schema.graphql",
      "**/schema.rb",
      "ferrox-core/bin/shared/*.manifest.json",
      "**/di-registry.*",
      "**/generated/**",
      "**/*.codegen.*",
      ".planning/rescope-state.json",
      ".planning/human-sla-park.json",
      ".planning/halting-log.jsonl",
      ".planning/coord/**"
    ],
    "shared_state_paths": [
      "**/STATE.md",
      ".planning/STATE.md",
      "**/ROADMAP.md",
      ".planning/ROADMAP.md",
      "**/BACKLOG.md",
      ".planning/BACKLOG.md"
    ],
    "migration_store": ".planning/coord/migration-seq.json"
  },
  "strength": {
    "medium_cluster_threshold": 3,
    "security_age_limit_days": 7,
    "receipt_store": ".planning/strength/receipts.json",
    "coverage_store": ".planning/strength/coverage-baseline.json",
    "requirements_path": ".planning/REQUIREMENTS.md",
    "findings_store": ".planning/strength/findings.json",
    "backlog_path": ".planning/BACKLOG.md",
    "security_categories": [
      "security",
      "auth",
      "crypto",
      "injection",
      "secrets",
      "deserialization"
    ],
    "cross_audit_max_phases": 5
  },
  "model": {
    "stage_tiers": {
      "discuss": "frontier",
      "plan": "frontier",
      "verify": "frontier",
      "wave-audit": "frontier",
      "audit": "frontier",
      "judgment": "frontier",
      "execute": "mid",
      "build": "mid",
      "grunt": "small"
    },
    "default_tier": "mid",
    "tier_order": ["small", "mid", "frontier"],
    "max_escalations": 1,
    "risk_boundaries": [
      "auth",
      "crypto",
      "payments",
      "pii",
      "deserialization",
      "network-file"
    ],
    "trident_checkpoints": ["plan-lock-gap-audit", "high-risk-wave-audit"],
    "rtk": {
      "enabled": true
    },
    "provider": {
      "type": "",
      "base_url": "",
      "key_env": "FERROX_MODEL_KEY"
    },
    "audit_panel": {
      "flux_models": []
    },
    "anvil_executor": {
      "enabled": false,
      "anvil_path": "",
      "budget": 12
    }
  },
  "memory": {
    "fact_store": ".planning/graphs/memory-facts.json",
    "recall_limit": 50
  }
}
