What counts as a divergence¶
Phaethon's retail-faithful mode aims to do what the PlayStation 2 build did, frame for frame where it can: the same physics tick, the same field rate for the audio-synced cutscenes, the same heaps and load order. When the port and the console disagree, the console is right, and a divergence report is fixed against retail's own code, so the strongest report says what retail does and where that reading comes from.
That also draws the boundary on the other side. If the port reproduces something the PlayStation 2 build actually did, faithfully, that is retail behavior working as intended, not a divergence, even if it looks or plays like a bug. The question a divergence report answers is whether the port matches what retail did, not whether what retail did looks right.
Which form is for what¶
Issues here are filed through one of several forms rather than freeform; blank issues are turned off. Start from the issue picker and pick the one that matches what you saw:
- Retail divergence: the port behaves, looks or sounds differently from the retail game; say what retail does and how you know.
- Crash or hang: the game closed, froze or the window stopped drawing; attach the log, paste the crash block if there is one.
- Performance: the game runs slower, stutters or loads longer than it should; bring the reading from the debug window.
- Bug report: something went wrong while playing or building; say what, on which build, and how to see it again.
- Feature request: something the port should do that it does not; say which mode it belongs to and what done looks like.
- Tooling, CI or landing pipeline: a train, pipeline, tip, oracle, gate, smoke, CI workflow or launcher script did the wrong thing.
- Documentation: a page says the wrong thing, or the thing you needed is not written anywhere.
- Agent finding: a finding from an AI agent's run, or any filing that carries an evidence trail; what was run, what it printed, what could not be checked.
The retail divergence form, field by field¶
- Build, required: the stamp at the bottom of the frame, or the tip or commit. A strong answer is the literal stamp, not "the latest version."
- Game, required: Jak X, Jak 1, Jak 2 or Jak 3.
- Where, required: the level, mode, menu, race, cutscene or moment, named the way the game does if you can (the form's own example is Kras City, first lap of the Deathmatch in the Blue Eco Cup).
- What the port does, required: concretely, on the build named above. A capture, a clip or a log line beats an adjective.
- What retail does, required: the same moment on the PlayStation 2 build, as concretely as you can.
- Where the retail reading comes from, required: a dropdown running from real hardware run beside the port, to real hardware from a recording or capture, an emulator (name it and its version in the notes), the retail decode (a file and line in the notes), or a memory of playing it. The first two carry the most weight; a memory of play is welcome too, it just has to say that is what it is.
- How much it matters, required: a dropdown for whether it blocks progress (a race, a mission or a menu cannot be completed as retail allows), affects gameplay (timing, physics, AI, scoring or controls differ in play), or is presentation only (a picture, a sound or text differs, play is the same).
- How to see it, required: the steps from a fresh boot, and whether it happens every time.
- Notes, captures and guesses, optional: attach captures by dragging the files in; a guess at the cause is welcome if it is marked as one.
- Declaration: three boxes, confirming what you wrote under "What the port does" is what you saw on the build named, that the retail reading is what you said it is from the source you picked, and that AI involvement is disclosed with
(AI-assisted)if an agent was involved.
Crashes¶
A crash or a hang gets its own form rather than the divergence one. The crash log lives under your user folder: %APPDATA%\Phaethon\<game>\log\ on Windows, ~/.local/share/Phaethon/<game>/log/ on Linux. Attach the newest log by dragging it in. If the game printed a crash block, a wall of registers and a stack, paste it into the form; if it closed with no block at all, say so, that is itself a finding. Alongside the block and the log, the form asks for the build, the game, which renderer (Vulkan, OpenGL or not sure), your machine (GPU, driver version, operating system), what you were doing up to the crash, whether it repeats, and the dump from <user folder>/dumps/ if one was written.
Performance reports¶
Performance also has its own form. Press F2 in game to open the debug window: the frame card shows the frame time, the cap and the GPU time, and its Capture tab writes a timing dump you can attach. The form asks for the build, the game, your machine (CPU, GPU, driver, operating system and display refresh rate), the renderer and settings in use (Vulkan or OpenGL, which upscaler if any, ray tracing, frame cap, resolution), where you were (the level, race or menu, and what was on screen), and the reading itself: frame time or frame rate against what you expect, the debug window's numbers, and the timing dump if you took one.
After you file¶
No report here is waved away. An issue that is not ready yet gets a reply saying what would make it land: the reading that is missing, the form it should take, the issue it should cite. Every reply says what is needed next, not whether the report was welcome in the first place.