From 9ff2b0964acabc0f8ce9b108b03986deafd5ddcb Mon Sep 17 00:00:00 2001 From: Kayos Date: Fri, 27 Mar 2026 10:06:19 -0700 Subject: [PATCH] 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 --- BLOCKERS.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 BLOCKERS.md diff --git a/BLOCKERS.md b/BLOCKERS.md new file mode 100644 index 0000000000..9c27d0522c --- /dev/null +++ b/BLOCKERS.md @@ -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*