docs(m011): record approved MVP playtest evidence
This commit is contained in:
@@ -984,7 +984,7 @@ the ESP32-C6 Flash, RAM, socket, and network limits.
|
||||
|
||||
## Milestone 011 — Gameplay tuning and MVP acceptance
|
||||
|
||||
**Status:** `IN_PROGRESS`
|
||||
**Status:** `COMPLETE`
|
||||
|
||||
### Objective
|
||||
|
||||
@@ -1024,8 +1024,6 @@ Implementation is in progress. `docs/BALANCE_REPORT.md` locks the current MVP
|
||||
gameplay configuration and records the deterministic maze metrics. The
|
||||
playtest procedure and result table are in `docs/PLAYTEST_REPORT.md`, and the
|
||||
criterion-by-criterion evidence register is in `docs/MVP_ACCEPTANCE.md`.
|
||||
Representative completed-match timings and the final release build record are
|
||||
still required before this milestone can be marked `COMPLETE`.
|
||||
- On 2026-09-08, `bash scripts/run_host_tests.sh` passed its health, Wi-Fi,
|
||||
NVS, provisioning, lobby/protocol, maze, game, disconnect-recovery, browser,
|
||||
and web-asset suites. The locked 1,024-seed sweep reported cycles `133..133`,
|
||||
@@ -1035,6 +1033,110 @@ still required before this milestone can be marked `COMPLETE`.
|
||||
RAM bytes and 1,028,956 of 2,097,152 application bytes. The matching
|
||||
`buildfs` command passed using 2,031,616 of 2,031,616 LittleFS bytes.
|
||||
`docs/MVP_ACCEPTANCE.md` records version `0.10.0`, build hashes, and the
|
||||
19,253-byte reproducible web payload. Human playtest evidence for the
|
||||
approximately five-minute target remains pending, so Milestone 011 is
|
||||
`IN_PROGRESS` and Milestone 012 has not started.
|
||||
19,253-byte reproducible web payload.
|
||||
- On 2026-09-08, the project owner confirmed the representative physical
|
||||
two-player playtests worked as expected with no gameplay defects or balance
|
||||
issues. The owner explicitly approved an evidence deviation for acceptance
|
||||
criterion 2: no match count or elapsed-time statistics are required. The
|
||||
approval, its scope, and the absence of a hard timer are recorded in
|
||||
`docs/PLAYTEST_REPORT.md`; criterion 12 of `MVP.md` is mapped as passing by
|
||||
that approved deviation in `docs/MVP_ACCEPTANCE.md`. Together with the
|
||||
deterministic balance evidence, complete mapped MVP evidence, and matching
|
||||
release-candidate images, this satisfies every Milestone 011 acceptance
|
||||
criterion. Milestone 011 is `COMPLETE`; Milestone 012 remains `NOT_STARTED`.
|
||||
|
||||
## Milestone 012 — Combinatorial humorous name suggestions
|
||||
|
||||
**Status:** `NOT_STARTED`
|
||||
|
||||
### Objective
|
||||
|
||||
Replace the small fixed set of humorous player-name suggestions with a
|
||||
deterministic, varied generator that combines a Russian adjective and noun in
|
||||
the manner of Docker's random container names.
|
||||
|
||||
### Scope
|
||||
|
||||
- Define bounded Russian adjective and noun vocabularies suitable for the
|
||||
player-facing lobby.
|
||||
- Generate valid UTF-8 name suggestions by combining one adjective and one
|
||||
noun, with a hyphen between them.
|
||||
- Cycle through the available combinations deterministically before repeating.
|
||||
- Skip combinations already assigned to a player session.
|
||||
- Retain the existing bounded response size, protocol shape, and Russian
|
||||
player-facing error behavior.
|
||||
- Add deterministic host-side coverage for combination count, cycling,
|
||||
uniqueness, occupied-name skipping, and valid output bounds.
|
||||
|
||||
### Deliverables
|
||||
|
||||
- Combinatorial humorous-name generator in the authoritative web gateway.
|
||||
- Portable host tests covering the generator's selection rules.
|
||||
- Updated protocol/lobby test evidence.
|
||||
|
||||
### Acceptance criteria
|
||||
|
||||
1. Each name suggestion has the form `adjective-noun`, uses valid UTF-8, and
|
||||
satisfies the lobby name-validation limits.
|
||||
2. The generator provides substantially more combinations than the previous
|
||||
five fixed suggestions and does not repeat one until its configured
|
||||
combination set has been traversed.
|
||||
3. A currently occupied player name is never suggested.
|
||||
4. Exhaustion returns the existing bounded Russian `no_suggestion` error.
|
||||
5. All existing host tests and the targeted generator tests pass.
|
||||
6. The firmware builds and remains within the factory partition budget.
|
||||
|
||||
### Evidence
|
||||
|
||||
Completion evidence is not yet available. Expected evidence includes the
|
||||
targeted host-test output, `bash scripts/run_host_tests.sh`, and
|
||||
`/home/sasa/.platformio/penv/bin/pio run -e esp32-c6-devkitm-1` output with
|
||||
the final application-size report.
|
||||
|
||||
## Milestone 013 — Random humorous login headlines
|
||||
|
||||
**Status:** `NOT_STARTED`
|
||||
|
||||
### Objective
|
||||
|
||||
Make the login screen feel more lively by selecting a humorous Russian
|
||||
headline at random whenever a player opens the page.
|
||||
|
||||
### Scope
|
||||
|
||||
- Expand the login screen's bounded set of player-facing Russian humorous
|
||||
headlines.
|
||||
- Select one headline using browser-provided randomness when the login page is
|
||||
initialized.
|
||||
- Provide a safe fallback when strong browser randomness is unavailable.
|
||||
- Preserve the existing responsive layout, accessibility semantics, and static
|
||||
asset-size constraints.
|
||||
- Add deterministic browser tests by injecting or stubbing the random source.
|
||||
|
||||
### Deliverables
|
||||
|
||||
- Expanded login-headline vocabulary in the browser application.
|
||||
- Random headline selection with a bounded fallback.
|
||||
- Browser tests for selection, fallback behavior, and visible Russian copy.
|
||||
|
||||
### Acceptance criteria
|
||||
|
||||
1. The login screen has a substantially expanded set of humorous Russian
|
||||
headlines, all appropriate for player-facing UI.
|
||||
2. On separate page initializations, the application selects a headline from
|
||||
the configured set using browser-provided randomness rather than a fixed
|
||||
sequence.
|
||||
3. If the preferred random source is unavailable or fails, the login screen
|
||||
still displays a valid configured headline.
|
||||
4. The selected headline remains readable and does not break the login layout
|
||||
at the responsive sizes defined in `docs/UI_STYLE.md`.
|
||||
5. Targeted browser tests and `bash scripts/run_host_tests.sh` pass.
|
||||
6. The regenerated web asset is deterministic for a given source tree and
|
||||
remains within the LittleFS payload budget.
|
||||
|
||||
### Evidence
|
||||
|
||||
Completion evidence is not yet available. Expected evidence includes targeted
|
||||
browser-test output, `bash scripts/run_host_tests.sh`, and the reproducible
|
||||
web-asset size and hash report from
|
||||
`/home/sasa/.platformio/penv/bin/pio run -e esp32-c6-devkitm-1 --target buildfs`.
|
||||
|
||||
Reference in New Issue
Block a user