|
3 | 3 | ## Stage 1: official installer acquisition and read-only preflight |
4 | 4 |
|
5 | 5 | - [ ] Official NeoForge Maven metadata and compatible-version mapping verified against currently published releases. |
6 | | -- [ ] SHA-256 sidecar fetch, checksum parsing, verified JAR download and cache reuse validated in Gradle tests. |
| 6 | +- [x] Synthetic SHA-256 sidecar fetch, checksum parsing, verified JAR download and cache reuse validated in Gradle core tests. |
7 | 7 | - [ ] Tampered archive, missing/bad checksum, unsupported installer layout and wrong Minecraft target rejected. |
8 | 8 | - [ ] Windows/Linux/macOS cache paths and interrupted downloads verified. |
9 | 9 | - [ ] Real official NeoForge installer checked in preflight (read-only, no processor execution). |
10 | 10 |
|
11 | 11 | ## Stage 2: processors, libraries and generated outputs |
12 | 12 |
|
13 | | -- [ ] Resolve installer library coordinates and metadata-defined trusted repositories, with file integrity checks. |
| 13 | +- [ ] 🚧 Processor library coordinate resolution and allow-listed Maven downloads implemented; official source and artifact matrix acceptance open. |
14 | 14 | - [ ] Expand client-side installer data placeholders in a confined staging directory; reject unsafe paths. |
15 | | -- [ ] Execute required processors using managed Java with bounded resource/time limits and captured diagnostics. |
| 15 | +- [ ] 🚧 Execute client processors in a child JVM selected from the resolved runtime, bounded by a time limit; cancellation/log persistence and official process acceptance open. |
16 | 16 | - [ ] Check declared outputs, reject incomplete/corrupt generated artifacts and publish only on success. |
17 | | -- [ ] Merge generated NeoForge version metadata with Mojang version for common launch pipeline. |
| 17 | +- [ ] 🚧 Overlay generated NeoForge metadata on the base client and route through common launch pipeline; actual Minecraft bootstrap/launch acceptance open. |
18 | 18 | - [ ] Reuse the shared instance activity lock and preserve every existing world/mod when preparation fails. |
19 | | -- [ ] Add deterministic successful/error/rollback MockEngine and process fixtures. |
| 19 | +- [ ] 🚧 Added deterministic successful Java processor and mismatch fixtures; rollback, partial-publish and cancellation cases open. |
20 | 20 |
|
21 | 21 | ## Stage 3: desktop and actual-game acceptance |
22 | 22 |
|
23 | | -- [ ] Offer NeoForge only after its end-to-end installer/launch path is operational. |
| 23 | +- [ ] 🚧 NeoForge selector is visible; do not label this path production-ready until full official smoke and gameplay pass. |
24 | 24 | - [ ] Select compatible versions in instance creation/editing, without breaking Vanilla/Fabric/Quilt. |
25 | 25 | - [ ] Filter Modrinth by NeoForge, and recognize NeoForge mod metadata in local manager. |
26 | 26 | - [ ] Test real Minecraft startup using NeoForge and at least one compatible client mod. |
|
31 | 31 | It never executes downloaded installers and never exposes an unusable NeoForge |
32 | 32 | selection in the UI. GitHub CI and real-world acceptance must be recorded before |
33 | 33 | checking their respective boxes. Stage 2 and Stage 3 are not implemented. |
| 34 | + |
| 35 | +## Hosted verification record |
| 36 | + |
| 37 | +- The core has both synthetic processor tests and an opt-in official NeoForge 21.1.213 / Minecraft 1.21.1 Maven integration test. |
| 38 | +- GitHub Actions runs the real integration test on main before creating native packages. A passing test demonstrates installation, not a real graphical Minecraft startup. |
| 39 | +- Processor code is downloaded executable third-party Java; the staged filesystem provides data isolation, **not an operating-system sandbox**. |
| 40 | +- No stable v0.7 release is authorized solely by passing unit tests or package builds. Real game launch, compatible mods and supported platform matrix must still be accepted. |
0 commit comments