{
 "_comment": "Edit weights here to re-prioritise. They must sum to 1.0. Every score in database.csv is recomputed from these on the next run.",
 "weights": {
  "prof": 0.15,
  "cost": 0.1,
  "aov": 0.13,
  "dem": 0.12,
  "und": 0.12,
  "prf": 0.07,
  "rch": 0.11,
  "wom": 0.09,
  "sba": 0.05,
  "inv": 0.06
 },
 "labels": {
  "prof": "Near-Term Profitability",
  "cost": "Low Upfront Cost",
  "aov": "Average Order Value",
  "dem": "Demand Size & Growth",
  "und": "Underservice / Whitespace",
  "prf": "Social Proof of Pain",
  "rch": "Paid-Ads Reachability",
  "wom": "Word-of-Mouth / Referral Engine",
  "sba": "Subscription Attach Potential",
  "inv": "Cheap Invalidation Speed"
 },
 "risk_penalty_per_point": 3.5,
 "_goal_note": "Restructured 15 Aug 2026. The end goal is a business with paying repeat customers, not a database. Primary targets measure testing; supporting targets measure the candidate supply that feeds it. Candidates are near-free to produce, so keep generating - just never treat bench size as the finish line.",
 "primary_targets": {
  "_comment": "These decide whether the project is succeeding.",
  "candidates_through_stage1_signal_test": 8,
  "candidates_through_stage2_demand_test": 3,
  "businesses_with_a_paying_customer": 1,
  "businesses_with_a_REPEAT_customer": 1,
  "max_spend_to_get_there_usd": 3000
 },
 "supporting_targets": {
  "_comment": "Bench supply. Cheap to produce and worth having deep, because several tests will fail and you want the next candidate already screened. Not a finish line.",
  "test_ready_candidates_on_bench": 8,
  "database_size": 1000,
  "verified_pct_tier1_plus": 88,
  "tier2_minimum_count": 300,
  "tier3_minimum_count": 60,
  "_tier3_blocked": "Tier 3 requires live CPC data and no source is available. Stage 1 signal tests will produce real CPC figures as a side effect - feed those back in and Tier 3 unblocks itself."
 },
 "targets": {
  "database_size": 1000,
  "verified_pct_tier1_plus": 88,
  "tier2_minimum_count": 300,
  "tier3_minimum_count": 60
 },
 "operator_constraints": {
  "capital_usd": 5000,
  "can_do_in_house": [
   "web design",
   "marketing collateral",
   "paid ads"
  ],
  "cannot_do_in_house": [
   "licensed professional services",
   "field/domain expertise"
  ],
  "window_days": 30,
  "prefers": "buyers reachable by search intent with structural repeat-referral behaviour"
 },
 "test_progress": {
  "_comment": "Update as tests run. These drive the status page.",
  "stage1_done": 0,
  "stage2_done": 0,
  "paying": 0,
  "repeat": 0,
  "spent": 0,
  "ftc_enforcement_checked": true,
  "ftc_enforcement_result": "Checked 26 Aug 2026: not enforced against small firms. No FTC Safeguards Rule count since June 2023; IRS WISP check is a self-attestation box; IRS Pub 5708 gives the WISP away. Row killed."
 }
}
