primaryMetro
- Returns:
- the primary recommended metro, or
nullwhen nothing is feasible
The design answer is getRecommended() (one DesignOption: a set of metros with every
objective measured, its priced cost lines and every constraint verdict), chosen from
getFrontier() (every Pareto-optimal trade-off between cost, latency, resilience, coverage and
compliance). getSensitivity() says how firm the choice is, getPlacement() where each
workload runs. The result carries the getSpec() and its getSpecFingerprint() so it can be stored and compared.
The remaining fields restate the recommended design in the shape the Deployment Wizard, the
exporters and the MCP server read: getRecommendations() (one entry per recommended metro,
primary first), getTopology(), getCostEstimate() (the same lines as
getRecommended().cost()), getRiskAssessment(), getLatencyMatrix() and
getRequest() (the spec restated). When nothing is feasible they are empty and
getSolverNotes() says why.
null when nothing is feasiblen - how manyn recommended metroscommercial.exchangeRates, so running it
again reproduces the figures exactly.