How to use it
Three steps to something that tracks its own progress.
1 Say what you are working towards.
Say "my goal is to buy a Python", or "I want to unlock all the engineers".
D47 adds the goal to the Goals tab.
2 Open the Goals tab and watch it fill in.
Open the Goals tab.
Each goal shows its progress, worked out from your journal.
! The one that stops people.
Put a goal D47 cannot measure on the checklist instead.
The item appears on the Checklist tab, where you tick it by hand.
Why it works this way
Your checklist holds this week. Goals hold this year — and work out their own progress.
1 Two different questions, kept apart.
2 Progress is read off your journal, never ticked.
3 The point is the join: what do I do about it today?
4 Except the career arcs, which propose nothing and say why.
5 Your current story is a goal too.
The stock story you are running appears beside the others, with its clues given out of the story’s total and its stage and current objective as the note, for example “Bad Guys Close In, clue 11 of 18. Now: kill bonds for LTT 7786 Labour, 3 of 8”. The note says so when the story is paused or switched off, a finished story shows as done, and an abandoned one is not shown. You can remove it like any other goal, but it cannot be written, put on the checklist or ticked: it is worked out from the story itself.
The details
Your checklist holds what you are doing this week. Goals hold what you are doing this year.
Elite in each career. Every engineer unlocked. The ship collection. Directive 47 calls each of these an arc: a named ambition with a definition of done, a progress figure nobody typed, and an age.
Progress is worked out, never typed
An arc cannot be ticked by hand and does not offer to be. Your rank, your unlocked engineers and your owned hulls are read off your journal, so the figure is a fact rather than an opinion — the same rule the checklist already draws about derived lines, for the same reason.
Where the journal cannot say, d47 says so rather than guessing:
- A goal you invented is yours to call done, like a checklist line you wrote yourself.
- An arc d47 cannot currently evaluate reports as of when it last could. If Elite has not said anything about your rank this session, the figure from your journals stands with its date on it. It never resets to nothing on the absence of evidence.
The ten that ship
| Arc | Done when | Where the figure comes from |
|---|---|---|
| Elite V in Combat | Combat rank 13 — Elite V | Live journal state |
| Elite V in Trade | Trade rank 13 — Elite V | Live journal state |
| Elite V in Exploration | Explore rank 13 — Elite V | Live journal state |
| Elite V as a Mercenary | Soldier rank 13 — Elite V | Live journal state |
| Elite V in Exobiology | Exobiologist rank 13 — Elite V | Live journal state |
| Imperial Navy | Empire rank 14 — King | Live journal state |
| Federal Navy | Federation rank 14 — Admiral | Live journal state |
| Powerplay rank | Powerplay rank 100 | Your live pledge |
| Every engineer unlocked | Every engineer in the directory | Live journal state |
| The ship collection | One of every hull, owned at once; the Cobra MkIV counts only when owned | Your fleet, plus what you are flying |
Each rank says its name, from Harmless up through Elite V — so d47 says Trailblazer, 12% into it rather than rank 5 of 8, 12% into it. A career arc is done at Elite V, not at Elite. The two navy arcs read the same way — Master, 8% into it rather than rank 3 — but each runs to the top of its own ladder, King for the Empire and Admiral for the Federation, because neither has an Elite.
The Powerplay arc is only on the page while you are pledged. Pledge to a Power and it appears, reporting the rank you hold against 100; leave, and it goes again without a restart. Rank 0 of 100 for nobody is not a goal you hold. Its rank is read off your live pledge rather than off a journal read, so a promotion moves the figure the moment the game writes it.
There is no CQC arc, because almost nobody plays it and an arc permanently at nothing is a line of the page spent telling you about a thing you are not doing. If any of the others is not yours either, remove it — it goes off the page and into the Removed list below the goals, and stays there until you press Recover.
Ask D47 on a rank or Powerplay goal. Rank comes from playing the career, so there is no line to put on your list. Open one of the five career goals, a navy goal or the Powerplay goal and press Ask D47 beside Remove. d47 sends the question for that ladder at once, as if you had typed it — “What’s the fastest way to gain Mercenary rank from where I stand? Search the web if you can.” — and the answer appears below it in the transcript. The model reads your rank from your goals, and searches the web only when web search is on. A finished goal has no button, and the button does nothing while d47 is still answering.
Ages come from your journals
Nothing happens until you ask. Tick Goals on the Checklist bar — it says how many arcs are running — and the goals replace the list until you untick it. Each rank goal has two bars: one to the top of its ladder, labelled To Elite V, To King or To Admiral, and one to the next rank. Press Read my journals at the bottom of the goals. One pass over the journals already on your disk gives every arc its start date. It is arithmetic over events on your own machine — nothing leaves it, and no journal is ever sent to a model.
A read looks like this:
Elite V in Combat: Mostly Harmless, 39% into it. Running 11 months.
Elite V in Trade: Tycoon, 40% into it. Running 13 months.
Elite V in Exploration: Pathfinder, 12% into it. Running 13 months.
Elite V as a Mercenary: Defenceless.
Elite V in Exobiology: Directionless.
Imperial Navy: Serf, 4% into it. Running 8 months.
Federal Navy: Cadet, 61% into it. Running 8 months.
Powerplay rank: rank 8 of 100 with Li Yong-Rui. Running 8 months.
Every engineer unlocked: 19 of 53 unlocked, 2 invited. Running 12 months.
The ship collection: 11 of 47 hulls owned. Running 13 months.
Ages come from 914 journals on this disk, the oldest from 4 Jul 2025.
The checklist points at the arc
The join is what makes both worth having: given a goal that takes months, what is the concrete thing to do about it today?
Ask about one arc and d47 answers with the next step, and offers to put it on your list. Accepting is your act — an arc proposes through the same pending-proposal path everything else does, and you accept or decline it on the Checklist page.
A line that came from an arc says so, so finishing it visibly moves something bigger than itself.
What each arc offers:
- Every engineer unlocked hands the question to the unlock solver, which already answers it properly — ranked by fastest unlock and distance together, and the chain it promotes carries an access step beside each modification.
- The ship collection names the cheapest hull you do not own, off the shipyard table.
- The career arcs propose nothing, and say why. Rank is earned by doing the career; there is no
route to it anyone can plot. Where d47 has a tool that helps —
plot_trade_route,plot_exploration_route,plot_exobiology_route— it names that instead of inventing a plan.
Talking to it
how are my goals going
what are my goals
get_goals
Reads every arc back: how far along each is, how long it has been running, and where the figure came from. The one tool here the model can call on its own, because how is the Elite exploration push going is a thing you say mid-flight and an arc d47 cannot see is an arc it cannot be asked about.
{"type":"object","properties":{},"required":[],"additionalProperties":false}
get_goal_step
Says what to do about one arc today, and offers it as a checklist line. Protected — it writes to the pending proposals, and writing is yours.
{"type":"object","properties":{"goal":{"type":"string","description":"Which goal, by name or key, as read back by get_goals."}},"required":["goal"],"additionalProperties":false}
remove_goal
Takes an arc off the page and puts it in the Removed list. Protected, for the same reason. A removed arc stays removed through a re-read of your journals — it is a decision you made, not a figure d47 recomputes.
{"type":"object","properties":{"goal":{"type":"string","description":"Which goal, by name or key."}},"required":["goal"],"additionalProperties":false}
recover_goal
Puts a removed arc back on the page where it was. Protected.
{"type":"object","properties":{"goal":{"type":"string","description":"Which goal, by name or key."}},"required":["goal"],"additionalProperties":false}
Where it is kept
data/goals.json, beside the executable, keyed per Commander on the Frontier id in your journals —
so two characters on one machine do not report each other’s progress.
Three things live in that file and only one of them is d47’s. The mined marks are a recomputation and are replaced wholesale by the next read. The goals you wrote and the arcs you removed are yours, are stored separately, and a re-read never touches either. The file is plain JSON and meant to be readable; a line d47 cannot parse is reported rather than silently dropped.