{
  "_comment": "Sihi Electronics ecosystem manifest - the single source of truth. localPort values are the pinned ports in serve_all.py PINNED_PORTS and are the ports tools/make_app_index.py lists on the hub (:55099). v3: every entry was checked against the tree - an app is 'ready' when serve_all.py can serve it from build/web or from a standalone web/index.html harness. Do not guess a status: run `python serve_all.py --check` and read the SOURCE column.",
  "version": 3,
  "basePort": 55100,
  "localHost": "127.0.0.1",
  "remoteBase": "https://apps.sihielectronicsengineering.com",
  "products": {
    "soccerpro": {
      "name": "SoccerPro",
      "localPort": 55315,
      "remote": "https://soccer.sihielectronicsengineering.com",
      "status": "ready"
    },
    "fantasysoccerpro": {
      "name": "FantasySoccerPro",
      "localPort": 55315,
      "remote": "https://fantasysoccer.sihielectronicsengineering.com",
      "status": "ready",
      "note": "Shares the SoccerPro app shell; fantasy mode is a tab inside it."
    },
    "fitnesspro": {
      "staticPort": 55100,
      "name": "FitnessPro",
      "localPort": 55113,
      "remote": "https://fitness.sihielectronicsengineering.com",
      "status": "ready",
      "note": "Served by the standalone static fitnesspro_web site."
    },
    "fitnesshub": {
      "staticPort": 55100,
      "name": "FitnessPro Hub",
      "localPort": 55113,
      "remote": "https://fitness.sihielectronicsengineering.com",
      "status": "ready",
      "note": "Same target as FitnessPro — the hub is its landing view."
    },
    "exerciseslib": {
      "staticPort": 55100,
      "name": "Exercise Library",
      "localPort": 55113,
      "path": "/exercises.html",
      "remote": "https://fitness.sihielectronicsengineering.com/exercises.html",
      "status": "ready",
      "note": "Static page inside fitnesspro_web."
    },
    "wellnesscentre": {
      "staticPort": 55100,
      "name": "Wellness Centre",
      "localPort": 55113,
      "path": "/wellness.html",
      "remote": "https://fitness.sihielectronicsengineering.com/wellness.html",
      "status": "ready",
      "note": "Static page inside fitnesspro_web."
    },
    "martialarts": {
      "name": "Martial Arts Pro",
      "localPort": 55115,
      "remote": "https://martialarts.sihielectronicsengineering.com",
      "status": "ready"
    },
    "traditionalsports": {
      "name": "Traditional Sports Pro",
      "localPort": 55145,
      "remote": "https://traditional.sihielectronicsengineering.com",
      "status": "ready"
    },
    "musicvocaltrainingpro": {
      "name": "MusicVocalTrainingPro",
      "localPort": 55012,
      "remote": "https://music.sihielectronicsengineering.com",
      "status": "ready",
      "note": "Pinned port — existing scripts and docs already use 55012."
    },
    "agribusinesspro": {
      "name": "AgriBusinessPro",
      "localPort": 55109,
      "remote": "https://agri.sihielectronicsengineering.com",
      "status": "ready"
    },
    "smartfarming": {
      "name": "SmartFarming",
      "localPort": 55116,
      "remote": "https://farm.sihielectronicsengineering.com",
      "status": "ready",
      "note": "Served by the plant_pack app."
    },
    "sihiplant": {
      "name": "Sihi Plant Suite",
      "localPort": 55116,
      "remote": "https://plant.sihielectronicsengineering.com",
      "status": "ready",
      "note": "Same target as SmartFarming — the industrial control core."
    },
    "boardgamespro": {
      "name": "BoardGamesPro",
      "localPort": 55121,
      "remote": "https://boardgames.sihielectronicsengineering.com",
      "status": "ready",
      "note": "Served by scrabble_pro; sudoku_pro is its sibling at :55143."
    },
    "healthbeautywellness": {
      "name": "HealthBeautyWellnessPro",
      "localPort": 55114,
      "remote": "https://health.sihielectronicsengineering.com",
      "status": "ready"
    },
    "teambuildingpro": {
      "name": "TeamBuildingPro",
      "localPort": 55144,
      "remote": "https://team.sihielectronicsengineering.com",
      "status": "ready"
    },
    "shoppro": {
      "name": "ShopPro",
      "localPort": 55312,
      "remote": "https://shop.sihielectronicsengineering.com",
      "status": "ready",
      "note": "The ShopPro app itself. The static commerce storefront is the separate `storefront` entry on :55106."
    },
    "trainingpro": {
      "name": "TrainingPro",
      "localPort": 55148,
      "remote": "https://training.sihielectronicsengineering.com",
      "status": "ready",
      "note": "ALL non-certification training across the ecosystem (drills, practice, lessons, curricula). Certification learning routes to Sihi Academy (:55325)."
    },
    "sihiindustrial": {
      "name": "SIHI Industrial",
      "localPort": 55314,
      "remote": "https://industrial.sihielectronicsengineering.com",
      "status": "ready",
      "note": "The control core: PLC/Modbus, sensors, energy, alarms. Parent of SmartFarming and AgriBusinessPro."
    },
    "biowaste": {
      "name": "Biowaste Console",
      "localPort": 55124,
      "remote": "https://apps.sihielectronicsengineering.com/industrial/biowaste",
      "status": "ready"
    },
    "buildingmaterials": {
      "name": "Building Materials Console",
      "localPort": 55125,
      "remote": "https://apps.sihielectronicsengineering.com/industrial/buildingmaterials",
      "status": "ready"
    },
    "cosmetics": {
      "name": "Cosmetics Batch Console",
      "localPort": 55126,
      "remote": "https://apps.sihielectronicsengineering.com/industrial/cosmetics",
      "status": "ready"
    },
    "driedfoods": {
      "name": "Dried Foods Console",
      "localPort": 55127,
      "remote": "https://apps.sihielectronicsengineering.com/industrial/driedfoods",
      "status": "ready"
    },
    "driedvegetables": {
      "name": "Dried Vegetables Console",
      "localPort": 55128,
      "remote": "https://apps.sihielectronicsengineering.com/industrial/driedvegetables",
      "status": "ready"
    },
    "energyconsole": {
      "name": "Energy Console",
      "localPort": 55129,
      "remote": "https://apps.sihielectronicsengineering.com/industrial/energy",
      "status": "ready"
    },
    "freshfoods": {
      "name": "Fresh Foods Console",
      "localPort": 55130,
      "remote": "https://apps.sihielectronicsengineering.com/industrial/freshfoods",
      "status": "ready"
    },
    "fruitjuice": {
      "name": "Fruit Juice Console",
      "localPort": 55131,
      "remote": "https://apps.sihielectronicsengineering.com/industrial/fruitjuice",
      "status": "ready"
    },
    "greenhouse": {
      "name": "Greenhouse Console",
      "localPort": 55132,
      "remote": "https://apps.sihielectronicsengineering.com/industrial/greenhouse",
      "status": "ready"
    },
    "herbal": {
      "name": "Herbal Processing Console",
      "localPort": 55133,
      "remote": "https://apps.sihielectronicsengineering.com/industrial/herbal",
      "status": "ready"
    },
    "sihitv": {
      "staticPort": 55111,
      "name": "Sihi TV",
      "localPort": 55111,
      "remote": "https://tv.sihielectronicsengineering.com",
      "status": "ready"
    },
    "avatarstudio": {
      "name": "Avatar Studio",
      "localPort": 55013,
      "remote": "https://avatar.sihielectronicsengineering.com",
      "status": "ready"
    },
    "dojomanagement": {
      "name": "Dojo Management",
      "localPort": 55308,
      "remote": "https://dojo.sihielectronicsengineering.com",
      "status": "ready"
    },
    "sihiportal": {
      "name": "SIHI Portal",
      "localPort": 55313,
      "remote": "https://portal.sihielectronicsengineering.com",
      "status": "ready"
    }
  },
  "sports": {
    "archerypro": {
      "name": "ArcheryPro",
      "localPort": 55110,
      "remote": "https://archery.sihielectronicsengineering.com",
      "status": "ready"
    },
    "athleticspro": {
      "name": "AthleticsPro",
      "localPort": 55301,
      "remote": "https://athletics.sihielectronicsengineering.com",
      "status": "ready"
    },
    "badmintonpro": {
      "name": "BadmintonPro",
      "localPort": 55302,
      "remote": "https://badminton.sihielectronicsengineering.com",
      "status": "ready"
    },
    "basketballpro": {
      "name": "BasketballPro",
      "localPort": 55303,
      "remote": "https://basketball.sihielectronicsengineering.com",
      "status": "ready"
    },
    "chesspro": {
      "name": "ChessPro",
      "localPort": 55305,
      "remote": "https://chess.sihielectronicsengineering.com",
      "status": "ready"
    },
    "cricketpro": {
      "name": "CricketPro",
      "localPort": 55306,
      "remote": "https://cricket.sihielectronicsengineering.com",
      "status": "ready"
    },
    "cyclingpro": {
      "name": "CyclingPro",
      "localPort": 55307,
      "remote": "https://cycling.sihielectronicsengineering.com",
      "status": "ready"
    },
    "golfpro": {
      "name": "GolfPro",
      "localPort": 55309,
      "remote": "https://golf.sihielectronicsengineering.com",
      "status": "ready"
    },
    "rugbypro": {
      "name": "RugbyPro",
      "localPort": 55311,
      "remote": "https://rugby.sihielectronicsengineering.com",
      "status": "ready"
    },
    "swimmingpro": {
      "name": "SwimmingPro",
      "localPort": 55316,
      "staticPort": 55107,
      "remote": "https://swimming.sihielectronicsengineering.com",
      "status": "ready"
    },
    "tabletennispro": {
      "name": "TableTennisPro",
      "localPort": 55317,
      "remote": "https://tabletennis.sihielectronicsengineering.com",
      "status": "ready"
    },
    "tennispro": {
      "name": "TennisPro",
      "localPort": 55318,
      "remote": "https://tennis.sihielectronicsengineering.com",
      "status": "ready"
    },
    "volleyballpro": {
      "name": "VolleyballPro",
      "localPort": 55319,
      "remote": "https://volleyball.sihielectronicsengineering.com",
      "status": "ready"
    }
  },
  "platform": {
    "sportsHub": {
      "staticPort": 55104,
      "name": "SIHI Sports",
      "localPort": 55104,
      "path": "/",
      "remote": "https://sports.sihielectronicsengineering.com",
      "status": "ready"
    },
    "landing": {
      "staticPort": 55103,
      "name": "Sihi Electronics Engineering",
      "localPort": 55103,
      "path": "/",
      "remote": "https://www.sihielectronicsengineering.com",
      "status": "ready"
    },
    "saassports": {
      "name": "SaaS Sports",
      "localPort": 55120,
      "path": "/",
      "remote": "https://sports.sihielectronicsengineering.com/app",
      "status": "ready",
      "note": "The SaaS Sports application — fixtures, live events, 16 sports."
    },
    "saasplatform": {
      "name": "SaaS Platform",
      "localPort": 55118,
      "path": "/",
      "remote": "https://apps.sihielectronicsengineering.com",
      "status": "ready"
    },
    "academy": {
      "name": "Sihi Academy",
      "localPort": 55325,
      "path": "/",
      "remote": "https://music.sihielectronicsengineering.com/academy",
      "status": "ready",
      "note": "ALL certification learning (courses, assessments, certificates) across the ecosystem."
    },
    "storefront": {
      "staticPort": 55106,
      "name": "Sihi Commerce",
      "localPort": 55106,
      "path": "/",
      "remote": "https://shop.sihielectronicsengineering.com",
      "status": "ready"
    },
    "portal": {
      "staticPort": 55103,
      "name": "Sihi Portal",
      "localPort": 55103,
      "path": "/portal.html",
      "remote": "https://portal.sihielectronicsengineering.com",
      "status": "ready",
      "note": "Until the portal host exists, this resolves to the platform landing."
    },
    "docs": {
      "staticPort": 55103,
      "name": "Documentation",
      "localPort": 55103,
      "path": "/docs.html",
      "remote": "https://docs.sihielectronicsengineering.com",
      "status": "ready",
      "note": "Until the docs host exists, this resolves to the platform landing."
    },
    "api": {
      "staticPort": 55103,
      "name": "API Reference",
      "localPort": 55103,
      "path": "/docs.html#api",
      "remote": "https://docs.sihielectronicsengineering.com/api",
      "status": "ready"
    },
    "status": {
      "staticPort": 55103,
      "name": "Status",
      "localPort": 55103,
      "path": "/status.html",
      "remote": "https://status.sihielectronicsengineering.com",
      "status": "ready"
    },
    "blog": {
      "staticPort": 55103,
      "name": "Journal",
      "localPort": 55103,
      "path": "/blog.html",
      "remote": "https://blog.sihielectronicsengineering.com",
      "status": "ready"
    },
    "product": {
      "staticPort": 55103,
      "name": "Product",
      "localPort": 55103,
      "path": "/product.html",
      "remote": "https://www.sihielectronicsengineering.com/product",
      "status": "ready"
    },
    "signup": {
      "staticPort": 55103,
      "name": "Create account",
      "localPort": 55103,
      "path": "/signup.html",
      "remote": "https://apps.sihielectronicsengineering.com/signup",
      "status": "ready"
    },
    "pricingLite": {
      "staticPort": 55103,
      "name": "Lite plan",
      "localPort": 55103,
      "path": "/pricing.html#lite",
      "remote": "https://apps.sihielectronicsengineering.com/pricing/lite",
      "status": "ready"
    },
    "pricingPro": {
      "staticPort": 55103,
      "name": "Pro plan",
      "localPort": 55103,
      "path": "/pricing.html#pro",
      "remote": "https://apps.sihielectronicsengineering.com/pricing/pro",
      "status": "ready"
    },
    "certification": {
      "name": "Sihi Academy — Certification Learning",
      "localPort": 55325,
      "path": "/",
      "remote": "https://music.sihielectronicsengineering.com/academy",
      "status": "ready",
      "note": "Alias for certification learning; routes to Sihi Academy."
    },
    "training": {
      "name": "TrainingPro — Non-certification Training",
      "localPort": 55148,
      "path": "/",
      "remote": "https://training.sihielectronicsengineering.com",
      "status": "ready",
      "note": "ALL non-certification training, drills, practice, curricula, and lessons across the ecosystem."
    }
  },
  "external": {
    "github": "https://github.com/sihi-electronics",
    "x": "https://x.com/sihi_electronics",
    "linkedin": "https://linkedin.com/company/sihi-electronics",
    "youtube": "https://youtube.com/@sielektronik"
  }
}