Skip to content

feat(mobile): add core_mobile extras group and ADR 001 for Android compatibility (#21) - #41

Closed
MrSpideyNihal wants to merge 9 commits into
developmentfrom
feature/issue-21-mobile-adr
Closed

MrSpideyNihal wants to merge 9 commits into
developmentfrom
feature/issue-21-mobile-adr

Conversation

@MrSpideyNihal

Copy link
Copy Markdown
Owner

Summary

Closes #21 — Audit desktop-only dependencies, define the core_mobile extras group, and document the Android deployment strategy as an Architecture Decision Record.


What's Changed

pyproject.toml [MODIFIED]

Added a new [project.optional-dependencies] group:

core_mobile = [
    numpy>=1.24.0,
    click>=8.1.0,
]

Installing with pip install taskify[core_mobile] pulls only numpy and click — no sounddevice, soundfile, vosk, customtkinter, or httpx. This satisfies the acceptance criterion directly.

docs/adr/001-mobile-compatibility.md [NEW]

Full Architecture Decision Record covering:

  • Desktop-only vs mobile-safe subsystem table — every package in src/taskify/ classified with the reason for its desktop-only status
  • Recommended STT strategy — Vosk Android AAR via Chaquopy JNI bridge; the existing abstract STTEngine base class requires no changes
  • Recommended NLP/LLM strategy — rule-based nlp_backend.py only on mobile; Ollama excluded (no network calls)
  • GUI options — Kivy port vs native Android XML + Chaquopy (native recommended for production)
  • Compliance table — shows what each extras group installs
  • Consequences — positive impacts, known risks, and deferred work

Test Results

ruff check src/  → All checks passed!
pytest tests/unit/ → 150 passed

No production source files were modified — this PR is purely additive (new extras group + documentation).


Acceptance Criteria

  • ✅ pip install taskify[core_mobile] installs without any desktop-only packages
  • ✅ ADR is reviewed and ready to merge

MrSpideyNihal and others added 9 commits July 17, 2026 12:37
feat: Eisenhower Matrix dashboard main window
…mpatibility (#21)

- Add [core_mobile] optional-dependency group to pyproject.toml:
    numpy>=1.24.0, click>=8.1.0 only (no sounddevice, soundfile,
    vosk, customtkinter, or httpx). Satisfies the acceptance criterion
    'pip install taskify[core_mobile] installs without desktop packages'.
- Add docs/adr/001-mobile-compatibility.md documenting:
    * Desktop-only vs mobile-safe subsystem boundaries
    * Recommended Vosk Android AAR + Chaquopy STT adapter strategy
    * Rule-based NLP only (spaCy bundled in APK) for mobile LLM target
    * Two GUI options: Kivy port vs native Android XML + Chaquopy
    * Compliance table for all extras groups
- No production source files changed; ruff clean, 150 unit tests pass.
@MrSpideyNihal

Copy link
Copy Markdown
Owner Author

Superseded: all changes from this branch have been merged into main directly. Closing as stale.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant