[{'Text': '\nGBS INSTRUCTIONS\n================\n\nCall this tool FIRST whenever you start working with GBS data.\nIt contains pipeline templates, live state, data model, and rules.\n\nAvailable tools: read_gbs (raw queries), add_statistic (insert data), create_source (link origins)\n\nAlways provide the admin URL after adding a statistic:\n  https://pt-research-app.vercel.app/operators/{operator_id}/statistics\n\nCurrent period: 2026Q1  |  Previous: 2025Q4  |  Tariffs: 2026Q2\n\nKey people:\n  veronica.speiser@point-topic.com — 177 recs since May (UK ops)\n  aliciamenendezbuick@gmail.com    — 56 recs (global sweep)\n  gbs-agent                        — automated\n\nCOLLECTION FIELDS:\n\nStatistics:\n  operatorId (ObjectId), period (YYYYQN), type (broadband|mobile|iptv),\n  tech (free text), channel (Infrastructure|Retail),\n  domain (Residential|Business|Total), subscribers (int),\n  state (1=pending, 2=approved, 3=published), createdBy (email)\n\nOperator:\n  name (string), country (string), technologies (string[]), isArchived (bool)\n\nGlobalVariables:\n  currentStatsPeriod (string), currentTariffsPeriod (string)\n\nPIPELINE TEMPLATES:\n\n0. Resolve current period:\n  [{"$match": {"isCurrent": true}}, {"$project": {"currentStatsPeriod": 1}}]\n\n1. Country coverage (replaces old get_status):\n  [{"$match": {"country": "United Kingdom", "isArchived": {"$ne": true}}},\n   {"$lookup": {"from": "Statistics", "let": {"oid": "$_id"},\n     "pipeline": [{"$match": {"$expr": {"$eq": ["$operatorId", "$$oid"]}}},\n       {"$match": {"period": "2026Q1", "type": "broadband"}}],\n     "as": "stats"}},\n   {"$addFields": {"statCount": {"$size": "$stats"}}},\n   {"$project": {"name": 1, "statCount": 1}}, {"$sort": {"statCount": -1}}]\n\n2. Operator drill-down (get OID first from Operator by name):\n  [{"$match": {"operatorId": {"$oid": "<OID>"}, "period": "2026Q1"}},\n   {"$project": {"tech": 1, "channel": 1, "domain": 1, "subscribers": 1, "state": 1}}]\n\n3. Gap analysis — techs from previous period missing in current:\n  [{"$match": {"operatorId": {"$oid": "<OID>"}, "period": "2025Q4"}},\n   {"$group": {"_id": null, "techs": {"$addToSet": "$tech"}}}]\n\n4. Recent activity:\n  [{"$match": {"type": "broadband", "createdAt": {"$gte": {"$date": "<DATE>"}}}},\n   {"$group": {"_id": "$createdBy", "count": {"$sum": 1}}}]\n\n5. Period progress (all operators with data in current period):\n  [{"$match": {"period": "2026Q1", "type": "broadband", "is_archived": {"$ne": true}}},\n   {"$group": {"_id": "$operator", "count": {"$sum": 1},\n     "techs": {"$addToSet": "$tech"}, "states": {"$addToSet": "$state"}}},\n   {"$sort": {"count": -1}}]\n\n6. Countries with data this quarter:\n  [{"$match": {"period": "2026Q1", "type": "broadband"}},\n   {"$group": {"_id": "$country", "count": {"$sum": 1}}},\n   {"$sort": {"count": -1}}]\n\n7. EJSON syntax: ObjectId={"$oid": "..."}, Date={"$date": "..."}\n\n8. Full operator history (all periods, compact):\n  [{"$match": {"name": "<NAME>", "country": "<COUNTRY>"}},\n   {"$lookup": {"from": "Statistics", "let": {"oid": "$_id"},\n     "pipeline": [{"$match": {"$expr": {"$eq": ["$operatorId", "$$oid"]}}},\n       {"$group": {"_id": "$period", "count": {"$sum": 1},\n         "techs": {"$addToSet": "$tech"}}}, {"$sort": {"_id": -1}}],\n     "as": "period_summary"}}]\n\nBT FAMILY:\n  BT Group (662ff7a3f9d5751ffbf300f6) — 4 active techs, only 1 record in 2026Q1\n  BT Wholesale Business — separate operator, fully entered\n\nRULES:\n- Never guess subscriber numbers — tool can only report what\'s entered\n- Use $lookup/$in not N+1 calls (each mongosh spawn = ~200ms)\n- Always check previous complete period for carry-forward gaps\n'}]