Skip to content
Merged
Show file tree
Hide file tree
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
35 changes: 29 additions & 6 deletions .machine_readable/6a2/STATE.a2ml
Original file line number Diff line number Diff line change
@@ -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"
Expand Down Expand Up @@ -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
Expand All @@ -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 = [
Expand Down
14 changes: 10 additions & 4 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)

Expand Down
Loading