1,459 words
Ranked by expected damage, not by category. The mitigation column is the useful
one — a risk without a specific mitigation is a worry, not a risk.
Read these even if you read nothing else on this page.
| # |
Risk |
P |
Impact |
Mitigation |
| 1 |
Maintainer stops. Bus factor is 1, this is unpaid, and M2 is 4–7 months with no new gameplay — which is exactly where solo projects end |
High |
Fatal |
Ruthless milestone gating; visible partial wins inside M2; the 90-second test as an early, attemptable target; documentation good enough that someone else could continue (already largely true) |
| 2 |
M2 overruns and morale collapses with it. WebGPU migration plus atmosphere plus terrain quadtree is three hard problems stacked |
High |
Severe |
Sequence them so each produces something visible: geomorphing before biomes, biomes before WebGPU. Keep the WebGL path alive so progress is always playable. |
| 3 |
Scope reverts to the fusion pitch. "Star Citizen + Elite + NMS" invites re-adding the FPS, the economy, base building, and everything else already cut |
High |
Severe |
The pillars are the cut criterion, and the MVP is named. Any addition needs an ADR, not a conversation. |
| 4 |
Nobody finds it. No marketing budget, no publisher, no store placement, and browser games carry a quality stigma |
High |
Severe |
The demo is the marketing — a link that opens on a real galaxy is inherently shareable. The portable picture makes a composed view shareable. Lead with the loop, never the tech (see risk 8). |
| 5 |
Cross-catalog identity resolution corrupts silently. Deciding HIP 71683 = HD 128620 = GJ 559 A is where an ingest quietly poisons addressing, saves and discovery records at once |
Medium |
Severe |
Golden vectors; a manually reviewed list for the nearest few hundred systems; a diff gate between catalog versions that fails loudly on any identity change; treat it as ADR-worthy |
| Risk |
P |
Impact |
Mitigation |
| WebGPU migration overruns |
Med |
Severe |
Three.js WebGPURenderer + TSL rather than a hand-written renderer; keep the WebGL path as a working fallback rather than a deleted one. Note that HDR output exists only on the WebGPU path, so the fallback is visually reduced by design. |
| Browser memory limits kill long sessions in dense systems |
Med |
Major |
Hard caps on streamed patch count and instance buffers; measure before M2 completes; the benchmark harness is M2 scope precisely for this |
| Atmosphere correct from orbit and the ground proves intractable in one shader |
Med |
Major |
Prototype the integral in isolation before M2 is committed; a visible switch between two shaders breaks pillar 1 and would need re-planning. Partly retired 2026-08-19 — spike 2 ran one shader correct from both, in TSL, and the language is not the obstacle. The remaining risk is the LUT precomputation, not the formulation |
| 60 fps at 1080p on the target laptop is not achievable |
Med |
Major |
Budgets are set at 80% of frame time, not 100%; reduce instance counts and terrain level ceiling before reducing scope |
| HOTAS support is not achievable in a browser |
Med Low |
Minor |
Downgraded 2026-08-19 — spike 5 shows WebHID reaches Joystick and Gamepad collections uncapped in Chromium. The residual risk is browser coverage, not capability: Firefox and Safari will not ship WebHID, so the promise must name Chromium. Hardware verification still outstanding. Mouse and keyboard must be genuinely good regardless. |
| A determinism regression slips in |
Low |
Severe |
Already well-defended: golden vectors, algorithm versions, state-hash comparison, pnpm check. The residual risk is agent-generated code that looks right — hence the CONTEXT.md bug log |
| Shader compilation stalls on first entry to a visual state |
Med |
Minor |
Pre-warm pipelines during the jump tunnel, which exists partly for this |
No CI — resolved 2026-08-19 |
— |
— |
.github/workflows/check.yml runs pnpm check and the capability self-test on every pull request. |
| Risk |
P |
Impact |
Mitigation |
| Space Engine deflates the technical pitch — real astronomy at continuous scale has existed for fifteen years |
High |
Major |
Never lead with the tech. Lead with the loop and with discovery credit. See competitive |
| Audience is saturated by three enormous incumbents |
Med |
Major |
Do not compete on fidelity or breadth. The feature matrix's honest bottom rows are the strategy |
| "Browser game" reads as low effort |
Med |
Major |
The first thirty seconds must be visually credible. This is another argument for M2 first. |
| Real astronomy proves boring — most nearby systems are dim M dwarfs with nothing confirmed |
Med |
Major |
Genuine risk and it cuts against pillar 2. Mitigation is that projections fill the gaps and terrain quality carries the experience. If playtesting shows arrival is routinely disappointing, that is a pillar-level problem and needs an ADR, not a tuning pass. |
| Exploration without combat is too thin for launch |
Med |
Major |
The MVP gate is a 10-hour session producing a filled Almanac. If it fails, M6 moves ahead of release. |
| Risk |
P |
Impact |
Mitigation |
| Agent-generated code accretes plausible-looking wrongness |
Med |
Major |
Already defended: layer enforcement, property-based tests, executable capability checks, AGENTS.md rules that exist because violating them is a rewrite |
| The design bible goes stale against the code |
High |
Minor |
Each page names its seams and links to the roadmap. Staleness is visible rather than silent. Review at each milestone gate. |
| Estimates in production are wrong |
High |
Minor |
They are marked as assumptions and the lower bounds are flagged as unlikely. They exist for sequencing, not for commitment. |
| Risk |
P |
Impact |
Mitigation |
No LICENSE file — resolved 2026-08-19 |
— |
— |
Apache-2.0 written. The repository is now open in fact as well as in description. |
| HYG's CC BY-SA share-alike obligation is missed on derived data |
Med |
Major |
Confirmed 2026-08-19: CC BY-SA 4.0 § 4(b) makes the packed catalog Adapted Material. It must carry the license, ship as its own asset rather than inlined into the bundle, and attribute in-product. See sustainability |
| Gaia's CC BY-NC clause attaches a non-commercial restriction to the shipped game |
unidentified Realized |
Major |
Found 2026-08-19 by spike 4; the bible had recorded Gaia as "open with attribution". Mitigation is to ship HYG + NASA and keep Gaia out of the bundle pending a written answer from data.licenses@esa.int. AT-HYG inherits the problem. |
| A dataset changes terms or availability |
Low Med |
Major |
Already happened once: HYG moved from GitHub to Codeberg and the GitHub mirror froze at v4.1. Pin source URLs, assert on row counts at ingest, and keep multiple sources for the same facts. NASA's archive states no license at all, so "unencumbered" was an assumption rather than a finding |
| WebGPU spec or browser behavior changes |
Low |
Major |
Retain the WebGL fallback |
| Hosting for the persistent universe becomes unaffordable |
Med |
Minor |
Designed for already: PU degrades to solo online degrades to solo offline, and nothing is lost but other people's records — because the universe is derived |
| Player-named universe requires moderation at a scale one person cannot handle |
Med |
Major |
Filtered names plus a report path; unfiltered in solo modes. [OPEN QUESTION in world.md] |
Risks taken with open eyes, so they are not re-discovered later as surprises:
- production — the critical path these threaten
- charter — the constraints most of these follow from
CONTEXT.md — the bugs already found and defended against