Repository navigation
Diagnostics
Useful diagnostics explain a failure stage, code and time without exposing credentials or private content. EdgeORE's wallet incident demonstrated why a generic Not connected card is inadequate: it concealed whether association, authorization, parsing or a later read failed. The diagnostic branch improves that visibility. Future testing should preserve those typed results instead of replacing them with another theory about the host.
Identify the APK, runtime and external dependency before starting. Save the action sequence, visible result and a relevant log window. A failure note should answer what the user did, what the app showed, what the external component returned and what remains unknown. Do not claim a root cause merely because an error resembles a known problem. A hypothesis should name the test that could confirm or reject it.
adb logcat -d -b crash > crash.txt
adb logcat -d -t 300 > recent-logcat.txtReview these files before publication. They may contain other applications' messages, endpoint names, document paths or sensitive identifiers. A crash buffer alone may not capture a typed wallet refusal because that can be a handled error, not a crash. The app's structured error display and redacted logs are therefore important alongside AndroidRuntime output.
A balance read failing after authorization should show Balance unavailable, not erase the account. A wallet refusal should not become a chain failure. A null signature status should not become Not sent. A malformed RPC result should not become clean Not found. Each distinction prevents a misleading recovery action. Diagnostics are part of safe behavior because users decide what to retry based on them.
UTC time helps compare events across machines, but ordering inside one process can require monotonic timing. Wall clocks can change. Network timeouts should identify their stage without dumping request bodies that contain private documents. A digest may help correlate an operation, but even digests can reveal low-entropy content. Use stable operation IDs where possible and document any public metadata included in logs.
A good bug report includes source/APK identity, device or hosted profile, Android version, wallet or node version, reproduction steps, expected behavior, actual behavior, redacted logs and screenshots. If the failure concerns a transfer, include the public signature and cluster after checking that publication is appropriate. Never include the seed, raw auth token, development private key or node pairing secret.
Keep original private logs separately if a maintainer needs an authorized secure review; publish a redacted copy with a note that redaction occurred. Do not edit signed receipts to redact sensitive bodies and still present them as verifying originals. Prefer a non-sensitive reproduction. The acceptance goal is enough information to investigate the actual failure while maintaining the same consent and secrecy boundaries the application is supposed to protect.
Built by CodesbyFebin · Devnet review candidate · Trust boundaries · Qualification
EdgeORE
- The EdgeORE handbook
- Read the evidence ledger
- Clone and pin the Android source
- Prepare the Android build environment
- Run and preserve qualification gates
- Install and identify the candidate APK
- Choose a runtime without tool shopping
- Authorize through Mobile Wallet Adapter
- Use the official mock wallet safely
- Test disconnect and reconnect after restart
- Read balance and obtain devnet funding
- Review the exact transaction message
- Submit once and observe confirmation
- Recover after an interrupted submission
- Understand budgets and spend reservations
- Read a receipt without overclaiming it
- Verify an export on the JVM
- Change signed lamports and observe rejection
- Separate integrity, provenance and completeness
- Use an Ollama-compatible owned host
- Understand endpoint and transport policy
- Evaluate the experimental on-device AI branch
- Evaluate AI quality and privacy claims
- Use the device-local encrypted vault
- Design an owned-node IPFS adapter
- Design backup and restore acceptance
- Pair an owned node with a pinned identity
- Observe health and revoke node access
- Interpret controls and device readings
- Threat model and production boundaries
- Collect diagnostics without leaking secrets
- Design customer-funded SOL contribution jobs
- Specify escrow before writing a program
- Settlement program status
- Use attestation for the claim it can support
- Evaluate federated learning and data contribution
- Bound mesh networking and agent hosting
- Write marketing copy that survives inspection
- Build the website and publish the GitBook handbook
- Contribute without merging every upstream repository