Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 25 additions & 13 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

This file tracks the current state and future direction of IDApTIK.

## Current State (2026-03-29)
## Current State (2026-06-01)

- 2,011+ tests across 211 modules (shared + VM + Deno + sync server + Zig FFI)
- WASM VM backend at 41M ops/sec (Zig), in-browser benchmark harness built
Expand All @@ -14,23 +14,34 @@ This file tracks the current state and future direction of IDApTIK.
- Multiplayer fully wired — VM relay, covert links, alerts, co-op requests dispatch to QView + Observer
- polyglot-i18n across 5 languages (EN, ES, FR, DE, JA)
- Escape hatch TUI (Rust/ratatui) for emergency state inspection
- Balance analyser (Julia Monte Carlo) — 7 recommendations, report regenerated
- Balance analyser (Julia Monte Carlo) — 7 recommendations available in `balance-report.json` (not yet applied)
- Containerised deployment (Chainguard images) with CI lint + build + push pipeline
- Character system: Jessica subclasses, Q certifications, Moletaire coprocessors
- Character system: Jessica subclasses (`JessicaBackground.res`), Q certifications, Moletaire coprocessors
- Jessica gameplay loop fully wired: attributes from background bonuses → loadout (3-slot, 20 items) → critical-roll outcomes → dual-alert HUD
- Q gameplay loop fully wired: program deck (`QPrograms.res`), certifications gate program tracks, critical-roll bridge into deck synergy
- Editor surface area in `idaptik-ums/src/editor/`: 9 corrupted dead `.res` files deleted (#116 → #120); rewrite blocked on AffineScript user-module codegen landing
- E2E suite operational: Playwright (root) `webServer.cwd` corrected (#118 → #121); 12/18 chromium tests pass, 6 residual a11y/perf/console gaps tracked in #122
- OpenSSF Silver ~97% — fuzz harnesses, security tests, only bestpractices.dev registration remains

## Near-Term (code ready to build)

- [ ] Apply balance analyser recommendations (guard density: security/scada/backbone)
- [ ] Wire `QPrograms.res` — 13 programs, 4-slot deck (designed, not coded)
- [ ] Wire `JessicaClass` bonuses into `PlayerAttributes.res`
- [ ] Wire `MoletaireHunger.res` gravity system into `Moletaire.res` update loop
- [ ] Wire `MoletaireCoprocessors` multipliers into `Moletaire.res` tuning
- [ ] `JessicaLoadout.res` — 3-slot system (Weapon/Tool/Consumable), 20 items
- [ ] Dual alert HUD — Physical (Jessica) + Cyber (Q), Invisible Inc style
- [ ] Jessica customisation — hair up/down, colour, clothing (simple/realistic)
- [ ] Critical success/failure system for Jessica skills and Q certs
- [ ] Register on bestpractices.dev for OpenSSF Silver badge
- [ ] Apply balance analyser recommendations to per-level configs (`balance-report.json` → `LevelConfig.res` / per-level Tuning data). 7 recommendations across `city`, `dmz`, `security`, `scada`, `backbone` — guard patrol radius, defence density, alert threshold, guard spawn rate
- [ ] Register on bestpractices.dev for OpenSSF Silver badge (external action — repository qualifies)
- [ ] Resolve 6 residual Playwright failures (a11y, perf threshold, console errors) — see #122
- [ ] Rewrite editor surface in `idaptik-ums/src/editor/` once AffineScript user-module codegen lands. AS stdlib extern → Deno-ESM codegen has landed (affinescript#522, #504, #463, #421); user-module codegen is the remaining gap. Tracked in idaptik#116 (deletion landed) and across-estate parent affinescript#228

## Completed (2026-06-01 audit)

All items in this section were marked as Near-Term in the 2026-03-29 ROADMAP but found wired during the 2026-06-01 truthfulness audit. Each item is followed by the source file where the wiring lives.

- [x] ~~Wire `QPrograms.res` — 13 programs, 4-slot deck~~ — wired into `GameLoop.res:27,94` (deck state) + `PlayerState.res:57,83,145-149` (load/unload + availability) + `LoadoutScreen.res:191-192` (UI) + `QViewScreen.res:431-438` (status). All 12 programs (PortScanner, NetworkMapper, VulnerabilityProbe, CredentialHarvester, CameraLoop, FirewallBypass, Rootkit, LogScrubber, PacketSniffer, DNSRedirect, DroneOverride, SignalJam) exist and have track requirements
- [x] ~~Wire `JessicaClass` bonuses into `PlayerAttributes.res`~~ — done; the type was renamed from `JessicaClass` to `JessicaBackground.background`. Wired via `PlayerAttributes.makeWithClass` (`PlayerAttributes.res:41-51`)
- [x] ~~Wire `MoletaireHunger.res` gravity system into `Moletaire.res` update loop~~ — wired at `Moletaire.res:1052-1092` (hunger rate calculation + total pull computation each `update` tick)
- [x] ~~Wire `MoletaireCoprocessors` multipliers into `Moletaire.res` tuning~~ — wired throughout `Moletaire.res:229,276,441,457,467,476,485,520,555,1034,1051` (audio sound count, voice mimicry, sensor range, vault weak-point detection, vibration reading, path efficiency, eat-chance multiplier)
- [x] ~~`JessicaLoadout.res` — 3-slot system (Weapon/Tool/Consumable), 20 items~~ — wired at `GameLoop.res:35,100` (loadout state) + `PlayerState.res:56,82,117-138` (default + persistence) + `LoadoutScreen.res:153,161` (selection UI). 6 weapons + 8 tools + 6 consumables = 20 items confirmed
- [x] ~~Dual alert HUD — Physical (Jessica) + Cyber (Q), Invisible Inc style~~ — wired via `DualAlertBridge.res` (full bridge) + `HUD.res:76,86` (HUD rendering) + `GameLoop.res:25,93,886-894` (state + per-tick update + anti-hacker guard dispatch)
- [x] ~~Jessica customisation — hair up/down, colour, clothing (simple/realistic)~~ — implemented in `JessicaCustomiseScreen.res` (hair style, colour, options container, preview rendering). Reachable from `CharacterSelectScreen.res:343`
- [x] ~~Critical success/failure system for Jessica skills and Q certs~~ — wired in `CriticalRoll.res` + applied at `WorldBuilder.res:1453+` (Jessica skill rolls via `jessicaRollWithAttrs`) and `QPrograms.res:376-379` (Q rolls via `qRollForTrack`)

## Completed (2026-03-29 session)

Expand Down Expand Up @@ -59,6 +70,7 @@ This file tracks the current state and future direction of IDApTIK.
## Long-Term

- [ ] ReScript 13 migration (validated in `idaptik-rescript13-staging`)
- [ ] ReScript → AffineScript migration (estate-wide STEP 8; gated on AS user-module codegen; tracked in idaptik#116 + affinescript#228)
- [ ] Competitive multiplayer mode (attack vs defend)
- [ ] MMO expansion — multiple Q-class players (Q-1, Q-2, Q-specializations)
- [ ] Steam release with workshop mod support
Expand Down
Loading