From 786398597456c73b7e24c31a2a6537fb7d5cce1d Mon Sep 17 00:00:00 2001 From: Xurkon Date: Sun, 24 May 2026 00:37:53 -0500 Subject: [PATCH] docs: mark Phase 5 COMPLETE in PROGRESS.md --- docs/PROGRESS.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index fe8f588..039e9f8 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -93,9 +93,17 @@ QuestieLearner is being hardened in phases. Each phase is committed and pushed s --- -## Phase 5: Comms Hardening — ⏳ PENDING +## Phase 5: Comms Hardening — ✅ COMPLETE -**Status:** Not started. Depends on Phase 4. +**Status:** Completed. Commit `2f5312f`. + +**Features added:** +- `_ValidateLearnedSpawnData(data)` — validates external learned spawn data before merge, checks: data is a table, spawns[zoneId] zoneId keys are numbers, each zone's coord list is a table of {x, y} pairs where x and y are numbers in the 0–100 range. Rejects strings, nil, out-of-range coords, and malformed nested structures silently (no crash). +- Validation gate added at the start of `HandleNetworkData` before any merge + +**Spec tests:** `Modules/QuestieLearner_spec.lua` Phase 5 section — 15 cases covering valid data, missing spawn data, type failures (string/nil/number), string zoneId, string zoneSpawns, malformed coords, out-of-range coords (negative, > 100), boundary edge cases + +**Revert:** `git revert 3f8c9f5 --no-edit && git push` undoes feature; `git revert 2f5312f --no-edit && git push` also undoes test commit ---