Skip to content

Add in-memory telemetry, Hilt DI, recommendations UI, fake repo and unit tests#4

Open
danoff wants to merge 1 commit into
mainfrom
codex/request-assistance-for-bmad-x12msg
Open

Add in-memory telemetry, Hilt DI, recommendations UI, fake repo and unit tests#4
danoff wants to merge 1 commit into
mainfrom
codex/request-assistance-for-bmad-x12msg

Conversation

@danoff

@danoff danoff commented May 8, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Introduce an in-memory telemetry model to capture UI events for early MVP telemetry and offline validation.
  • Wire dependency injection so view models can use telemetry and a local fake recommendations source for UI iteration.
  • Replace the seeded Results flow with a recommendation card UI that surfaces trust/license/rationale and captures user actions for analytics.

Description

  • Add telemetry domain and storage with TelemetryEvent, TelemetryRepository, and an InMemoryTelemetryRepository implementation and bind it via a new AppModule using Hilt.
  • Enable Hilt by adding App application class, updating AndroidManifest.xml, annotating MainActivity with @AndroidEntryPoint, and converting view models to @HiltViewModel.
  • Implement recommendation domain types and a FakeOerRecommendationRepository, update navigation to safely encode query (Uri.encode) and move results consumption into ResultsViewModel using SavedStateHandle.
  • Replace seeded Results UI with RecommendationCard UI and actions (Use This, Need Better Match, Helpful/Not helpful) and record telemetry on view, submit, impressions, opens, ratings, and better-match requests.

Testing

  • Added unit tests for InMemoryTelemetryRepository in InMemoryTelemetryRepositoryTest, which verify ordering and max-size behavior. Tests passed.
  • Added HomeViewModelTest to assert HomeViewed, SearchFocused, and SearchSubmitted events and blank-submit behavior; tests passed.
  • Added ResultsViewModelTest to assert ResultsViewed, impressions, SearchFailed, and action telemetry events; tests passed.
  • Project compiles with the new DI and view model changes and the above unit tests were executed successfully.

Codex Task

danoff pushed a commit that referenced this pull request May 16, 2026
Formalize the 10 GitHub issues into 3 epics and 11 stories with
acceptance criteria derived from the PRD. Mark issues #1 and #4
(Sprint 1 work) as done. Seed sprint-status.yaml so bmad-sprint-status,
bmad-create-story, and bmad-dev-story have a machine-readable tracker.

Epic 1: Core Discovery Loop (mobile) — in-progress
  1-1 search-first home + telemetry: done
  1-2 recommendation card UI: done
  1-3 back-navigation results→home: backlog (P0)
  1-4 feedback capture: backlog (P0)
  1-5 need-better-match control: backlog (P0)
  1-6 accessibility validation: backlog (P0)

Epic 2: Backend Matching Service (oer-matching-api) — backlog
  2-1 scoring engine v1
  2-2 remix license hard filter
  2-3 ticket-first fallback endpoint

Epic 3: Trust, Resilience, Enrichment — backlog
  3-1 trust panel v1
  3-2 offline/cache resilience

https://claude.ai/code/session_0167JUTdprg8pTxqsp9w5wB2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant