docs: add BLOCKERS.md documenting Task 1 status and questions

- Documents what was completed vs what needs verification
- Lists items requiring Android SDK to test (compilation, ktlint, tests)
- Raises 3 questions requiring human decision:
  1. Wallet scope (per-session vs app-wide)
  2. Key storage behavior on biometric changes
  3. Testnet vs mainnet for initial development
This commit is contained in:
Kayos 2026-03-27 10:06:19 -07:00
parent 225afc3108
commit 9ff2b0964a

51
BLOCKERS.md Normal file
View file

@ -0,0 +1,51 @@
# BLOCKERS.md - Phase 1 Implementation Blockers
## Task 1: Module Scaffolding
### Completed
- ✅ Module structure created (api/impl/test)
- ✅ Metro DI setup following Element X patterns
- ✅ WalletEntryPoint and WalletState APIs defined
- ✅ PaymentFlowNode placeholder with Appyx navigation
- ✅ FakeWalletEntryPoint for testing
- ✅ Cardano client library dependencies added
- ✅ ProGuard rules configured
- ✅ Basic unit tests added
- ✅ Pushed to Gitea phase1-dev branch
### Not Verified (No Android SDK in build environment)
- ⚠️ `./gradlew :features:wallet:impl:assemble` - compilation not tested
- ⚠️ `./gradlew ktlintCheck --continue` - code style not verified
- ⚠️ `./gradlew :features:wallet:impl:test` - unit tests not run
### Action Required
When a developer with Android SDK runs this code:
1. Run `./gradlew :features:wallet:impl:assemble` to verify compilation
2. Run `./gradlew ktlintCheck --continue` and fix any code style issues
3. Run `./gradlew :features:wallet:impl:test` to verify tests pass
## Questions Requiring Human Decision
### Q1: Wallet Scope
Currently using `SessionScope` for wallet bindings. Should wallets be:
- Per-session (current implementation) - each Matrix account has its own wallet
- App-wide (`AppScope`) - one wallet shared across Matrix accounts
**Recommendation:** Per-session seems correct for a Matrix-integrated wallet.
### Q2: Key Storage Location
Currently planning to use `EncryptedSharedPreferences` with Android Keystore.
- Should keys be tied to biometric enrollment? (invalidated if biometrics change)
- Or should keys persist even after biometric changes?
**Recommendation:** Keys should be invalidated on biometric changes for security.
### Q3: Testnet vs Mainnet
Phase 1 plan targets mainnet (`Constants.KOIOS_MAINNET_URL`).
- Should we build testnet support initially for safer testing?
- Or go straight to mainnet?
**Recommendation:** Testnet first for safer development, easy switch to mainnet later.
---
*Last updated: 2026-03-27*