[{'Text': '\ndef get_dataset_summary():\n    """This will be visible to the agent at all times, so keep it short, but let the agent know if the dataset can answer the question of the user."""\n    return """\n    UK broadband infrastructure availability data at postcode level. \n    Monthly snapshots showing operator footprint and premises coverage (not subscriber numbers). \n    Also contains the whole UK at postcode granularity, with geographic and demographic data.\n    """\n\n\ndef get_db_info():\n    return f"""\n    {DB_INFO}\n\n    {DB_SCHEMA}\n\n    {SQL_EXAMPLES}\n    """\n\nDB_INFO = """\nUPC = unit post code. All UPC tables at postcode granularity, monthly snapshots.\nreported_at field: first day of each month.\n\nCRITICAL DISTINCTIONS:\n- Footprint/premises passed ≠ market share (footprint = availability, market share = paying subscribers)\n- This is AVAILABILITY data, not subscriber counts\n\nSANITY CHECK VALUES:\n- UK premises: ~33M | households: ~30M | population: ~67M\n- Always verify totals against these values\n\nOPERATOR DEFINITIONS:\n- Virgin Media ISPs: \'Virgin Media RFOG\', \'Virgin Cable\' (NOT altnet)\n- \'nexfibre Virgin Media\': considered altnet in our systems\n- CityFibre variants: \'CityFibre Vodafone\', \'CityFibre TalkTalk\', etc. (wholesale relationships)\n- Use get_distinct_value_list(\'upc\',\'operator\') to see full operator list\n\nALTNET FILTERING:\nExclude: BT, Sky, TalkTalk, Vodafone, Virgin Cable, Virgin Media RFOG, KCOM Lightstream\nExample: where operator not in (\'BT\',\'Sky\',\'TalkTalk\',\'Vodafone\',\'Virgin Cable\',\'Virgin Media RFOG\') and operator not like \'%nexfibre%\'\n\nCRITICAL: CITYFIBRE CANONICALIZATION\nCityFibre appears as multiple variants due to wholesale relationships.\nMUST canonicalize before counting distinct operators or calculating overbuild:\n  case when operator like \'%CityFibre%\' then \'CityFibre\' else operator end\n\nWRONG: count(distinct operator) where operator not in (...)\nRIGHT: use canonicalized operator_canonical THEN count distinct\n\nCRITICAL: MARKET SHARE CALCULATIONS\nfact_operator is unique per (postcode, operator, tech, reported_at).\nJoining to upc_output creates duplicates when operators have multiple techs in same postcode.\n\nRULES:\n1. Individual operator footprint: distinct postcodes from fact_operator joined to upc_output\n2. Total UK premises: SUM(premises) FROM upc_output directly (NEVER derive from fact_operator joins)\n3. For homes passed by operator: use households metric from upc_output\n\nCRITICAL: TIME SERIES VS NON-TIME-SERIES\nCheck latest dates with get_dataset_status() tool.\n'}]