Kisab v0.1.0
Kisab v0.1.0
Status
PUBLISHED AND VERIFIED
Kisab v0.1.0 is the first published production release of the standalone offline farm-management Android application. The annotated v0.1.0 tag points at commit b1d4fde31ce5faf8463305871664557a479877c9, which is contained in main. Release workflow run 30750947492 produced a production-signed APK that passed unit tests, lint, tag/version validation, Android APK signature verification, and independent checksum verification.
Summary
Kisab v0.1.0 is the first published production release of the standalone offline Android application. It records a single farm, its livestock and crop entries, and a transaction history, entirely offline, and supports versioned backup/restore through Android's document picker.
Feature scope
M1 — Offline single-farm management
- Launchable Android app for a single local farm.
- Create and reopen a locally persisted farm.
- Add livestock and crop entries.
- Record income and expense transactions.
- Deterministic persisted state across app/process recreation.
M2 — Transaction model
- Stable transaction identifiers and explicit income/expense types.
- Governed transaction types and categories.
- Money stored in minor units with an ISO currency code.
- Explicit transaction timestamps.
- Create/edit/delete transaction flows with destructive-action confirmation.
- Transaction history rendered newest-first by timestamp with a deterministic tie-breaker for equal timestamps.
- Versioned persistence migration from the legacy M1 format.
M3 — Offline backup and restore
- Export and restore a single farm entirely offline.
- Versioned backup envelope with a deterministic UTC export time.
- Android Storage Access Framework/document-picker integration without broad filesystem permissions.
- Full validation before any restore; the current farm is preserved on cancelled or invalid imports.
- Explicit overwrite confirmation before state replacement.
Verification record
- Release workflow run:
30750947492(jobsvalidate,build-sign, andcreate-draft-releaseall succeeded). - Annotated tag:
v0.1.0. - Tagged commit:
b1d4fde31ce5faf8463305871664557a479877c9(contained inmain). - JVM unit tests: passed (33 tests).
- Android instrumentation tests: passed (13 tests, API 36).
- Android Lint: 0 errors.
- Tag/version validation: passed (
v0.1.0matches packaged version name). - Android APK signature verification: passed.
- Android signature scheme v2: enabled.
- Signer certificate SHA-256:
92a578e8cedad6ea86d2dc27663a3279f07a70794627a280f877ab30b1f89cff. - APK SHA-256:
990c100980c469c9411fb7dc66747d0286a3c8020f7d0c8acca949b7e43bd7bc. - Application ID:
com.susankhya.kisab. - Version name:
0.1.0. - Version code:
1. - Minimum SDK: 26.
- Target SDK: 36.
Dependency
com.susankhya.foundation:foundation-session-android:0.1.1(from GitHub Packages; pinned)org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0androidx.appcompat:appcompat:1.7.0androidx.activity:activity-ktx:1.9.0
Known limitations
- Single-farm scope; no cloud synchronization, accounts, multi-farm management, or multi-tenant administration.
- No full accounting engine, broad reporting, or analytics.
- Legacy M1 persisted data migrates to the current schema on load; M1-format backup envelopes are not produced.
- Nepali localization and field validation are planned for a later milestone and are not part of this release.
Compatibility
- Backup envelope schema version:
1(field-separated text envelope with base64 payload). - Persistence schema version:
2. - Backups carry only farm-domain state; they never include session credentials, device keys, preferences, or unrelated application state.
- Malformed or unsupported backups are rejected while preserving the current farm state.
Install / build
minSdk 26,targetSdk 36.- Debug:
./gradlew :app:assembleDebug. - Signed release: see
docs/release/RELEASE_POLICY.mdfor the signing-input contract.