How to use it
Three steps from locked to a route you can fly.
1 Open the Engineers tab and read the Directory.
2 Press a name to see what unlocking them takes.
3 Accept the Route, and it becomes a checklist.
! The one that stops people.
Why it works this way
Who can improve your ship, where they are, and who to go and get next.
1 Two lists.
2 The Directory is sorted by what you can do today.
3 Most of them are behind somebody else.
4 The Route picks the one unlock that helps most.
Every step of the working is on the page on purpose. A ranking you cannot inspect is an oracle — and when it is wrong, or when you would simply rather go somewhere else, you could not tell a bad answer from a bug.
The details
Where each engineer is, what they grade, how far along you are with them, and who to go and get next.
“which engineers have I unlocked” “who grades frame shift drives” “where is Felicity Farseer” “who should I unlock next”
Nothing here touches the network. Two halves that only mean something together: a shipped directory — who works where and modifies what — and your standing, folded from your own journal.
“Who grades frame shift drives” has one answer for everybody. “Who can grade mine” has one answer for you, and it is the question people are actually asking, so both answers arrive together.
Where you stand
1 engineer unlocked of 38 that exist.
Felicity Farseer — grade 5, at Farseer Inc in Deciat
Invited and not yet unlocked: Elvira Martuuk.
Heard of, no invitation yet: The Dweller.
Not met at all: Baltanos, Bill Turner, Broo Tarquin, ...
Four buckets that account for everybody. Unlocked ones are listed highest grade first, because the grade is what decides who is worth flying to; an alphabetical list makes you work that out yourself.
Who grades what
5 engineers grade Thrusters, best first:
Chloe Sedesi — to grade 5, at Cinder Dock in Shenve; not met, reached through Marco Qwent
Mel Brandon — to grade 5, at The Brig in Luchtaine; not met, reached through Elvira Martuuk
Professor Palin — to grade 5, at Abel Laboratory in Arque; not met, reached through Marco Qwent
Felicity Farseer — to grade 3, at Farseer Inc in Deciat; unlocked at grade 5, 40% to the next
Elvira Martuuk — to grade 2, at Long Sight Base in Khun; invited, not yet unlocked
Best grade first, with your own standing beside each one. The best engineer for a job and the best one you can reach today are frequently not the same person, and an answer that only gave you the first would send you somewhere you cannot go.
The ones you have not met carry the next step rather than a dead end, which turns a list of people you cannot use into a list of paths you can start.
One engineer
Felicity Farseer works out of Farseer Inc in Deciat, on 6 A.
Grades: Frame Shift Drive to 5, Sensors to 3, Surface Scanner to 3, Thrusters to 3, ...
Nobody has to recommend them — public data sources.
Earning the invitation: Gain exploration rank Scout or higher.
Their invitation asks for Meta-alloys ×1.
Reputation with them rises fastest by: Craft modules for a major increase. Sell exploration data at Farseer Inc.
The Commander has them unlocked at grade 5, 40% to the next.
“Nobody has to recommend them” is said out loud rather than left silent. Eleven engineers need nobody, and for those eleven that is the answer — silence reads as a missing referral rather than as an absent one.
The chain of unlocks
Bill Turner works out of Turner Metallics Inc in Alioth, on 4 A.
Grades: Plasma Accelerator to 5, Sensors to 5, Surface Scanner to 5, Auto Field-Maintenance Unit to 3, ...
Reached through Selene Jean at grade 3.
The Commander is grade 2 with Selene Jean, and the referral needs grade 3 — 2,000,000 cr of profit sold at their workshop, plus roughly half the bar to the grade after it.
Earning the invitation: Gain Friendly status with Alliance. You will also need Allied status with Alioth Independents to get a permit to access the Alioth starsystem.
Their invitation asks for Bromellite ×50.
Reputation with them rises fastest by: Craft modules for a major increase. Sell commodities to Turner Metallics Inc.
The Commander has not met them.
27 of the 38 engineers are reached through somebody else, and the middle two lines are the point of the whole feature: who introduces them, and how far along that path you already are. The price is the published cost of that rank; the “roughly half the bar” is stated in words because that is how both sources state it and nobody published it as a number.
Several referrers mean any of them, not all — reading three names as three requirements would describe a wall where there is a door:
Yi Shen works out of Eidolon Hold in Einheriar, on 1 A.
I have no record of what they modify.
Reached through any of Baltanos, Eleanor Bresa or Rosa Dayette.
No grade is stated for that referral — the on-foot engineers unlock on a count of modifications rather than on a grade.
The Commander has not met Baltanos, Eleanor Bresa or Rosa Dayette.
And a referral with no grade says so. The whole Odyssey chain states one nowhere, because those engineers unlock on a count of modifications instead; filling in the ship chain’s grade 3 there would be a requirement Directive 47 invented.
The chain has a source, and it did not always
This page used to say the referral graph was unobtainable — that no permissive machine-readable
source carried it, and that writing it from memory would be the invented game data every table here
exists to avoid. The first half was a correct measurement of three files and a wrong claim about
the world. FDevIDs, coriolis-data and EDEngineer’s ship rows genuinely do not carry it; EDDiscovery’s
EliteDangerousCore (Apache-2.0) does, and names both the referring engineer and the grade needed
with them.
The two sources that have it agree on 37 of 38. The conflict is Bill Turner, whom EDDiscovery files as common knowledge and the wiki as learned from Selene Jean, and one Commander’s journal settles it in the wiki’s favour: the invitation lands eleven seconds after Selene Jean reaches rank 3 and before she reaches rank 4, which is precisely the documented threshold. That override is written into the generator and asserted by a test, so it cannot silently stop applying.
The observed half still comes first where the two meet. An engineer who has invited you is a referral that has already happened, and no table can be more right about that than your own journal.
The Engineers tab
Two roots. The Directory is everybody, ordered by what you can act on today; the Route is the solver. Drilling a directory row opens the one engineer behind it. The search box filters on the name, the system and what they grade.
Who can I go and get
9 of 38 unlocked. 16 in progress. 13 not started.
You can go and get these now
* Felicity Farseer - 1 module 131 ly, about 5 jumps
* Elvira Martuuk - 1 module 182 ly, about 7 jumps
The Dweller 34 ly, about 2 jumps
Jude Navarro 67 ly, about 3 jumps
Sorted by what you can act on today — within reach, then already yours, then behind somebody else — rather than alphabetically or by speciality, because the question is nearly always who can I go and get. Alphabetical order answers that for nobody.
The line at the top counts the game’s own three states — unlocked, in progress (known about or invited), not started — against the whole directory. It does not distinguish a plan blocked on an engineer from one blocked on materials; the gap analysis on the Loadout tab cannot tell the two apart either.
One pane rather than two: a row already holds the name, where they are and what wants them, so a second column beside it would only repeat them.
How do I get everything my plans need
Felicity Farseer — 1 step, 131 ly, about 5 jumps, and 1 planned thing covered.
Felicity Farseer at Farseer Inc in Deciat — 131 ly, about 5 jumps
first: Gain exploration rank Scout or higher.
hand over: Meta-alloys ×1
grade 3 with them takes 2,000,000 cr of profit sold there
covers: Long Way (Krait MkII) · FrameShiftDrive — grade 3 Increased FSD Range
Professor Palin — 3 steps, 466 ly, about 18 jumps, and 2 planned things covered.
Elvira Martuuk at Long Sight Base in Khun — 182 ly, about 7 jumps
first: Attain a maximum distance from your career start location of at least 300 light years.
hand over: Soontill Relics ×3
Marco Qwent at Qwent Research Base in Sirius — 186 ly, about 7 jumps
first: Gain invitation from Sirius Corporation.
hand over: Modular Terminals ×25
Professor Palin at Abel Laboratory in Arque — 98 ly, about 4 jumps
first: Attain a maximum distance from your career start location of at least 5,000 light years.
hand over: Sensor Fragment ×25
covers: Bad Idea (Python) · MainEngines — grade 5 Dirty Drive Tuning
covers: Long Way (Krait MkII) · FrameShiftDrive — grade 3 Increased FSD Range
A solver rather than a display. Walking one engineer’s referral chain is exact and cheap, and it answers the wrong question — a blueprint usually lists several engineers, and one unlock covers many plans. Marsha Hicks crafts multi-cannons, cannons, fragment cannons, fuel scoops, refineries and four limpet controllers, all at grade 5. So the best next unlock is the one that satisfies the most of what you have planned, not the shortest chain.
One unit, and it is jumps. Distance converts at the range of the ship you are actually flying, and each stop carries its own leg, so a long chain of short hops and one long haul are compared on the same scale instead of being balanced by a tuning constant. Colonia needs no rule of its own: 22,000 light years is hundreds of jumps and swamps any step count — and because the distance is measured from where you are standing, being in Colonia flips it automatically.
What is not a trip is not turned into one. A tribute of fifty units is a shopping run to a system you know, and it is already inside the leg that reaches it. A combat rank is not a trip at all, so it is printed in Frontier’s own words, breaks ties, and never becomes a number. That is also why the whole working is on the page: a ranking nobody can inspect is an oracle, and when it is wrong — or when you would simply rather go somewhere else — you cannot tell a bad answer from a bug.
Distance stays the primary key deliberately. Making “you can just go and do it” a class above it would put an already-invited Colonia engineer ahead of one in the Bubble, and undo the thing Colonia needed no rule for.
The route reaches the checklist as a chain
Pressing Put this route on my checklist proposes one item per stop, in flying order, each carrying the grade that stop actually needs:
Rank 3 with Liz Ryder
Rank 3 with Hera Tani
Rank 5 with Broo Tarquin
A single line reading “unlock Broo Tarquin” hides two engineers and two rank climbs behind a tick you can never make progress on. It is a proposal, like every other plan promotion: accepting it is your own act.
Distance is arithmetic, and that is deliberate
The coordinates ship in Engineers.tsv, generated rather than hand-written. get_distance computes
the same figure correctly and is a network call — so ranking thirty-eight people through one every
time a plan changes is a tab that is useless in flight and unusable offline.
Your own position comes out of the journal: Location, FSDJump and CarrierJump each carry a
StarPos, and across a 912-journal corpus all three carried one every time, 9,332 of 9,332. Nothing
else does — so docking, which names your system and states no position, deliberately leaves it alone
rather than making it unknown the moment you land.
Where either end is unknown the answer is “distance unknown” rather than zero. Zero would sort an engineer nobody can place to the top of a list whose entire subject is who is nearest.
Tools
get_engineer_route and promote_engineer_route are Protected: reachable from the panel and from
a phrase, never from the model. Cost rather than safety is the reason — the advertised tool surface
is re-billed on every turn and the largest profile sat at 39,639 bytes against a 40,000 ceiling.
Nothing is lost by it: “who should I unlock next” is a fixed question with no free-text argument in
it, which is exactly the shape the keyword router handles with no round trip at all.
get_engineer_progress
{"type":"object","properties":{},"required":[],"additionalProperties":false}
find_engineer
Say “engineer in this system”, “who’s the engineer here” or “which engineer is here” to ask about the Commander’s own system without naming it.
{"type":"object","properties":{"engineer":{"type":"string","description":"An engineer by name \u2014 for example \u0022Farseer\u0022 or \u0022Hera Tani\u0022."},"grades":{"type":"string","description":"A kind of module to find engineers for \u2014 for example \u0022Frame Shift Drive\u0022, \u0022Thrusters\u0022 or \u0022Shield Generator\u0022."},"system":{"type":"string","description":"A system to find the engineer based there, by name \u2014 the Commander\u0027s current system when left out."}},"required":[],"additionalProperties":false}
get_engineer_route
Say “who should I unlock next”, “what is the fastest way in” or “which engineer next”.
{"type":"object","properties":{},"required":[],"additionalProperties":false}
promote_engineer_route
Say “put that route on my checklist” or “promote this unlock”.
{"type":"object","properties":{"engineer":{"type":"string","description":"Which engineer, by name. Omit for the best next unlock."}},"required":[],"additionalProperties":false}
Notes for anyone reading the code
tools/gen-engineers.py builds the directory from four sources, each the authority on exactly
one thing:
- EDCD/FDevIDs
engineers.csvis the identity — the engineer id the journal writes, the name, the id64 of the system and the market id of the base. It names neither place. - spansh.co.uk turns those two ids into names, at generation time. That one network call per engineer is made in the tool precisely so that asking “where is Farseer” at the controls reaches nothing at all. The same record carries the system’s coordinates, so the ranking costs no call the tool was not already making.
- msarilar/EDEngineer (MIT)
blueprints.jsonis what they grade: every blueprint names the engineers who offer it and the grade it reaches. - EDDiscovery/EliteDangerousCore (Apache-2.0) is the chain and the prose around it — who refers whom and at what grade, the body the base orbits, how each is discovered and met, and how reputation with them rises. Parsed out of C# source rather than read from data, so the generator asserts a hard count of 38 rows and fails the run outright if that shape changes.
A speciality’s grade is 0 where the source states none, which is every Odyssey suit and weapon row — those blueprints are ungraded in the game rather than missing a figure. Zero is not a grade and is never spoken as one.
The join needs a name that two sources agree on. The id list writes Tod 'The Blaster' McQuinn and
the blueprint list writes Tod McQuinn; without normalising the quoted nickname away his entire
speciality list is silently lost, which reads as an engineer who grades nothing. The same rule
works at runtime, so asking for “Tod McQuinn” finds him.
EngineerProgress comes in two shapes and they mean different things. At startup Elite writes
one carrying an Engineers array — a complete snapshot — and during play it writes one naming a
single engineer whose standing just changed. Treating the second as a snapshot would wipe the other
thirty-seven the first time somebody ranked up; treating the first as a delta would keep an
engineer you no longer have. So the array replaces and the single merges, which is the same
distinction the materials inventory draws.
Standings are keyed by engineer id rather than by name. A name is a string two sources can spell differently; an id is not.
Coordinates are agreed by two sources and checked against a third. spansh states them and
EDDiscovery states them, both exactly, on Elite’s 1/32 ly grid — so a difference wider than one grid
step is not rounding, and the generator refuses to write the table at all rather than ship a distance
nobody can check. Run it with --corpus and Frontier’s own StarPos becomes a third opinion
wherever you have been there; the shipped table had all 38 placed and 31 of them confirmed that way.
Several referrers mean any of them, and one row argues with that. Yi Shen’s own meeting text reads “Complete referral tasks for Baltanos, Eleanor Bresa and Rosa Dayette” — three requirements rather than a choice of three. The directory has read it as a choice since the chain arrived and the solver keeps that reading; what it does about it is name the referrer it picked and print the meeting text underneath, so you read Frontier’s sentence rather than only Directive 47’s count of it. That is the whole reason a ranking has to show its work.
Who can craft a thing is read per grade, because the blueprint table states it per grade: six engineers offer Increased FSD Range at grade 3 and three of them at grade 5. Deriving the list from an engineer’s top grade instead would send you to Professor Palin for a grade 5 drive he does not craft. The directory’s own speciality lists are unioned in beside it, and that half is not redundant — the four Colonia on-foot engineers have no rows in the blueprint table at all, so reading it alone tells a Colonia Commander that nobody within twenty-two thousand light years can do the thing three people next door do.
Four engineers — Baltanos, Eleanor Bresa, Rosa Dayette and Yi Shen — have a location and no blueprint data. They are kept, and the answer says “I have no record of what they modify” rather than implying they do nothing. Dropping them would have Directive 47 deny that a real person exists.