// ============================================================
// alderan-dashboard.data.example.json
//
// JSONC — JSON with comments. Strip comments (`//` and `/* */`)
// before strict parsing. Every field name matches the Supabase
// column / view it maps to, so CB can grep this file directly.
//
// Sources:
//   Supabase     — structured database (alderanam_* tables, v_* views)
//   SharePoint   — filed documents at /sites/GCCPAlderanAM/Shared Documents/
//   GAP          — no source today; CB to design table/feed
//
// Placeholder data shape is realistic but figures are not real —
// LP-facing surfaces render verification badges (ai_draft | verified
// | disputed) on every lease-derived figure.
//
// Authored: 19 May 2026 · v0.1.0
// ============================================================
{

  // ----------------------------------------------------------
  // META — app state, not data
  // ----------------------------------------------------------
  "meta": {
    "period": "2026-Q1",                    // app-derived from URL or default
    "generated": "2026-05-19T09:00:00Z",
    "view": "internal",                     // "internal" | "lp"
    "version": "0.1.0",
    "verification": {                       // counts from alderanam_leases.verification_status
      "ai_draft": 81,
      "verified": 0,
      "disputed": 0
    },
    "audience": {
      "default": "internal",                // GCCP devices
      "lp_via": "cloudflare_access"         // Alderan committee access
    }
  },

  // ----------------------------------------------------------
  // PORTFOLIO — § 01 + § 02 top-line
  // SOURCE: v_portfolio_summary (single row) + v_rental_income aggregate
  // ----------------------------------------------------------
  "portfolio": {
    "aum": {                                // GAP — headline carrier is CMT_AnnualReview xlsx
      "gbp": null,                          // not yet parsed into Supabase
      "eur": 150000000                      // placeholder · per Annual Review headline
    },
    "passingRent": {                        // v_rental_income aggregate
      "gbp": 9853690,
      "eur": 0                              // IRL not seeded (IRE-Pavilions 13 units null rent_pa)
    },
    "noi": {                                // GAP — needs opex + bridge
      "gbp": null,
      "eur": null
    },
    "occupancy": {                          // v_portfolio_summary
      "occupied": 53,
      "vacant": 2,
      "unknown": 26,                        // all 26 are IRE-Grattan
      "total": 81
    },
    "wault": {                              // v_portfolio_summary
      "toExpiry": 9.71,                     // years — computed off 35/81 leases with rent + expiry populated
      "toBreak": 8.82
    },
    "mix": {                                // computed at app layer from alderanam_assets
      "bySector": [                         // placeholder until valuations seeded
        { "sector": "office",            "gavSharePct": 42 },
        { "sector": "retail_leisure",    "gavSharePct": 24 },
        { "sector": "mixed",             "gavSharePct": 15 },
        { "sector": "hotel",             "gavSharePct": 10 },
        { "sector": "residential",       "gavSharePct":  9 }
      ],
      "byJurisdiction": [
        { "jurisdiction": "EW",  "gavSharePct": 62 },
        { "jurisdiction": "SCT", "gavSharePct": 19 },
        { "jurisdiction": "IRL", "gavSharePct": 19 }
      ],
      "byFund": [
        { "fund": "CMT", "assetCount": 15 },
        { "fund": "AVM", "assetCount":  1 }
      ]
    }
  },

  // ----------------------------------------------------------
  // ASSETS — § 03
  // SOURCE: alderanam_assets + v_vacancy + v_rental_income + v_wault_by_asset
  // 16 rows total · 15 CMT + 1 AVM
  // ----------------------------------------------------------
  "assets": [
    {
      "code": "ABD-Bankhead",
      "name": "Bankhead Drive, Aberdeen",
      "address": "Bankhead Drive, City South Business Park, Portlethen, Aberdeen",
      "postcode": "AB12 4XX",
      "fund": "CMT",                         // CMT | AVM
      "jurisdiction": "SCT",                 // EW | SCT | IRL
      "propertyType": "office",              // office | retail | leisure_fb | mixed | retail_leisure | hotel | industrial | residential
      "acquisitionDate": null,
      "status": "active",
      "yearRefurbished": null,
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 1, "occupied": 1, "vacant": 0, "unknown": 0, "voidRatePct": 0 },
      "wault": { "toExpiry": null, "toBreak": null },
      "rentalIncome": { "currency": "GBP", "totalRentPa": 1741666, "avgPerUnit": 1741666 },
      "topTenant": "KCA Deutag Drilling Limited",
      "valuation": null                      // GAP — alderanam_valuations not designed
    },
    {
      "code": "NCL-Malmaison",
      "name": "Malmaison Newcastle",
      "address": "104 Quayside, Newcastle upon Tyne",
      "postcode": "NE1 3DX",
      "fund": "CMT",
      "jurisdiction": "EW",
      "propertyType": "hotel",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 1, "occupied": 1, "vacant": 0, "unknown": 0, "voidRatePct": 0 },
      "wault": { "toExpiry": 14.2, "toBreak": 14.2 },
      "rentalIncome": { "currency": "GBP", "totalRentPa": 985000, "avgPerUnit": 985000 },
      "topTenant": "Malmaison Hotels Limited",
      "valuation": null
    },
    {
      "code": "LON-Wembley",
      "name": "Wembley Retail Park",
      "address": "Wembley, London",
      "postcode": "HA9 0JG",
      "fund": "CMT",
      "jurisdiction": "EW",
      "propertyType": "retail",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 3, "occupied": 3, "vacant": 0, "unknown": 0, "voidRatePct": 0 },
      "wault": { "toExpiry": 7.8, "toBreak": 6.4 },
      "rentalIncome": { "currency": "GBP", "totalRentPa": 1160000, "avgPerUnit": 386667 },
      "topTenant": "Pure Gym Limited",
      "valuation": null
    },
    {
      "code": "LON-GoodmansFields",
      "name": "Goodman's Fields",
      "address": "Aldgate, London",
      "postcode": "E1 8FB",
      "fund": "CMT",
      "jurisdiction": "EW",
      "propertyType": "mixed",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 6, "occupied": 5, "vacant": 1, "unknown": 0, "voidRatePct": 16.7 },
      "wault": { "toExpiry": 5.4, "toBreak": 4.1 },
      "rentalIncome": { "currency": "GBP", "totalRentPa": 875000, "avgPerUnit": 145833 },
      "topTenant": "Multi-let · 6 tenants",
      "valuation": null
    },
    {
      "code": "LON-WhiteHouse",
      "name": "White House, Clerkenwell",
      "address": "Clerkenwell, London",
      "postcode": "EC1V 3QU",
      "fund": "CMT",
      "jurisdiction": "EW",
      "propertyType": "office",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 3, "occupied": 2, "vacant": 1, "unknown": 0, "voidRatePct": 33.3 },
      "wault": { "toExpiry": 4.2, "toBreak": 0.0 },     // Avicena Tech break 26.05.2026
      "rentalIncome": { "currency": "GBP", "totalRentPa": 925000, "avgPerUnit": 308333 },
      "topTenant": "Avicena Tech Limited",
      "valuation": null
    },
    {
      "code": "LON-Holborn",
      "name": "High Holborn",
      "address": "Holborn, London",
      "postcode": "WC1V 6HG",
      "fund": "CMT",
      "jurisdiction": "EW",
      "propertyType": "office",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 2, "occupied": 2, "vacant": 0, "unknown": 0, "voidRatePct": 0 },
      "wault": { "toExpiry": 9.1, "toBreak": 7.8 },
      "rentalIncome": { "currency": "GBP", "totalRentPa": 780000, "avgPerUnit": 390000 },
      "topTenant": "Bayard Partners LLP",
      "valuation": null
    },
    {
      "code": "LDS-Headrow",
      "name": "The Headrow, Leeds",
      "address": "Headrow, Leeds",
      "postcode": "LS1 8EQ",
      "fund": "CMT",
      "jurisdiction": "EW",
      "propertyType": "office",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 1, "occupied": 1, "vacant": 0, "unknown": 0, "voidRatePct": 0 },
      "wault": { "toExpiry": 11.5, "toBreak": 11.5 },
      "rentalIncome": { "currency": "GBP", "totalRentPa": 648000, "avgPerUnit": 648000 },
      "topTenant": "Trinity Mirror plc",
      "valuation": null
    },
    {
      "code": "MAN-Deansgate",
      "name": "Deansgate Square",
      "address": "Deansgate, Manchester",
      "postcode": "M3 4LZ",
      "fund": "CMT",
      "jurisdiction": "EW",
      "propertyType": "mixed",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 4, "occupied": 3, "vacant": 1, "unknown": 0, "voidRatePct": 25 },
      "wault": { "toExpiry": 6.7, "toBreak": 5.2 },
      "rentalIncome": { "currency": "GBP", "totalRentPa": 512000, "avgPerUnit": 128000 },
      "topTenant": "Multi-let · 4 tenants",
      "valuation": null
    },
    {
      "code": "BHM-Colmore",
      "name": "Colmore Row",
      "address": "Colmore Row, Birmingham",
      "postcode": "B3 2BJ",
      "fund": "CMT",
      "jurisdiction": "EW",
      "propertyType": "office",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 1, "occupied": 1, "vacant": 0, "unknown": 0, "voidRatePct": 0 },
      "wault": { "toExpiry": 8.9, "toBreak": 8.9 },
      "rentalIncome": { "currency": "GBP", "totalRentPa": 452000, "avgPerUnit": 452000 },
      "topTenant": "Hill Dickinson LLP",
      "valuation": null
    },
    {
      "code": "CDF-ChurchSt",
      "name": "Church Street, Cardiff",
      "address": "Church Street, Cardiff",
      "postcode": "CF10 1BG",
      "fund": "CMT",
      "jurisdiction": "EW",
      "propertyType": "retail_leisure",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 7, "occupied": 6, "vacant": 1, "unknown": 0, "voidRatePct": 14.3 },
      "wault": { "toExpiry": 4.8, "toBreak": 3.2 },
      "rentalIncome": { "currency": "GBP", "totalRentPa": 684000, "avgPerUnit": 97714 },
      "topTenant": "Multi-let · 7 units",
      "valuation": null
    },
    {
      "code": "CDF-FairfaxHouse",
      "name": "Fairfax House, Cardiff",
      "address": "Fairfax House, Cardiff",
      "postcode": "CF10 1FX",
      "fund": "CMT",
      "jurisdiction": "EW",
      "propertyType": "leisure_fb",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 4, "occupied": 4, "vacant": 0, "unknown": 0, "voidRatePct": 0 },
      "wault": { "toExpiry": 12.1, "toBreak": 10.5 },
      "rentalIncome": { "currency": "GBP", "totalRentPa": 612000, "avgPerUnit": 153000 },
      "topTenant": "Fat Hippo Holdings Limited",
      "valuation": null
    },
    {
      "code": "KNT-Lympne",
      "name": "Lympne Park",
      "address": "Lympne, Kent",
      "postcode": "CT21 4PD",
      "fund": "CMT",
      "jurisdiction": "EW",
      "propertyType": "mixed",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 2, "occupied": 2, "vacant": 0, "unknown": 0, "voidRatePct": 0 },
      "wault": { "toExpiry": 7.2, "toBreak": 7.2 },
      "rentalIncome": { "currency": "GBP", "totalRentPa": 405000, "avgPerUnit": 202500 },
      "topTenant": "Port Lympne Wildlife Trust",
      "valuation": null
    },
    {
      "code": "BRS-Quay",
      "name": "Bristol Quay",
      "address": "Harbourside, Bristol",
      "postcode": "BS1 5AN",
      "fund": "CMT",
      "jurisdiction": "EW",
      "propertyType": "office",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 1, "occupied": 1, "vacant": 0, "unknown": 0, "voidRatePct": 0 },
      "wault": { "toExpiry": 10.4, "toBreak": 9.1 },
      "rentalIncome": { "currency": "GBP", "totalRentPa": 368000, "avgPerUnit": 368000 },
      "topTenant": "OVO Group Limited",
      "valuation": null
    },
    {
      "code": "NOT-Castle",
      "name": "Castle Gate, Nottingham",
      "address": "Castle Gate, Nottingham",
      "postcode": "NG1 6AF",
      "fund": "CMT",
      "jurisdiction": "EW",
      "propertyType": "retail",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 4, "occupied": 3, "vacant": 1, "unknown": 0, "voidRatePct": 25 },
      "wault": { "toExpiry": 3.9, "toBreak": 2.4 },
      "rentalIncome": { "currency": "GBP", "totalRentPa": 302000, "avgPerUnit": 75500 },
      "topTenant": "Multi-let · 3 units",
      "valuation": null
    },
    {
      "code": "IRE-Pavilions",
      "name": "The Pavilions, Swords",
      "address": "Swords, Co. Dublin",
      "postcode": null,
      "fund": "CMT",                         // Supabase seed authoritative · old governance JSON wrong
      "jurisdiction": "IRL",
      "propertyType": "mixed",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 13, "occupied": 0, "vacant": 0, "unknown": 13, "voidRatePct": null },
      "wault": { "toExpiry": null, "toBreak": null },
      "rentalIncome": { "currency": "EUR", "totalRentPa": 0, "avgPerUnit": null },    // 13 units null rent_pa
      "topTenant": "13 units · not seeded",
      "valuation": null
    },
    {
      "code": "IRE-Grattan",
      "name": "Grattan Quarter, Dublin 2",
      "address": "Grattan Quarter, Dublin 2",
      "postcode": null,
      "fund": "AVM",                         // Activimmo sleeve · sole asset
      "jurisdiction": "IRL",
      "propertyType": "residential",
      "status": "active",
      "greenCert": { "scheme": null, "rating": null, "expiry": null },
      "vacancy": { "totalUnits": 26, "occupied": 0, "vacant": 0, "unknown": 26, "voidRatePct": null },
      "wault": { "toExpiry": null, "toBreak": null },
      "rentalIncome": { "currency": "EUR", "totalRentPa": null, "avgPerUnit": null },
      "topTenant": "26 units · all unknown",
      "valuation": null
    }
  ],

  // ----------------------------------------------------------
  // TENANTS — § 04
  // SOURCE: alderanam_tenants
  // (Top-10 by passing rent shown · full register would be larger)
  // ----------------------------------------------------------
  "tenants": [
    { "name": "KCA Deutag Drilling Limited",     "tradingName": "KCA Deutag",          "sector": "Office · Oilfield Services", "companyRegNumber": null },
    { "name": "Malmaison Hotels Limited",        "tradingName": "Malmaison",           "sector": "Hotel",                       "companyRegNumber": null },
    { "name": "Pure Gym Limited",                "tradingName": "Pure Gym",            "sector": "Retail · Leisure",            "companyRegNumber": "06690189" },
    { "name": "Trinity Mirror plc",              "tradingName": "Reach plc",           "sector": "Office · Media",              "companyRegNumber": "00082548" },
    { "name": "Avicena Tech Limited",            "tradingName": "Avicena Tech",        "sector": "Office · Technology",         "companyRegNumber": null },
    { "name": "Hill Dickinson LLP",              "tradingName": "Hill Dickinson",      "sector": "Office · Legal",              "companyRegNumber": null },
    { "name": "OVO Group Limited",               "tradingName": "OVO Energy",          "sector": "Office · Energy",             "companyRegNumber": "06845408" },
    { "name": "Bayard Partners LLP",             "tradingName": "Bayard Partners",     "sector": "Office · Legal",              "companyRegNumber": null },
    { "name": "Port Lympne Wildlife Trust",      "tradingName": "Port Lympne",         "sector": "Mixed · Charity",             "companyRegNumber": null },
    { "name": "Fat Hippo Holdings Limited",      "tradingName": "Fat Hippo",           "sector": "Leisure F&B",                 "companyRegNumber": null }
  ],

  // ----------------------------------------------------------
  // LEASES — § 04 + § 03 drilldown
  // SOURCE: alderanam_leases · LS1 schema · 13 structured fields
  // (Example shape — full estate is 81 leases)
  // Source markdown abstracts: 02_Comete/[Asset]/02_Tenancy/01_Lease/[Asset]_[Tenant]_LS1_DRAFT.md
  // ----------------------------------------------------------
  "leases": [
    {
      "assetCode": "ABD-Bankhead",
      "tenantName": "KCA Deutag Drilling Limited",
      "demise": "Whole · Bankhead Drive, City South Business Park, Portlethen, Aberdeen AB12 4XX",
      "leaseStart": "2016-06-24",
      "leaseEnd": null,                      // awaits verification
      "rentPa": 1741666,
      "rentFrequency": "quarterly",          // monthly | quarterly | annual
      "breakDates": [],
      "reviewDates": [],
      "currency": "GBP",
      "ervPa": null,                         // populated by /lease-comps skill — coverage partial
      "epcBerRating": null,
      "epcBerExpiry": null,
      "managementCompanySharePercent": null,
      "verificationStatus": "ai_draft",      // ai_draft | verified | disputed
      "status": "occupied",                  // occupied | vacant | unknown
      "sourcePdf": "sharepoint://sites/GCCPAlderanAM/Shared Documents/02_Comete/ABD-Bankhead/02_Tenancy/01_Lease/",
      "notes": "Single-let. Anchor covenant. Q2 verification scheduled."
    },
    {
      "assetCode": "LON-WhiteHouse",
      "tenantName": "Avicena Tech Limited",
      "demise": "Unit 4 · White House, Clerkenwell, London EC1V",
      "leaseStart": "2021-05-26",
      "leaseEnd": "2031-05-26",
      "rentPa": 420000,
      "rentFrequency": "quarterly",
      "breakDates": ["2026-05-26"],           // LIVE — exercised window 7 days
      "reviewDates": ["2026-05-26"],
      "currency": "GBP",
      "ervPa": null,
      "epcBerRating": "C",
      "epcBerExpiry": "2031-12-31",
      "managementCompanySharePercent": null,
      "verificationStatus": "ai_draft",
      "status": "occupied",
      "sourcePdf": "sharepoint://.../02_Comete/LON-WhiteHouse/02_Tenancy/Unit 4 (Avicena Tech)/01_Lease/",
      "notes": "Break exercise window active. Retention in flight."
    }
    // ...79 more leases populate from alderanam_leases
  ],

  // ----------------------------------------------------------
  // FINANCIAL — § 05
  // ----------------------------------------------------------
  "financial": {
    "income": [
      // v_rental_income · per-asset · per-currency · already aggregated above in portfolio.passingRent
    ],
    "opex": [],                              // GAP — template at gccp-agentic-os/schemas/expense_register.json
    "noiBridge": [],                         // GAP — computed once opex captured
    "arrears": [
      // Filed snapshots only — no live feed today
      // SOURCE: 02_Comete/NCL-Malmaison/02_Tenancy/02_Financials/ArrearsLetter_2025-06-13...pdf
      // SOURCE: 02_Comete/CDF-ChurchSt/_triage/ArrearsLetter_2025-07-18*.pdf
      { "bucket": "current", "amount": 24500,  "currency": "GBP", "tenancyCount": 0, "sourceType": "snapshot" },
      { "bucket": "30",      "amount": 18200,  "currency": "GBP", "tenancyCount": 2, "sourceType": "snapshot" },
      { "bucket": "60",      "amount": 42800,  "currency": "GBP", "tenancyCount": 1, "sourceType": "snapshot" },
      { "bucket": "90plus",  "amount": 68400,  "currency": "GBP", "tenancyCount": 2, "sourceType": "snapshot" }
    ],
    "serviceCharge": [
      // SOURCE: 02_Comete/CDF-ChurchSt/01_Property/04_Service Charge/ (only complete actuals-vs-budget trail in corpus)
      { "assetCode": "CDF-ChurchSt", "year": "YE22", "budget": 218400, "actual": 231200, "variancePct":  5.9, "currency": "GBP" },
      { "assetCode": "CDF-ChurchSt", "year": "YE23", "budget": 235800, "actual": 241500, "variancePct":  2.4, "currency": "GBP" },
      { "assetCode": "CDF-ChurchSt", "year": "YE26", "budget": 268000, "actual": null,   "variancePct": null, "currency": "GBP" },
      { "assetCode": "CDF-ChurchSt", "year": "YE27", "budget": 284000, "actual": null,   "variancePct": null, "currency": "GBP" }
    ]
  },

  // ----------------------------------------------------------
  // VALUATIONS — § 06
  // SOURCE: GAP — alderanam_valuations table to be designed
  // Suggested cols: asset_id · val_date · valuer · methodology · value_gbp · value_eur
  // ----------------------------------------------------------
  "valuations": [
    // Placeholder shape — figures realistic but not real
    // {
    //   "assetCode": "ABD-Bankhead",
    //   "valDate": "2026-03-31",
    //   "valuer": "[placeholder]",
    //   "methodology": "investment_method",
    //   "valueGbp": 28500000,
    //   "valueEur": null,
    //   "verificationStatus": "ai_draft"
    // }
  ],

  // ----------------------------------------------------------
  // CAPEX — § 07
  // SOURCE: GAP — alderanam_capex table to be designed
  // ----------------------------------------------------------
  "capex": [
    // Placeholder shape:
    // {
    //   "projectId": "CAP-2026-001",
    //   "assetCode": "ABD-Bankhead",
    //   "projectName": "Reception refit",
    //   "phase": "2 of 3",
    //   "budget": 420000,
    //   "spentToDate": 218000,
    //   "forecast": 415000,
    //   "currency": "GBP",
    //   "status": "in_flight",                // planned | in_flight | complete | approval
    //   "categoryTag": null,
    //   "esgLinked": false,
    //   "internalContingency": null           // INTERNAL ONLY
    // }
  ],

  // ----------------------------------------------------------
  // ESG — § 08
  // ----------------------------------------------------------
  "esg": {
    "epc": [
      // alderanam_leases.epc_ber_rating (unit-level) + SharePoint EPC PDFs
      // Filing drift: Wembley + Malmaison EPCs misfiled under 01_Title & Conveyancing/
      // Distribution placeholder — 81-unit population partial
      { "band": "A", "unitCount":  3 },
      { "band": "B", "unitCount": 20 },
      { "band": "C", "unitCount": 26 },
      { "band": "D", "unitCount": 15 },
      { "band": "E", "unitCount":  8 },
      { "band": "F", "unitCount":  2 },
      { "band": "G", "unitCount":  1 },
      { "band": "unknown", "unitCount": 6 }
    ],
    "greenCerts": [],                        // alderanam_assets.green_cert_* — population state unknown
    "taxonomy": {                            // GAP — design + populate
      "gavAlignedPct": 42,                   // placeholder
      "gavDoNoSignificantHarmPct": 88
    },
    "intensity": [                           // GAP
      { "metric": "kWh_per_m2", "portfolioAvg": 142, "crrem2030DeltaPct": 18 }
    ],
    "stranding": { "assetsAtRisk": 3, "totalAssets": 16 }    // placeholder
  },

  // ----------------------------------------------------------
  // EVENTS — § 09
  // SOURCE: v_upcoming_events · LIVE today
  // Today's read: 1 event ≤ 30d (Avicena Tech break 2026-05-26) · 3 ≤ 6m
  // ----------------------------------------------------------
  "events": [
    {
      "eventDate": "2026-05-26",
      "assetCode": "LON-WhiteHouse",
      "demise": "Unit 4",
      "eventType": "break",                  // break | expiry | rent_review
      "tenantName": "Avicena Tech Limited",
      "daysUntil": 7,
      "rentPa": 420000,
      "currency": "GBP"
    },
    {
      "eventDate": "2026-07-14",
      "assetCode": "BRS-Quay",
      "demise": "Whole",
      "eventType": "rent_review",
      "tenantName": "OVO Group Limited",
      "daysUntil": 56,
      "rentPa": 368000,
      "currency": "GBP"
    },
    {
      "eventDate": "2026-09-22",
      "assetCode": "CDF-FairfaxHouse",
      "demise": "Unit 3",
      "eventType": "expiry",
      "tenantName": "Beanfreaks Limited",
      "daysUntil": 126,
      "rentPa": 88000,
      "currency": "GBP"
    },
    {
      "eventDate": "2026-11-04",
      "assetCode": "LDS-Headrow",
      "demise": "Whole",
      "eventType": "rent_review",
      "tenantName": "Trinity Mirror plc",
      "daysUntil": 169,
      "rentPa": 648000,
      "currency": "GBP"
    }
    // ...more events extend out 12-24m
  ],

  // ----------------------------------------------------------
  // STRATEGY — § 10
  // SOURCE: 02_Comete/00_Portfolio/CMT_QuarterlyReport_2026-02-18_Internal GCCP Strategic AM Plan.docx
  // (operator-extracted summary; structured tables are GAP)
  // ----------------------------------------------------------
  "strategy": {
    "precis": "Q1 cycle delivered as reconciliation quarter — lease estate audited and abstracted to LS1, 16-asset register tied to Supabase, reporting cadence calibrated to monthly operational + quarterly committee rhythm.",
    "decisions": [                           // GAP — Internal only · design placeholder
      { "ref": "D26-004", "what": "Avicena Tech break · retain at -5% concession",       "owner": "CB / AS", "status": "open",     "due": "2026-05-26" },
      { "ref": "D26-003", "what": "Q2 verification scope · KCA + LON cluster first",     "owner": "CB",      "status": "actioned", "due": null },
      { "ref": "D26-002", "what": "Valuation methodology · RICS Red Book confirmed",     "owner": "AS",      "status": "pending_lp", "due": null },
      { "ref": "D26-001", "what": "IRE-Pavilions PM appointment · Hooke & MacDonald",    "owner": "CB",      "status": "actioned", "due": null }
    ],
    "lpAsks": [                              // GAP
      { "ref": "ASK-1", "what": "Verification cadence · Q2 target 25% of leases verified (21 of 81)" },
      { "ref": "ASK-2", "what": "Valuation methodology · approve before Q2 seed" },
      { "ref": "ASK-3", "what": "Irish AUM seed · market-rent placeholder vs blank surface" },
      { "ref": "ASK-4", "what": "Capex envelope · confirm FY26 £1·8m cap + ESG tagging convention" },
      { "ref": "ASK-5", "what": "Meeting agenda · KCA covenant · Avicena break · Irish data · valuation schema" }
    ],
    "objectives": [                          // GAP
      { "period": "Q1 2026", "what": "Audit + tie lease estate to Supabase",         "status": "complete" },
      { "period": "Q1 2026", "what": "Stand up monthly reporting cadence",            "status": "complete" },
      { "period": "Q1 2026", "what": "Operationalise Morning Intel ribbon",           "status": "live" },
      { "period": "Q2 2026", "what": "Verify 25% of leases (target 21 of 81)",        "status": "in_flight" },
      { "period": "Q2 2026", "what": "Design valuation schema + seed Q1 vals",        "status": "schema_spec_pending" },
      { "period": "Q2 2026", "what": "IRE-Pavilions rent seed",                       "status": "in_flight" },
      { "period": "Q3 2026", "what": "Capex schema + FY26 programme tag",             "status": "planned" },
      { "period": "Q3 2026", "what": "Prime Yields benchmark wired",                  "status": "planned" }
    ],
    "meetingContext": {
      "title": "ALDERAN MEETING 26TH & 27TH MAY 2026",
      "sourcePath": "sharepoint://sites/GCCPAlderanAM/Shared Documents/ALDERAN MEETING 26TH & 27TH MAY 2026.odt"
    }
  },

  // ----------------------------------------------------------
  // INTEL — § 01 ribbon + § 06 overlay
  // ----------------------------------------------------------
  "intel": {

    // Morning Intelligence ribbon — LIVE TODAY
    // SOURCE: v_market_context_quarterly
    "morning": {
      "regime": "TRANSITION",
      "headline": "Market Transition — Mixed signals",
      "finalSignal": "HOLD",
      "signalStrength": "WEAK",
      "score": 9.2,
      "primaryAction": "Hold existing positions",
      "irelandLeverage": {
        "verdict": "MARGINAL",
        "spreadLowBps": -32,
        "spreadHighBps": 68
      },
      "ukLeverage": {
        "verdict": "DEEPLY_NEGATIVE",
        "spreadLowBps": -194,
        "spreadHighBps": -94
      },
      "relativeVerdict": "EUR_FAVOURED",
      "irish10yYtdBps": 0,
      "ukGiltYtdBps": 0,
      "asOf": "2026-05-19T08:00:00Z"
    },

    // Prime Yields benchmark — § 06 overlay
    // SOURCE: gccp-agentic-os/Prime_Investment_Yields_Q4_2025.xlsx
    //         gccp-agentic-os/Prime_Investment_Yields_Research_April2026.xlsx
    // Future Supabase analogues: implied_cap_rates · ary_history · yield_decomposition · required_return_benchmarks
    "primeYields": [
      { "segment": "Prime Office · London",          "lowPct": 5.25, "highPct": 5.75, "portfolioPct": 5.50 },
      { "segment": "Prime Office · Reg. Cities",     "lowPct": 6.00, "highPct": 6.75, "portfolioPct": 6.25 },
      { "segment": "Prime Retail · London",          "lowPct": 5.75, "highPct": 6.50, "portfolioPct": 6.00 },
      { "segment": "Prime Retail · Regional",        "lowPct": 7.00, "highPct": 7.75, "portfolioPct": 7.25 },
      { "segment": "Prime Hotel · UK",               "lowPct": 5.50, "highPct": 6.25, "portfolioPct": 5.75 },
      { "segment": "Prime Residential · Dublin",     "lowPct": 5.00, "highPct": 5.50, "portfolioPct": 5.25 }
    ]
  },

  // ----------------------------------------------------------
  // RISK REGISTER — § 09
  // GAP — operator-curated. Design as editable list with status field
  // ----------------------------------------------------------
  "risks": [
    {
      "ref": "R-01",
      "label": "Verification gap",
      "description": "All 81 leases marked ai_draft. LP-credibility risk if not surfaced; mitigated by visible verification badge on every lease-derived figure.",
      "severity": "high",
      "mitigation": "Q2 verification programme. Independent lease abstraction audit.",
      "owner": "CB"
    },
    {
      "ref": "R-02",
      "label": "Tenant concentration",
      "description": "KCA Deutag at 17·7% of portfolio rent. Oilfield services exposure to commodity cycle.",
      "severity": "medium",
      "mitigation": "Quarterly covenant review; tenant-led capex programme to extend WAULT.",
      "owner": "CB"
    },
    {
      "ref": "R-03",
      "label": "UK rate regime",
      "description": "Morning Intel: UK leverage DEEPLY_NEGATIVE · spread -194/-94 bps. Capex financing on UK assets cost-positive for cash.",
      "severity": "high",
      "mitigation": "EUR-favoured deployment per intel verdict; UK refinancing deferred to next rate window.",
      "owner": "AS"
    },
    {
      "ref": "R-04",
      "label": "Avicena Tech break",
      "description": "7-day break exercise window. £420k p.a. at risk if not retained.",
      "severity": "high",
      "mitigation": "Retention negotiation in flight. Marketing brief prepared as fall-back.",
      "owner": "CB"
    },
    {
      "ref": "R-05",
      "label": "Irish data seed",
      "description": "IRE-Pavilions (13 units) rent_pa null. IRE-Grattan (26 units) all unknown.",
      "severity": "medium",
      "mitigation": "Q2 seeding programme. Independent residential management agent appointed.",
      "owner": "CB"
    }
  ]
}

// ============================================================
// END OF FILE
//
// Notes for CB · wiring stage:
//   1. Strip comments before passing to strict JSON parsers.
//   2. All field names map to actual Supabase column/view names.
//   3. GAP entries are not data — they're the surface the
//      dashboard renders today, with placeholder figures clearly
//      marked. CB designs the tables; designer holds the shape.
//   4. The verification state is non-negotiable on lease figures.
//   5. Internal/LP view stripping is keyed off the `meta.view`
//      field plus the audience model in the design brief.
// ============================================================
