|
1 | 1 | // SPDX-License-Identifier: PMPL-1.0-or-later |
2 | | -= YOUR Template Repo Roadmap |
| 2 | += Game Server Admin (GSA) Roadmap |
| 3 | +:author: Jonathan D.A. Jewell |
| 4 | +:revdate: 2026-03-29 |
3 | 5 |
|
4 | | -== Current Status |
| 6 | +== Current State |
5 | 7 |
|
6 | | -Initial development phase. |
| 8 | +GSA is a universal game server probe, config management, and administration tool. |
| 9 | +93% complete. Gossamer GUI + Zig FFI + Idris2 ABI + VeriSimDB backing store. |
7 | 10 |
|
8 | | -== Milestones |
| 11 | +Key capabilities delivered: |
9 | 12 |
|
10 | | -=== v0.1.0 - Foundation |
11 | | -* [ ] Core functionality |
12 | | -* [ ] Basic documentation |
13 | | -* [ ] CI/CD pipeline |
| 13 | +* 22 exported FFI symbols (Zig 0.15.2, libgsa.so) |
| 14 | +* 8 FFI modules: lifecycle, probe, config_extract, a2ml_emit, verisimdb_client, server_actions, game_profiles, groove_client |
| 15 | +* Protocol fingerprinting (8 protocols, 20+ known ports) |
| 16 | +* Config parsing (8 formats: XML, INI, JSON, ENV, YAML, TOML, Lua, KV) |
| 17 | +* 17 game profiles (A2ML files in profiles/) |
| 18 | +* 7 Gossamer GUI panels + 9 panel clades |
| 19 | +* VeriSimDB on 2 ports (main 8090, backup 8091 for game saves) |
| 20 | +* A2ML serialisation, parsing, and config diff |
| 21 | +* Groove voice alerting via .well-known |
| 22 | +* Server actions via Podman/Docker/systemd |
| 23 | +* Secret redaction in A2ML output and octad JSON |
| 24 | +* Chainguard Wolfi containers with quadlets |
| 25 | +* Idris2 ABI with 13 result codes |
| 26 | +* Desktop entry and icon assets (SVG + PNG) |
14 | 27 |
|
15 | | -=== v1.0.0 - Stable Release |
16 | | -* [ ] Full feature set |
17 | | -* [ ] Comprehensive tests |
18 | | -* [ ] Production ready |
| 28 | +Test suites: |
| 29 | +* Zig unit tests: passing |
| 30 | +* Integration tests: 36 tests, passing |
| 31 | +* E2E smoke tests: 8/8 against live VeriSimDB |
| 32 | +* Gossamer chain: 23/25 (2 Ephapax parser gaps) |
19 | 33 |
|
20 | | -== Future Directions |
| 34 | +== v0.9.0 -- Phases 1-12 (Complete) |
21 | 35 |
|
22 | | -_To be determined based on community feedback._ |
| 36 | +* [x] Core Zig FFI library (lifecycle, error buffer, result codes) |
| 37 | +* [x] Protocol probe engine (fingerprinting, known ports) |
| 38 | +* [x] Config extraction (8 format parsers) |
| 39 | +* [x] A2ML emit and diff |
| 40 | +* [x] VeriSimDB HTTP client (Zig 0.15 fetch API) |
| 41 | +* [x] Server actions (start/stop/restart/logs) |
| 42 | +* [x] Game profile registry and parser |
| 43 | +* [x] Groove client for voice alerting |
| 44 | +* [x] Gossamer GUI panels (7 panels) |
| 45 | +* [x] Panel clade system (9 base + game children) |
| 46 | +* [x] Idris2 ABI definitions (Types, Foreign, Layout) |
| 47 | +* [x] VeriSimDB dual-instance deployment (main + backup) |
| 48 | + |
| 49 | +== v0.95.0 -- Phases 13-15 (In Progress) |
| 50 | + |
| 51 | +* [x] E2E test suite against live VeriSimDB |
| 52 | +* [x] Gossamer integration test chain |
| 53 | +* [ ] Ephapax parser completion (`;`, zero-arg calls, lambda blocks) -- 2 failing Gossamer chain tests |
| 54 | +* [ ] Bitbucket mirror setup |
| 55 | + |
| 56 | +== v1.0.0 -- Stable Release |
| 57 | + |
| 58 | +* [ ] Ephapax parser gaps resolved (25/25 Gossamer chain tests passing) |
| 59 | +* [ ] Bitbucket mirror active |
| 60 | +* [ ] OpenSSF badge |
| 61 | +* [ ] Full documentation pass |
| 62 | + |
| 63 | +== Future |
| 64 | + |
| 65 | +* Additional game profiles beyond 17 |
| 66 | +* Live server monitoring dashboard |
| 67 | +* Multi-server fleet management |
0 commit comments