Tool tree
gradeNot graded
get_project_baselineAnswer
Read the synthetic demand, costs, emissions, outage assumptions, bounds, model assumptions, and approved planning criteria.
View tool JSON
{
"name": "get_project_baseline",
"kind": "answer",
"impl": "imperative",
"description": "Read the synthetic demand, costs, emissions, outage assumptions, bounds, model assumptions, and approved planning criteria.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}propose_constraintsAction
Stage advisory planning criteria for human review. This never applies or approves them.
View tool JSON
{
"name": "propose_constraints",
"kind": "act",
"impl": "imperative",
"description": "Stage advisory planning criteria for human review. This never applies or approves them.",
"inputSchema": {
"type": "object",
"properties": {
"max_capital_cost_gbp": {
"type": "number",
"minimum": 0,
"maximum": 2000000
},
"min_emissions_reduction_pct": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"desired_coverage_hours": {
"type": "integer",
"minimum": 1,
"maximum": 8
},
"priorities": {
"type": "array",
"minItems": 3,
"maxItems": 3,
"uniqueItems": true,
"items": {
"enum": [
"resilience",
"emissions",
"cost"
]
}
},
"rationale": {
"type": "string",
"minLength": 1,
"maxLength": 400
}
},
"required": [
"max_capital_cost_gbp",
"min_emissions_reduction_pct",
"desired_coverage_hours",
"priorities",
"rationale"
],
"additionalProperties": false
}
}run_scenarioAction
Run one deterministic solar-and-battery configuration against the approved criteria and add the completed result visibly to GridTwin.
View tool JSON
{
"name": "run_scenario",
"kind": "act",
"impl": "imperative",
"description": "Run one deterministic solar-and-battery configuration against the approved criteria and add the completed result visibly to GridTwin.",
"inputSchema": {
"type": "object",
"properties": {
"solar_kwp": {
"type": "integer",
"minimum": 50,
"maximum": 350,
"multipleOf": 25,
"description": "Installed solar capacity in kWp."
},
"battery_kwh": {
"type": "integer",
"minimum": 100,
"maximum": 700,
"multipleOf": 50,
"description": "Battery nameplate capacity in kWh."
},
"approach_label": {
"type": "string",
"enum": [
"solar-heavy",
"battery-heavy",
"balanced",
"custom"
]
},
"rationale": {
"type": "string",
"maxLength": 400
}
},
"required": [
"solar_kwp",
"battery_kwh"
],
"additionalProperties": false
}
}compare_scenariosAction
Compare two or three current scenarios across cost, emissions, reserve preparation, resilience, and explicit violations without a composite score.
View tool JSON
{
"name": "compare_scenarios",
"kind": "act",
"impl": "imperative",
"description": "Compare two or three current scenarios across cost, emissions, reserve preparation, resilience, and explicit violations without a composite score.",
"inputSchema": {
"type": "object",
"properties": {
"scenario_ids": {
"type": "array",
"minItems": 2,
"maxItems": 3,
"uniqueItems": true,
"items": {
"type": "string"
}
}
},
"required": [
"scenario_ids"
],
"additionalProperties": false
}
}find_nearest_feasibleAnswer
When every selected scenario is infeasible, rank the nearest existing candidates and quantify every constraint violation. This does not search or relax constraints.
View tool JSON
{
"name": "find_nearest_feasible",
"kind": "answer",
"impl": "imperative",
"description": "When every selected scenario is infeasible, rank the nearest existing candidates and quantify every constraint violation. This does not search or relax constraints.",
"inputSchema": {
"type": "object",
"properties": {
"scenario_ids": {
"type": "array",
"minItems": 2,
"maxItems": 3,
"uniqueItems": true,
"items": {
"type": "string"
}
}
},
"required": [],
"additionalProperties": false
}
}shortlist_scenarioAction
Mark one feasible current scenario as reversible agent advice. This never approves the plan.
View tool JSON
{
"name": "shortlist_scenario",
"kind": "act",
"impl": "imperative",
"description": "Mark one feasible current scenario as reversible agent advice. This never approves the plan.",
"inputSchema": {
"type": "object",
"properties": {
"scenario_id": {
"type": "string",
"minLength": 1
},
"explanation": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"scenario_id",
"explanation"
],
"additionalProperties": false
}
}prepare_plan_exportAction
Prepare an immutable one-page decision-brief snapshot only after direct human plan approval. This never prints, downloads, or publishes.
View tool JSON
{
"name": "prepare_plan_export",
"kind": "act",
"impl": "imperative",
"description": "Prepare an immutable one-page decision-brief snapshot only after direct human plan approval. This never prints, downloads, or publishes.",
"inputSchema": {
"type": "object",
"properties": {
"scenario_id": {
"type": "string",
"minLength": 1
}
},
"required": [
"scenario_id"
],
"additionalProperties": false
}
}