From b342a77f1b09eea7f7186a29f71d2dbe8853b663 Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Mon, 1 Jun 2026 21:58:35 +0100 Subject: [PATCH] =?UTF-8?q?docs(state+roadmap):=202026-06-01=20session=20c?= =?UTF-8?q?loseout=20=E2=80=94=20balance=20recs=20applied=20+=20Playwright?= =?UTF-8?q?=20fixed=20+=20Burble=20rename?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ROADMAP.md: - Current State: balance analyser line — 4 of 7 recs applied, 3 patrol-radius deferred - Near-Term: drop balance-application (done) + Playwright (done); keep Julia-regen + bestpractices.dev + editor rewrite - Completed (2026-06-01 session): balance recs application, analyser patrol_radius fix, Playwright residuals, Burble rename .machine_readable/6a2/STATE.a2ml: - last-updated: 2026-05-03 → 2026-06-01 - test-status: 2256 → 2011+ across 211 modules - route-to-mvp: Burble rename, balance applied (4 of 7), idaptik#84 added - critical-next-actions: Julia regen + #84 wait - session-history.2026-06-01: full entry with PRs merged/armed + issues closed/open Co-Authored-By: Claude Opus 4.7 (1M context) Signed-off-by: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> --- .machine_readable/6a2/STATE.a2ml | 35 ++++++++++++++++++++++++++------ ROADMAP.md | 14 +++++++++---- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/.machine_readable/6a2/STATE.a2ml b/.machine_readable/6a2/STATE.a2ml index 31cf5a6b..0e32dd12 100644 --- a/.machine_readable/6a2/STATE.a2ml +++ b/.machine_readable/6a2/STATE.a2ml @@ -1,15 +1,15 @@ # SPDX-License-Identifier: AGPL-3.0-or-later # STATE.a2ml — IDApTIK project state -# Updated 2026-05-03 +# Updated 2026-06-01 [metadata] project = "IDApTIK" version = "0.9.0-alpha" type = "asymmetric-co-op-stealth-game" -last-updated = "2026-05-03" +last-updated = "2026-06-01" branch = "main" build-status = "clean — 0 errors, 123 modules compiled, warnings only" -test-status = "CRG C ✓ — 2256 tests passing" +test-status = "CRG C ✓ — 2011+ tests across 211 modules" [project-context] description = "Asymmetric co-op stealth puzzle-platformer and adaptive game engine" @@ -66,12 +66,16 @@ abi-ffi = { percent = 95, notes = "17 Idris2 modules + 11 Zig files, 0 believe_m [route-to-mvp] remaining = [ - { item = "Grumble voice protocol", priority = "medium" }, - { item = "Level rebalancing — apply balance analyser recommendations", priority = "high" }, + { item = "Burble voice spatial-audio UX layer + groove discovery probe (bridge already wired via VoiceBridge.res → BurbleAdapter.res)", priority = "medium" }, + { item = "Regenerate balance-report.json against analyser mean_patrol_radius fix (#128) + apply 3 deferred patrol-radius recs", priority = "medium" }, { item = "Jessica skills tree — PARKED for co-design with son", priority = "low" }, { item = "Register on bestpractices.dev", priority = "low" }, + { item = "Rewrite idaptik-ums/src/editor/ — gated on AffineScript user-module codegen (parent affinescript#228, local idaptik#84)", priority = "blocked" }, { item = "ReScript 13 migration (blocked on UTF-8 crash)", priority = "blocked" }, ] +applied = [ + { item = "Balance analyser recommendations (4 of 7)", via = "#131", detail = "city alert_threshold via UPS-on; security defence_density via DB-SERVER cascadeTrap drop; backbone guard_spawn_rate via edge AntiHacker removal + Expert count 3→2; backbone defence_density via NA-BACKBONE+ATLAS-ROUTER cascadeTrap+timeBomb drops" }, +] [blockers-and-issues] panic-attack-findings = 164 @@ -81,10 +85,29 @@ dep-file-type = "via @assetpack/core > jimp chain — upgrade file-type >=21.3.1 [critical-next-actions] actions = [ - "Apply balance analyser recommendations (security/scada/backbone guard density)", + "Install Julia + regenerate balance-report.json against #128 analyser fix + apply 3 deferred patrol-radius recs (city/dmz/scada)", "Register on bestpractices.dev for OpenSSF Silver badge", "Review panic-attack false positives", + "Wait on affinescript#228 (user-module codegen) before rewriting idaptik-ums/src/editor/ — tracked as idaptik#84", +] + +[session-history.2026-06-01] +title = "Comprehensive audit + Playwright residuals + balance application + Burble rename" +changes = [ + "Foundational fixes landed: #120 (10 corrupted .res deleted, closes #116), #121 (Playwright webServer.cwd, closes #118), #119 (Tauri→Gossamer estate-wide + STAPEL-VOLL phantom DLC cleanup).", + "Track C security cleanup: #115 (closes #99).", + "Doc truthfulness audit: ROADMAP 2026-03-29 → 2026-06-01 — 8 of 10 Near-Term items found already wired (QPrograms deck, JessicaBackground bonuses, MoletaireHunger gravity, MoletaireCoprocessors multipliers, JessicaLoadout 3-slot, DualAlertBridge, Jessica customisation, CriticalRoll). PR #123 rewrote ROADMAP to reflect actual wiring with source-file pointers.", + "Playwright residuals split + fixed across 3 sub-PRs: #125 ARIA landmarks + accessible name + aria-live region on PixiJS host, #126 CI-gated fps threshold (CI ⇒ ≥5fps, local ⇒ ≥24fps), #127 WebDriver-gated voice startup (skips Burble WebSocket open when navigator.webdriver === true). Closed parent #122.", + "Balance analyser fix #128 (closes #124): mean_patrol_radius field added to LevelStats; recommendation site corrected from stats.guard_spawn_rate to stats.mean_patrol_radius. JSON output now exposes mean_patrol_radius.", + "Balance recommendations applied #131: 4 of 7 valid recs to LevelConfig.res — city UPS-on (alert_threshold 0.25 → 0.40), DB-SERVER cascadeTrap dropped (security defence_density 0.190 → 0.143), edge AntiHacker removed + Expert count 3→2 (backbone guard_spawn_rate 1.2 → 0.80), NA-BACKBONE+ATLAS-ROUTER cascadeTrap+timeBomb dropped (backbone defence_density 0.524 → 0.381). 3 patrol-radius recs deferred pending balance-report regeneration against #128 fix.", + "Voice protocol renamed Grumble → Burble #129. Source repo hyperpolymath/burble (Mumble-inspired self-hostable voice-first platform). Bridge already wired: VoiceBridge.res → BurbleAdapter.res → ws://localhost:6473/voice via Phoenix WebSocket. Spatial-audio UX + groove discovery probe (Main.res:141 comment claims it but the probe doesn't exist) remain as Mid-Term.", + "a2ml-validate-action bumped to 6bff6ec for s-expression form support #130.", + "Wiki Home.md updated with Current State 2026-06-01 + Recent Sessions + Burble note.", ] +prs-merged = [ "#114", "#115", "#117", "#119", "#120", "#121", "#123", "#125", "#126", "#127", "#128", "#129", "#130" ] +prs-armed = [ "#131" ] +issues-closed = [ "#116", "#118", "#122", "#124", "#99" ] +issues-open = [ "#84 (gated on affinescript#228)" ] [session-history.2026-04-11] changes = [ diff --git a/ROADMAP.md b/ROADMAP.md index 0596e4b1..f4fb3a80 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -14,7 +14,7 @@ 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 available in `balance-report.json` (not yet applied) +- Balance analyser (Julia Monte Carlo) — 7 recommendations in `balance-report.json`. 4 valid recommendations applied (city alert_threshold via UPS-on, security defence_density via cascadeTrap drop, backbone guard_spawn_rate via AntiHacker removal + Expert count 3→2, backbone defence_density via cascadeTrap+timeBomb drops); 3 patrol-radius recommendations deferred pending balance-report regeneration against the analyser `mean_patrol_radius` fix (#128) - Containerised deployment (Chainguard images) with CI lint + build + push pipeline - 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 @@ -25,10 +25,16 @@ This file tracks the current state and future direction of IDApTIK. ## Near-Term (code ready to build) -- [ ] 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 +- [ ] Regenerate `balance-report.json` against the analyser `mean_patrol_radius` fix (#128) and apply the 3 remaining patrol-radius recommendations (`city.guard_patrol_radius`, `dmz.guard_patrol_radius`, `scada.guard_patrol_radius`). Requires Julia - [ ] 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 +- [ ] 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#84 + #116 (deletion landed) and across-estate parent affinescript#228 + +## Completed (2026-06-01 session) + +- [x] ~~Apply balance analyser recommendations~~ — 4 valid recommendations applied via #131; `LevelConfig.res` now reflects city UPS-on (alert_threshold 0.25 → 0.40), DB-SERVER cascadeTrap dropped (security defence_density 0.190 → 0.143), edge AntiHacker removed + `getGuardCountForDifficulty Expert 3 → 2` (backbone guard_spawn_rate 1.2 → 0.80), NA-BACKBONE+ATLAS-ROUTER cascadeTrap+timeBomb dropped (backbone defence_density 0.524 → 0.381). 3 patrol-radius recs deferred — see Near-Term +- [x] ~~Fix balance-analyser `guard_patrol_radius` bug~~ — analyser was reading `guard_spawn_rate` for the patrol-radius recommendation; added `mean_patrol_radius` field to `LevelStats` struct and corrected the recommendation site (#128, closes #124) +- [x] ~~Resolve residual Playwright failures~~ — split #122 into a11y / perf / console: ARIA landmarks + accessible name + `aria-live` region (#125), CI-gated fps threshold (`CI ⇒ ≥5fps`, local ⇒ ≥24fps, #126), WebDriver-gated voice startup to silence Burble WebSocket console error (#127) +- [x] ~~Voice protocol rename Grumble → Burble~~ — `hyperpolymath/burble`, Mumble-inspired self-hostable voice platform; bridge already wired via `VoiceBridge.res` → `BurbleAdapter.res` (#129) ## Completed (2026-06-01 audit)