Unify two-root lib + test layout to one root per namespace #534
Labels
No labels
bug
duplicate
enhancement
help wanted
high priority
invalid
L
low priority
M
medium priority
needs refinement
optional
question
S
technical improvement
UX Improvement
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: local-it/mitgliederverwaltung#534
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Motivation
The same namespace currently lives under two directory roots:
Mv.Membership.*is split acrosslib/membership/and
lib/mv/membership/(likewiseaccounts,membership_fees); the test tree is split the same way. This isthe dominant navigation cost and feeds dependency cycles.
Key simplification
Module names are already correct —
lib/membership/member.exalready definesMv.Membership.Member, etc.Only the directory lags. Elixir resolves modules by name, not path, so this is a pure physical relocation
(
git mvfiles + their test files);defmoduleand allalias/references stay unchanged → no caller churn.Do not rename modules here (separate, larger refactor; unnecessary for layout).
Scope (ordered sequence, one step per commit, CI green each)
lib/mv_web/member_live/index/membership_fee_status.exunderlib/mv_web/live/member_live/index/(R-004).lib/membership/**→lib/mv/membership/**; move matching teststest/membership/**→test/mv/membership/**.lib/accounts/**→lib/mv/accounts/**; move matching tests.lib/membership_fees/**→lib/mv/membership_fees/**; move matching tests.CODE_GUIDELINES.md.Acceptance criteria
lib+test.mix compileandjust ci-devgreen after each step.Main caveats
.credo.exsincluded:globs, mixelixirc_paths, any path-based tooling.