fix(ogar-vocab): plural-table coverage for time_entries / issue_statuses / issue_priorities / memberships#69
Merged
Conversation
Audit of compound-name promoted concepts revealed 4 more cases of the plural-table-alias defect codex flagged on PR #66 (wiki_pages, custom_fields, #67) and PR #68 (issue_relations, fixed on #68's branch): TimeEntry Rails table 'time_entries' lex 'time_entrie' BUG IssueStatus Rails table 'issue_statuses' lex 'issue_statuse' BUG IssuePriority Rails table 'issue_priorities' lex 'issue_prioritie' BUG Membership plural 'memberships' lex 'membership' BUG All four cases: ogar_codebook(plural_form) returned None because the single-s lexical fallback drops to a non-canonical string (Rails uses irregular pluralization — ies→y, s→ses — that single-char drop doesn't reverse). The promoted-arm only ran once on the full input, before lex, so the lex'd string never got re-matched. Fix: add the plural snake_case + lowercase-PascalCase forms to each arm: billable_work_entry: + 'timeentries' | 'time_entries' project_status: + 'issuestatuses' | 'issue_statuses' priority: + 'issuepriorities' | 'issue_priorities' project_membership: + 'membership' | 'memberships' Extended plural_table_aliases_resolve_to_promoted_codebook_id with 11 new entries (3 per concept where applicable) pinning each tableized variant -> codebook id. ogar-vocab 41 (test row count unchanged; entries inside extended); clippy clean; all 10 real-corpus tests still pass.
894e541 to
aa78315
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proactive fix — same defect class as #67 + #68 on 4 more concepts
Audit of compound-name promoted concepts (run after the codex P2 on #68) revealed that 4 more already-merged concepts have the same plural-table-alias gap — Rails uses irregular pluralization (
ies→y,s→ses) that the single-slexical fallback can't reverse, soogar_codebook(rails_table_form)returnsNone:TimeEntrytime_entriestime_entrieIssueStatusissue_statusesissue_statuseIssuePriorityissue_prioritiesissue_prioritieMembershipmembershipsmembershipSame defect class codex flagged on #66 (
wiki_pages,custom_fields→ fixed in #67) and #68 (issue_relations→ fixed on #68's branch). Each arm needs explicit plural-table forms.Fix
Tests
Extended
plural_table_aliases_resolve_to_promoted_codebook_idwith 11 new entries (3 per concept where applicable: snake, lowercase-concat, PascalCase) pinning each tableized variant → codebook id. The test now exhaustively covers the plural pattern for all promoted compound concepts.Green
ogar-vocab41 · clippy clean · all 10 real-corpus tests still pass · disk steady.Companion to #68
#68 fixes the codex-flagged
issue_relationsdirectly on its branch (added the plural to theproject_relationarm + 3 test entries). This PR is the proactive sweep covering the rest of the same defect class on already-merged concepts. They land independently.🤖 Generated with Claude Code