Skip to content

openapi: document position-search empty-result semantics (#137 ruled expected)#168

Merged
SyniRon merged 1 commit into
developfrom
docs/137-position-search-semantics
Jun 7, 2026
Merged

openapi: document position-search empty-result semantics (#137 ruled expected)#168
SyniRon merged 1 commit into
developfrom
docs/137-position-search-semantics

Conversation

@SyniRon

@SyniRon SyniRon commented Jun 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

Resolves the #137 verdict question: expected behavior, not a bug. The spec description for MilpacService_SearchByPosition now states case-insensitivity and what an empty profiles map means.

Diagnosis (mirror DB, exact query shape — join + secondary filter)

Query Matches
squad leader 0
section leader 125
SECTION LEADER 125
platoon leader 22

The matcher (escaped substring LIKE, case-insensitive via collation) is correct. The org's billet vocabulary has Section Leader / Assistant Section Leader / Platoon Leader (357 rows); the only "Squad"-titled positions are staff roles. {"profiles":{}} for "squad leader" is data-truthful.

No behavior change — prose-only spec edit; go test -count=1 ./openapi/... ./contract/... green.

Closes #137

🤖 Generated with Claude Code

…expected)

Diagnosis on the mirror confirmed the matcher is a correct case-insensitive
unanchored substring LIKE (squad leader: 0 rows; section leader: 125;
SECTION LEADER: 125; platoon leader: 22 — through the exact join+filter
shape). Empty results are data-truthful: the org's billet vocabulary has
Section/Platoon Leaders, no "Squad Leader" title.

Closes #137

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@SyniRon
SyniRon merged commit 6aa5823 into develop Jun 7, 2026
3 checks passed
@SyniRon
SyniRon deleted the docs/137-position-search-semantics branch June 7, 2026 07:10
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.

Position search returns empty profiles for plausible queries - bug or expected?

1 participant