Align level parity docs and fetch/status validation

- Add LevelsCompare.md with setup and validation comparisons against Gazler/githug.
- Document that LevelsCompare.md must be updated when level behavior changes.
- Track FETCH_HEAD count in RepoState so the Fetch level can match upstream validation.
- Mirror upstream Status setup with staged files plus untracked database.yml.
- Keep Fetch from being solved by pull despite native Git FETCH_HEAD behavior.
- Bump app version and build debug APK.
This commit is contained in:
Joe Tretter
2026-05-11 21:34:28 -05:00
parent 316323a00c
commit 4bac818571
11 changed files with 228 additions and 12 deletions

View File

@@ -23,6 +23,8 @@ The UI supports a terminal-centered workflow with optional inspection panes:
Development tasks should be run through the project tooling script. It provisions the local toolchain, keeps paths project-relative, and runs Gradle with the project configuration expected by this repository.
While implementing changes, keep `commit-summary.txt` updated as you go. This file is intentionally ignored by git and excluded from automatic commits so it can be edited manually too; the build tooling uses it as the commit message when it exists and is non-empty.
## Android project tooling
This repo includes a root-level tooling script:
@@ -133,6 +135,7 @@ When adding or changing a level:
- Keep one source file per exercise.
- Keep `allGithugLevels()` in upstream Ruby Githug order.
- Document the setup and validation intent in the level file.
- Update `LevelsCompare.md` whenever level setup, validation, hints, or accepted solution behavior changes.
- Prefer validators that inspect `RepoState` over validators that match command strings.
- Add multiple `LevelTestCase` scenarios when more than one solution path should be accepted.
- Run `bash ./AndroidProjectTooling.sh --test` before building.