Skip to content

Commit 79f8b84

Browse files
beyondnetPeruclaude
andcommitted
docs(arch): BMAD Architect analysis — Shell Libraries (Factory, Aop, Bootstrapper)
Complete technical documentation covering: - Ums.Shell.Factory Decision: KEEP & adopt (Sprint 5+) Unique value: predicate-based selector that native .NET Keyed Services do not provide. Relevant for EP-06 MFA factor selection and EP-07 notification channel routing. Action: move project reference from Ums.Domain → Ums.Infrastructure. - Ums.Shell.Aop Decision: ADOPT ACTIVELY (Sprint 2-3) Highest value of the three. DispatchProxy-based AOP, zero IL weaving. Detailed logging decorator proposal with [Log] attribute, LoggingAspect, async Task unwrapping pattern, and aspect ordering conventions (Tracing 10 → Authorization 20 → Validation 30 → Idempotency 40 → Logging 50 → Metrics 60 → Transaction 70). Cross-cutting concerns catalogue for 9 concern types. Action: fix async proxy gap in OnMethodBoundaryAspect before production use. - Ums.Shell.Bootstrapper Decision: KEEP, use selectively Thin library — IBootstrapper + Composite pattern. Mostly replaced by IHostedService in modern .NET. Adopt CompositeBootstrapperAsync only if Program.cs startup grows beyond current complexity. Also documents: - Domain layer coupling risk (Factory ref in Ums.Domain.csproj) - 4-phase incremental adoption plan - Comparison tables: Factory vs Keyed Services, AOP vs alternatives - Pre-existing issues to fix before adoption Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 35a474a commit 79f8b84

1 file changed

Lines changed: 546 additions & 0 deletions

File tree

0 commit comments

Comments
 (0)