The project DB has the full tech tree (technologies, tech_prerequisites, tech_ingredients), and recipe availability already walks the full prerequisite closure. But the assistant only sees per-recipe needsResearch science-pack names — it cannot answer "what do I research to unlock X, in what order, and what does it cost?".
Add a researchPath tool: given a target (a tech, a recipe, or a good), return the not-yet-researched prerequisite closure in dependency order, each tech with its science-pack cost, plus the total cost per pack. It should respect the current researched state (synced from the save) and the planning horizon.
This is the natural companion to TARGET-mode plans: a drafted plan can then state the research route ("research electronics → battery-mk01, ~N py-science-pack-1 total") instead of just naming gating packs.
The project DB has the full tech tree (
technologies,tech_prerequisites,tech_ingredients), and recipe availability already walks the full prerequisite closure. But the assistant only sees per-recipeneedsResearchscience-pack names — it cannot answer "what do I research to unlock X, in what order, and what does it cost?".Add a
researchPathtool: given a target (a tech, a recipe, or a good), return the not-yet-researched prerequisite closure in dependency order, each tech with its science-pack cost, plus the total cost per pack. It should respect the current researched state (synced from the save) and the planning horizon.This is the natural companion to TARGET-mode plans: a drafted plan can then state the research route ("research
electronics→battery-mk01, ~Npy-science-pack-1total") instead of just naming gating packs.