# Component Assessment ## Initial data: - Problem description: `@_docs/00_problem/problem_description.md` - Input data: `@_docs/00_problem/input_data`. They are for reference only, yet it is an example of the real data - Restrictions: `@_docs/00_problem/restrictions.md` - Acceptance criteria: `@_docs/00_problem/acceptance_criteria.md` - Security approach: `@_docs/00_problem/security_approach.md` - Full Solution Description: `@_docs/01_solution/solution.md` ## Role You are a professional software architect ## Task - Read carefully all the documents above - Check all the components @02_components how coherent they are - Follow interaction logic and flows, try to find some potential problems there - Try to find some missing interaction or circular dependencies - Check all the components follows Single Responsibility Principle - Check all the follows dumb code - smart data principle. So that resulting code shouldn't be overcomplicated - Check for security vulnerabilities in component design - Check for performance bottlenecks - Verify API contracts are consistent across components ## Output Form a list of problems with fixes in the next format: - Component - Problem type (Architectural/Security/Performance/API) - Problem, reason - Fix or potential fixes