You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #707 has two foundational crates whose names imply the opposite of their actual architectural roles:
tracedecay-application is the bottom-of-stack ports/contracts layer.
tracedecay-usecases is the top-of-stack product application/use-case orchestration layer.
Both crates contain long module-level explanations because the one-shot split historically conflated them. V2 has not shipped, so we should remove the ambiguity rather than preserve it as permanent architecture documentation.
Goal
Make crate names match responsibilities and remove split-era semantic confusion.
This likely means renaming current tracedecay-application to a contracts/ports name and current tracedecay-usecases to tracedecay-application, but choose the minimal dependency-safe form after inventorying callers.
Work
Inventory what belongs in domain vs ports/contracts vs orchestration.
Rename/re-home the two layers so conventional names reflect actual responsibility.
Remove split-era explanatory comments that exist only to explain misleading names.
Context
PR #707 has two foundational crates whose names imply the opposite of their actual architectural roles:
tracedecay-applicationis the bottom-of-stack ports/contracts layer.tracedecay-usecasesis the top-of-stack product application/use-case orchestration layer.Both crates contain long module-level explanations because the one-shot split historically conflated them. V2 has not shipped, so we should remove the ambiguity rather than preserve it as permanent architecture documentation.
Goal
Make crate names match responsibilities and remove split-era semantic confusion.
Proposed direction
Converge toward a model such as:
tracedecay-domain: pure domain/value contracts.tracedecay-contracts(or equivalent): ports + transport-neutral request/result contracts.tracedecay-application: product use-case orchestration.This likely means renaming current
tracedecay-applicationto a contracts/ports name and currenttracedecay-usecasestotracedecay-application, but choose the minimal dependency-safe form after inventorying callers.Work
Acceptance criteria
application/usecasesterminology for opposite layers.Related: #707.