Files
baya-monorepo/dev
hamid 5839b3508f backend phase 7: search & matching (nurse_search_index)
Add the discovery layer: the denormalized nurse_search_index read model
(one row per bookable variant x covered service area), maintained inline
inside each source write's transaction, plus the single public search
query behind the INurseSearch seam.

- Entity + EF config + migration (search schema): covering search index,
  filtered-unique (variant_id, city_id, district_id) pair with NULL
  district participating, nurse_id index, soft-delete.
- ISearchIndexMaintainer (write seam) + SearchIndexMaintainer: reindex
  variant / nurse / fan-out / remove-area / full rebuild, staged in the
  owning source write's unit of work; wired into the b3/b4/b5/b6 handlers.
- INurseSearch (read seam) + SqlNurseSearch (real MVP backend): reads only
  is_searchable=1, category/city/district(NULL-aware)/gender/price filters,
  rating sort, pagination. Elasticsearch deferred (config Search:Backend).
- SearchNursesQuery (+ validator) and RebuildSearchIndexCommand; public
  SearchController (GET search/nurses) + admin AdminSearchController
  (POST admin_search/rebuild_index).
- Tests: 9 DB-backed maintainer/search + 4 WebApplicationFactory; updated
  affected b3/b4/b5/b6 handler tests. Build clean, 167 tests green.
- Docs: server CLAUDE.md project map, contract search.md, swagger refresh,
  handoff, report, mocks-registry rows, STATUS.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 17:24:26 +03:30
..
2026-06-28 21:59:59 +03:30
2026-06-28 21:59:59 +03:30

dev/ — the Balinyaar build workspace

This folder is the plan for building Balinyaar, not application code. It takes the repo from its current starter + auth baseline to the MVP described in product/, as a chain of agent-runnable prompt files split into two parallel tracks.

Folder What it is
phases/ The prompt chain — backend/ (b0b15) and frontend/ (f0f15), plus the shared rules/template in phases/_shared/. Start at phases/README.md.
contracts/ The shared API/flow contract between the two independent projects. Backend writes, frontend reads.
shared-working-context/ The parallel-agent handoff + per-phase reports + the mock registry. Each lane writes only its own files.

How to use it

  1. Read phases/README.md — the roadmap and dependency graph.
  2. To run a phase, point a fresh agent at one phase file (e.g. "Execute dev/phases/backend/backend-phase-2.md"). The phase file tells it what to read, what to build, and how to close out.
  3. Run the two tracks in parallel with two agents if you like: a frontend phase named frontend-phase-N-bM.md only needs backend phase bM merged first; everything else about the two tracks is decoupled through contracts/ and shared-working-context/ (which are designed so the two agents never touch the same files).

Non-negotiables (every phase enforces them)