Investigate exact-locale search results and reported duplicates
@filiperochalopes đang làm issue này rồi.
Từ ngày 10/10/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
User story
As a CIEL Lab curator, I want locale-filtered searches to return names from only the selected locale so I can review the intended language without regional variants being mixed in.
Use case
When filtering for pt, a curator expects names with locale pt only, not pt_BR. The reported search also appears to show duplicates, which should be traced before changing behavior.
Requirements
- Identify the search surface and query mode shown in the report.
- Document the repository’s current and historical locale-matching decisions and the rationale actually supported by code, tests, commit history, or documentation; mark any rationale that remains unknown.
- Determine whether the reported duplicates are repeated concept rows, repeated names within a concept, or an apparent duplication caused by locale-family inclusion.
- Assess the requested exact-locale behavior (
ptmatches onlypt;pt_BRremains a separate locale) against all affected search paths and identify the smallest follow-up change, if needed. - Do not change application behavior in this investigation; report findings before proposing implementation.
Acceptance criteria
- Given the implicated search path, when traced, then the report names its caller, normalization and matching logic, and relevant tests.
- Given repository history and comments, when the behavior decision is explained, then the documented reason is evidenced; missing rationale is explicitly stated as unknown rather than inferred.
- Given the example from the report, when the duplicate symptom is investigated, then its type and cause are identified, or the specific additional evidence needed is documented.
- The investigation produces a concise recommendation and no production data or application behavior is changed.
More details (collapsible)
Slack report and initial repository evidence
The Slack thread reports that searching Portuguese terms returns pt_BR and duplicates. A reply says the family behavior was intentional, but the author does not recall the reason.
In the MCP structured-filter path, filter_dsl.py intentionally treats a bare language locale as a family (pt matches pt and pt-br; a region-qualified locale is exact). The code comment and regression test frame this as useful for questions such as “no Portuguese translation.” The original feature commit (cc6b51c) introduces the behavior and test, but its commit message does not record a broader product rationale. Separately, CIEL’s canonical locale policy specifies pt_BR (not pt-BR).
MCP Qdrant search groups indexed points by concept ID and deduplicates name entries by normalized locale, name type, and value. This makes duplicate concepts/names less likely in that path but does not establish what the Slack screenshot shows. The attached screenshot and exact search surface still need review.
Source: https://openmrs.slack.com/archives/D087CPXRNDB/p1791568222333839
- Ngôn ngữ chính
- Không có dữ liệu ngôn ngữ
- Star
- 4
- Fork
- 2
- Merge trung bình
- 2 giờ 12 phút
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của OpenConceptLab/ocl_issues
-
component/fhir type/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
OpenConceptLab/ocl_issues#3026 ·
-
component/api decision/human-review signal/needs-access signal/quick-win signal/small-scope signal/well-specified stage/triaged type/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
OpenConceptLab/ocl_issues#3012 · 2 bình luận ·
-
component/design-system decision/ai-ready signal/low-risk signal/quick-win signal/small-scope signal/well-specified stage/triaged type/docs
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 70/100
OpenConceptLab/ocl_issues#2983 · 1 bình luận ·
-
component/mapper decision/ai-ready signal/low-risk signal/quick-win signal/small-scope signal/well-specified stage/triaged type/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
OpenConceptLab/ocl_issues#2966 · 2 bình luận ·
-
component/mapper component/web decision/human-review signal/low-risk signal/needs-human signal/quick-win signal/small-scope signal/well-specified stage/triaged type/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
OpenConceptLab/ocl_issues#2920 · 1 bình luận ·