Initialize Project Sacrifice backlog and source baseline

This commit is contained in:
2026-08-18 00:46:42 +03:00
parent d28ea8c3fd
commit 29d4a2d8d8
34 changed files with 4630 additions and 151 deletions
+36
View File
@@ -0,0 +1,36 @@
# QA report
Date: 2026-08-18
## Automated checks
- Clean Gradle build: `clean testDebugUnitTest lintDebug assembleDebug` — passed.
- Unit tests: 8 passed, 0 failed, 0 skipped.
- Device acceptance tests: 1 passed, 0 failed, 0 skipped.
- Level 5 bot: completed the production level in about 8.2 seconds with exactly one death, one retained corpse, pressure-plate activation, door passage, two jumps, and goal contact.
- Android Lint: no issues found.
- APK archive integrity: all entries passed `unzip -t`.
- Package metadata: `com.projectsacrifice.game.debug`, version code 3, min SDK 23, target SDK 34.
- APK signature: v1 and v2 schemes verified; one standard Android Debug signer.
## Device smoke test
Environment: official ARM64 Android Emulator, Android 16 / API 36, 2400×1080 landscape.
Verified:
1. streamed APK installation returns `Success`;
2. cold launch returns `Status: ok`;
3. `MainActivity` remains visible and `RESUMED`;
4. immersive landscape mode is applied;
5. level-selection screen renders correctly;
6. entering level 1 renders the HUD, character, goal, and mobile controls;
7. holding the right control completes level 1;
8. completion records best time/deaths and unlocks level 2 (`unlocked=2`);
9. reaching spikes in level 2 increments the volunteer counter, keeps the corpse in the level, and respawns a live volunteer without resetting the scene;
10. Android crash buffer remains empty after the corrected build and gameplay smoke tests.
11. the level 5 acceptance bot reproduces the complete saw/body/plate/door solution on the same Android 16 emulator; its initial red runs exposed an unstable saw impulse, and the final run passed after the body delivery was corrected.
## Distribution note
The delivered APK is a debug-signed tester build. It is directly installable, but it is not intended for Play Store publication. A production release should use the publisher's private release keystore and a non-debug application ID.