[
  {
    "actor": "Classgap",
    "field": "duration",
    "code": "DOCUMENTED",
    "finding": "Student FAQ describes one-hour paid lessons.",
    "source_ids": [
      "CG-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Classgap",
    "field": "hourly_price",
    "code": "QUOTE_REQUIRED",
    "finding": "Set by teacher; no actual teacher quote or account collected.",
    "source_ids": [
      "CG-BOOK"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Classgap",
    "field": "fixed_access",
    "code": "AMBIGUOUS",
    "finding": "Platform remuneration described from teacher hourly rate; universal additional student access fee not established. Do not set unknown to zero.",
    "source_ids": [
      "CG-BOOK"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Classgap",
    "field": "commitment",
    "code": "DOCUMENTED",
    "finding": "Single lessons and packs5/10/20 documented; optional auto-renew pack separate.",
    "source_ids": [
      "CG-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Classgap",
    "field": "credit_validity",
    "code": "DOCUMENTED",
    "finding": "Pack5valid2months,10valid4months,20valid6months; unused lessons not caught up after expiry.",
    "source_ids": [
      "CG-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Classgap",
    "field": "cancel_or_reschedule",
    "code": "DOCUMENTED",
    "finding": "Cancel until8hours before; late/no-show may be charged. Timely cancellation not universal unconditional cash-refund guarantee.",
    "source_ids": [
      "CG-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Classgap",
    "field": "teacher_replacement",
    "code": "AMBIGUOUS",
    "finding": "Contact support if teacher availability changes; automatic replacement and credit transfer not established.",
    "source_ids": [
      "CG-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Classgap",
    "field": "renewal",
    "code": "DOCUMENTED",
    "finding": "Optional Save subscription renews when1or2lessons remain; cancellation leaves remaining lessons but stops renewal.",
    "source_ids": [
      "CG-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Classgap",
    "field": "tax_scope",
    "code": "AMBIGUOUS",
    "finding": "Exact tax treatment of the chosen teacher quote not established; no fiscal discount applied.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Classgap",
    "field": "complete_cost",
    "code": "QUOTE_REQUIRED",
    "finding": "Teacher/pack price and all checkout conditions needed; no complete market price simulated.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Superprof",
    "field": "duration",
    "code": "AMBIGUOUS",
    "finding": "Teacher chooses arrangement;60min fictional quote must be confirmed, not every announcement.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Superprof",
    "field": "hourly_price",
    "code": "QUOTE_REQUIRED",
    "finding": "Teacher-set quote; no actual teacher profile or price sampled.",
    "source_ids": [
      "SP-DIRECT"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Superprof",
    "field": "fixed_access",
    "code": "DOCUMENTED",
    "finding": "Pass39EUR/month for contacting teachers, distinct from lessons; no universally free first lesson assumed.",
    "source_ids": [
      "SP-TERMS-WEB",
      "SP-DIRECT"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Superprof",
    "field": "commitment",
    "code": "DOCUMENTED",
    "finding": "Pass cancellable; course agreement with teacher separately.",
    "source_ids": [
      "SP-TERMS-WEB"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Superprof",
    "field": "credit_validity",
    "code": "NOT_FOUND",
    "finding": "Course-credit validity not universal; determine teacher/payment terms.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Superprof",
    "field": "cancel_or_reschedule",
    "code": "NOT_FOUND",
    "finding": "No universal lesson-cancellation rule established by Pass conditions.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Superprof",
    "field": "teacher_replacement",
    "code": "DOCUMENTED",
    "finding": "Active Pass allows multiple teacher contacts; not a guarantee of replacement availability.",
    "source_ids": [
      "SP-TERMS-WEB"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Superprof",
    "field": "renewal",
    "code": "DOCUMENTED",
    "finding": "Pass automatic39EUR/30days; can cancel once teacher found, private payment permitted.",
    "source_ids": [
      "SP-DIRECT",
      "SP-TERMS-WEB"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Superprof",
    "field": "tax_scope",
    "code": "AMBIGUOUS",
    "finding": "Terms mention10percent platform management fees withPremiumexception; who bears fee and chosen checkout must be confirmed. Synthetic sums use explicitly private payment.",
    "source_ids": [
      "SP-TERMS-WEB"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Superprof",
    "field": "complete_cost",
    "code": "QUOTE_REQUIRED",
    "finding": "39EURaccess component known; chosenhourprice/duration/payment/absence terms needed.",
    "source_ids": [
      "SP-TERMS-WEB"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Les Sherpas",
    "field": "duration",
    "code": "DOCUMENTED",
    "finding": "Hourly regular online followup, minimum4hours/month on formula page.",
    "source_ids": [
      "SH-FORMULA"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Les Sherpas",
    "field": "hourly_price",
    "code": "AMBIGUOUS",
    "finding": "Teacher-facing help says family1.9×teacher rate online,20teacher=>38family example; formula price personalized, quotation required.",
    "source_ids": [
      "SH-RATE",
      "SH-FORMULA"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Les Sherpas",
    "field": "fixed_access",
    "code": "DOCUMENTED",
    "finding": "80EURannual for regular online/home followup, trial/matchingfree; not stages.",
    "source_ids": [
      "SH-FEE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Les Sherpas",
    "field": "commitment",
    "code": "DOCUMENTED",
    "finding": "Formula page regularfollowup3–12months, minimum4hours/month. Two isolated lessons not equivalent contract.",
    "source_ids": [
      "SH-FORMULA"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Les Sherpas",
    "field": "credit_validity",
    "code": "AMBIGUOUS",
    "finding": "Existing hours usable during month pause; complete expiry/report rules outside pause not established.",
    "source_ids": [
      "SH-PAUSE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Les Sherpas",
    "field": "cancel_or_reschedule",
    "code": "DOCUMENTED",
    "finding": "Teacher-facing help:lesson not cancelled/rescheduled24hours before is due.",
    "source_ids": [
      "SH-CANCEL"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Les Sherpas",
    "field": "teacher_replacement",
    "code": "DOCUMENTED",
    "finding": "Annual membership describes teacher change without extra charge; availability not independently tested.",
    "source_ids": [
      "SH-FEE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Les Sherpas",
    "field": "renewal",
    "code": "DOCUMENTED",
    "finding": "Annual access renews, disable in account; monthlongholidaypause twice/year extends term and cannot be shortened.",
    "source_ids": [
      "SH-FEE",
      "SH-PAUSE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Les Sherpas",
    "field": "tax_scope",
    "code": "AMBIGUOUS",
    "finding": "No50percenthomecredit applied to ordinaryvisio; exact tax label on actual family quote remains unknown.",
    "source_ids": [
      "SAP-SCOPE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Les Sherpas",
    "field": "complete_cost",
    "code": "QUOTE_REQUIRED",
    "finding": "Need actual familyhourprice,contract length andcreditrules; illustrative teacher20×1.9 is not quote.",
    "source_ids": [
      "SH-RATE",
      "SH-FORMULA"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Acadomia",
    "field": "duration",
    "code": "DOCUMENTED",
    "finding": "Individual online hourly lesson advertised.",
    "source_ids": [
      "AC-ONLINE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Acadomia",
    "field": "hourly_price",
    "code": "DOCUMENTED",
    "finding": "Starting41EUR/hour only, depends on level and chosen service; not fixed tariff for our scenario.",
    "source_ids": [
      "AC-ONLINE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Acadomia",
    "field": "fixed_access",
    "code": "AMBIGUOUS",
    "finding": "Cotisation article covers homeindividual and onlinecollective;14.90collective not projected onto individualvisio.",
    "source_ids": [
      "AC-FEE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Acadomia",
    "field": "commitment",
    "code": "DOCUMENTED",
    "finding": "Online page says individual and smallgroup lessons without duration commitment. Actual billing terms to confirm.",
    "source_ids": [
      "AC-ONLINE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Acadomia",
    "field": "credit_validity",
    "code": "NOT_FOUND",
    "finding": "Individualvisio credit expiry not established.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Acadomia",
    "field": "cancel_or_reschedule",
    "code": "NOT_FOUND",
    "finding": "Captured collective terms do not prove individualvisio cancellation deadline.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Acadomia",
    "field": "teacher_replacement",
    "code": "AMBIGUOUS",
    "finding": "Teacher assignment service advertised; exact replacementtime/fee not established.",
    "source_ids": [
      "AC-ONLINE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Acadomia",
    "field": "renewal",
    "code": "NOT_FOUND",
    "finding": "Individualvisio fixedfee/renewal procedure not established.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Acadomia",
    "field": "tax_scope",
    "code": "AMBIGUOUS",
    "finding": "Homecoursecredit not applied to individualvisio; prices not relabelledHT/TTC without explicit quote.",
    "source_ids": [
      "SAP-SCOPE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Acadomia",
    "field": "complete_cost",
    "code": "QUOTE_REQUIRED",
    "finding": "41EUR/hour floor is only an advertised component; additionalfees/conditions require quote.",
    "source_ids": [
      "AC-ONLINE",
      "AC-FEE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "GoStudent",
    "field": "duration",
    "code": "DOCUMENTED",
    "finding": "One video lesson50minutes, not60.",
    "source_ids": [
      "GS-TERMS"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "GoStudent",
    "field": "hourly_price",
    "code": "QUOTE_REQUIRED",
    "finding": "Contract package price/count/duration needed; no price inferred from teacher pay.",
    "source_ids": [
      "GS-TERMS"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "GoStudent",
    "field": "fixed_access",
    "code": "QUOTE_REQUIRED",
    "finding": "Complete fixed-access/extra charges require actual offered contract.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "GoStudent",
    "field": "commitment",
    "code": "DOCUMENTED",
    "finding": "Package over contractually specified term; monthly instalments do not establish monthly cancellation.",
    "source_ids": [
      "GS-TERMS"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "GoStudent",
    "field": "credit_validity",
    "code": "DOCUMENTED",
    "finding": "Monthly credits usable until next recharge, no carry past date; tutor illness/outside-user-control exception stated. Planned family absence not automatically exception.",
    "source_ids": [
      "GS-TERMS"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "GoStudent",
    "field": "cancel_or_reschedule",
    "code": "DOCUMENTED",
    "finding": "Request until60min before; accepted by tutor at least30min before ->free reschedule; tutor may agree otherrules. Late/noncompliant/no-show debits oneunit.",
    "source_ids": [
      "GS-TERMS"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "GoStudent",
    "field": "teacher_replacement",
    "code": "NOT_FOUND",
    "finding": "Complete replacement rights and response time not established in passages read.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "GoStudent",
    "field": "renewal",
    "code": "DOCUMENTED",
    "finding": "Terms describe renewal; objection by officialform or clearstatement no later7days before end, contract/version to confirm.",
    "source_ids": [
      "GS-TERMS"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "GoStudent",
    "field": "tax_scope",
    "code": "AMBIGUOUS",
    "finding": "No fiscal reduction applied to online lesson; actual price tax/fees unknown.",
    "source_ids": [
      "SAP-SCOPE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "GoStudent",
    "field": "complete_cost",
    "code": "QUOTE_REQUIRED",
    "finding": "50minnot equivalent; monthlycredits/expiry/contractprice needed.60minhourconversion not actualbookableunit.",
    "source_ids": [
      "GS-TERMS"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "VosCours",
    "field": "duration",
    "code": "DOCUMENTED",
    "finding": "FAQ generallyhourly but may50min or other; confirm teacher.",
    "source_ids": [
      "VC-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "VosCours",
    "field": "hourly_price",
    "code": "QUOTE_REQUIRED",
    "finding": "Teacher chooses price; not fixed by platform.",
    "source_ids": [
      "VC-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "VosCours",
    "field": "fixed_access",
    "code": "DOCUMENTED",
    "finding": "StudentPass19EUR/month for contacts, separate from lessons.",
    "source_ids": [
      "VC-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "VosCours",
    "field": "commitment",
    "code": "DOCUMENTED",
    "finding": "FAQ says contactPass no commitment, auto-renewal unless cancelled. Courseagreement separate.",
    "source_ids": [
      "VC-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "VosCours",
    "field": "credit_validity",
    "code": "NOT_FOUND",
    "finding": "Teacher-course credit validity not established universally.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "VosCours",
    "field": "cancel_or_reschedule",
    "code": "AMBIGUOUS",
    "finding": "FAQ gives both4and5days beforePassrenewal; not a lessoncancellation rule. Need exact contract confirmation.",
    "source_ids": [
      "VC-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "VosCours",
    "field": "teacher_replacement",
    "code": "DOCUMENTED",
    "finding": "Can contact another teacher whilePassactive or reactivate; not guaranteed teacheravailable.",
    "source_ids": [
      "VC-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "VosCours",
    "field": "renewal",
    "code": "DOCUMENTED",
    "finding": "StudentPass monthlyautomatic; separateteacherprogramme/Premiumrules not applied to pupil.",
    "source_ids": [
      "VC-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "VosCours",
    "field": "tax_scope",
    "code": "AMBIGUOUS",
    "finding": "No50percentcredit applied to ordinaryvisio; exact coursequotationtaxes unknown.",
    "source_ids": [
      "SAP-SCOPE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "VosCours",
    "field": "complete_cost",
    "code": "QUOTE_REQUIRED",
    "finding": "19EURcontactfee known;teacherhourprice/duration/absence conditions still needed.",
    "source_ids": [
      "VC-FAQ"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Cours Legendre",
    "field": "duration",
    "code": "AMBIGUOUS",
    "finding": "Individualonline course offered; exact60minduration not established.",
    "source_ids": [
      "CL-ONLINE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Cours Legendre",
    "field": "hourly_price",
    "code": "QUOTE_REQUIRED",
    "finding": "Personalized quote depends on level,matter,frequency,teacher.",
    "source_ids": [
      "CL-ONLINE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Cours Legendre",
    "field": "fixed_access",
    "code": "QUOTE_REQUIRED",
    "finding": "Exact setup/accesscharges require quote.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Cours Legendre",
    "field": "commitment",
    "code": "AMBIGUOUS",
    "finding": "Initial adviser discussionfree/no commitment; does not establish lessons contract without commitment.",
    "source_ids": [
      "CL-ONLINE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Cours Legendre",
    "field": "credit_validity",
    "code": "NOT_FOUND",
    "finding": "Purchasedhourvalidity not established.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Cours Legendre",
    "field": "cancel_or_reschedule",
    "code": "NOT_FOUND",
    "finding": "Onlineindividual notice/refund rules not established.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Cours Legendre",
    "field": "teacher_replacement",
    "code": "AMBIGUOUS",
    "finding": "Humanteacherselection advertised; exact replacementrights/deadline not established.",
    "source_ids": [
      "CL-ONLINE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Cours Legendre",
    "field": "renewal",
    "code": "NOT_FOUND",
    "finding": "Onlineindividual renewal procedure not established.",
    "source_ids": [],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Cours Legendre",
    "field": "tax_scope",
    "code": "DOCUMENTED",
    "finding": "Online page distinguishes ordinaryvisio not eligible for50percenthomecredit; officialSAPexcludesdistance in scope.",
    "source_ids": [
      "CL-ONLINE",
      "SAP-SCOPE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  },
  {
    "actor": "Cours Legendre",
    "field": "complete_cost",
    "code": "QUOTE_REQUIRED",
    "finding": "No complete comparable onlineindividual quote available in selected page.",
    "source_ids": [
      "CL-ONLINE"
    ],
    "read_on": "2026-11-08",
    "tested": false
  }
]
