Files
clinicpro/graphify-out/cache/ast/v0.8.44/e79771047616dbb7a604687b92ffcd47f09dc19a112fa51174cc2738a0e5c49b.json
T
hamed c2c6ae4d02 feat(migrations): add national_code_verified flag to users and normalize bank_account representation
- Added a new column `national_code_verified` to the `users` table.
- Normalized the `bank_account` field in the `representations` table from a single object to an array of IBANs with a default `verified` status of false.

feat(ApiIrService): implement identity verification client for api.ir

- Created `ApiIrService` to handle identity verification via api.ir.
- Implemented methods for matching national code with mobile and IBAN with national code and birth date.
- Added error handling and logging for external API requests.
2026-06-25 19:38:47 +03:30

1 line
41 KiB
JSON

{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_architecture_audit_md", "label": "Architecture_Audit.md", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L1"}, {"id": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "label": "Architecture Audit \u2014 ClinicPro Symfony 7 Migration", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L1"}, {"id": "docs_architecture_audit_executive_summary", "label": "Executive Summary", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L9"}, {"id": "docs_architecture_audit_architecture_score_\u0628\u0639\u062f_\u0627\u0632_\u0627\u0635\u0644\u0627\u062d\u0627\u062a", "label": "Architecture Score (\u0628\u0639\u062f \u0627\u0632 \u0627\u0635\u0644\u0627\u062d\u0627\u062a)", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L17"}, {"id": "docs_architecture_audit_\u06f1_\u062a\u0637\u0627\u0628\u0642_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0628\u0627_prd", "label": "\u06f1. \u062a\u0637\u0627\u0628\u0642 \u0645\u0639\u0645\u0627\u0631\u06cc \u0628\u0627 PRD", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L33"}, {"id": "docs_architecture_audit_\u0645\u0627\u0698\u0648\u0644_\u0647\u0627\u06cc_\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc_\u0634\u062f\u0647_\u062f\u0631_prd", "label": "\u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u06cc \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc\u200c\u0634\u062f\u0647 \u062f\u0631 PRD", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L35"}, {"id": "docs_architecture_audit_\u0645\u0648\u0627\u0631\u062f_\u067e\u0648\u0634\u0634_\u062f\u0627\u062f\u0647_\u0646\u0634\u062f\u0647_\u0627\u0632_prd", "label": "\u0645\u0648\u0627\u0631\u062f \u067e\u0648\u0634\u0634\u200c\u062f\u0627\u062f\u0647\u200c\u0646\u0634\u062f\u0647 \u0627\u0632 PRD", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L60"}, {"id": "docs_architecture_audit_\u06f2_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0641\u0639\u0644\u06cc", "label": "\u06f2. \u062a\u062d\u0644\u06cc\u0644 \u0645\u0639\u0645\u0627\u0631\u06cc \u0641\u0639\u0644\u06cc", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L69"}, {"id": "docs_architecture_audit_scalability", "label": "Scalability", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L71"}, {"id": "docs_architecture_audit_maintainability", "label": "Maintainability", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L82"}, {"id": "docs_architecture_audit_security", "label": "Security", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L93"}, {"id": "docs_architecture_audit_performance", "label": "Performance", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L107"}, {"id": "docs_architecture_audit_reliability", "label": "Reliability", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L117"}, {"id": "docs_architecture_audit_testability", "label": "Testability", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L128"}, {"id": "docs_architecture_audit_observability", "label": "Observability", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L135"}, {"id": "docs_architecture_audit_\u06f3_\u062a\u062d\u0644\u06cc\u0644_design_patterns", "label": "\u06f3. \u062a\u062d\u0644\u06cc\u0644 Design Patterns", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L146"}, {"id": "docs_architecture_audit_pattern_\u0647\u0627\u06cc\u06cc_\u06a9\u0647_\u0627\u0633\u062a\u0641\u0627\u062f\u0647_\u0634\u062f\u0647_\u0627\u0646\u062f", "label": "Pattern \u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647\u200c\u0627\u0646\u062f", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L148"}, {"id": "docs_architecture_audit_anti_pattern_\u0647\u0627\u06cc\u06cc_\u06a9\u0647_\u0645\u0634\u0627\u0647\u062f\u0647_\u0645\u06cc_\u0634\u0648\u0646\u062f", "label": "Anti-Pattern \u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L159"}, {"id": "docs_architecture_audit_\u06f4_\u062a\u062d\u0644\u06cc\u0644_domain_design", "label": "\u06f4. \u062a\u062d\u0644\u06cc\u0644 Domain Design", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L175"}, {"id": "docs_architecture_audit_domain_model_\u0647\u0627", "label": "Domain Model \u0647\u0627", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L177"}, {"id": "docs_architecture_audit_bounded_context_\u0647\u0627", "label": "Bounded Context \u0647\u0627", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L190"}, {"id": "docs_architecture_audit_separation_of_concerns", "label": "Separation of Concerns", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L203"}, {"id": "docs_architecture_audit_\u06f5_\u062a\u062d\u0644\u06cc\u0644_database", "label": "\u06f5. \u062a\u062d\u0644\u06cc\u0644 Database", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L214"}, {"id": "docs_architecture_audit_\u062c\u062f\u0627\u0648\u0644_\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc_\u0634\u062f\u0647_\u06f3\u06f2_\u062c\u062f\u0648\u0644", "label": "\u062c\u062f\u0627\u0648\u0644 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc\u200c\u0634\u062f\u0647 (\u06f3\u06f2 \u062c\u062f\u0648\u0644)", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L216"}, {"id": "docs_architecture_audit_\u0645\u0634\u06a9\u0644\u0627\u062a_database", "label": "\u0645\u0634\u06a9\u0644\u0627\u062a Database", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L242"}, {"id": "docs_architecture_audit_\u0627\u06cc\u0646\u062f\u06a9\u0633_\u0647\u0627\u06cc_\u0645\u0646\u0627\u0633\u0628", "label": "\u0627\u06cc\u0646\u062f\u06a9\u0633\u200c\u0647\u0627\u06cc \u0645\u0646\u0627\u0633\u0628", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L270"}, {"id": "docs_architecture_audit_\u06f6_\u062a\u062d\u0644\u06cc\u0644_api_design", "label": "\u06f6. \u062a\u062d\u0644\u06cc\u0644 API Design", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L283"}, {"id": "docs_architecture_audit_\u0646\u0642\u0627\u0637_\u0642\u0648\u062a", "label": "\u0646\u0642\u0627\u0637 \u0642\u0648\u062a", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L285"}, {"id": "docs_architecture_audit_\u0646\u0642\u0627\u0637_\u0636\u0639\u0641", "label": "\u0646\u0642\u0627\u0637 \u0636\u0639\u0641", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L293"}, {"id": "docs_architecture_audit_\u06f7_\u062a\u062d\u0644\u06cc\u0644_\u0627\u0645\u0646\u06cc\u062a", "label": "\u06f7. \u062a\u062d\u0644\u06cc\u0644 \u0627\u0645\u0646\u06cc\u062a", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L327"}, {"id": "docs_architecture_audit_authentication", "label": "Authentication", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L329"}, {"id": "docs_architecture_audit_authorization", "label": "Authorization", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L339"}, {"id": "docs_architecture_audit_rate_limiting", "label": "Rate Limiting", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L348"}, {"id": "docs_architecture_audit_input_validation", "label": "Input Validation", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L357"}, {"id": "docs_architecture_audit_secrets_management", "label": "Secrets Management", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L367"}, {"id": "docs_architecture_audit_logging_security", "label": "Logging Security", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L376"}, {"id": "docs_architecture_audit_\u06f8_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0642\u06cc\u0627\u0633_\u067e\u0630\u06cc\u0631\u06cc", "label": "\u06f8. \u062a\u062d\u0644\u06cc\u0644 \u0645\u0642\u06cc\u0627\u0633\u200c\u067e\u0630\u06cc\u0631\u06cc", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L387"}, {"id": "docs_architecture_audit_\u0628\u0627_\u06f1\u06f0_\u06f0\u06f0\u06f0_\u06a9\u0627\u0631\u0628\u0631_\u0645\u0634\u06a9\u0644_\u062c\u062f\u06cc_\u0646\u06cc\u0633\u062a", "label": "\u0628\u0627 \u06f1\u06f0,\u06f0\u06f0\u06f0 \u06a9\u0627\u0631\u0628\u0631 \u2014 \u0645\u0634\u06a9\u0644 \u062c\u062f\u06cc \u0646\u06cc\u0633\u062a", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L389"}, {"id": "docs_architecture_audit_\u0628\u0627_\u06f1\u06f0\u06f0_\u06f0\u06f0\u06f0_\u06a9\u0627\u0631\u0628\u0631_\u0645\u0634\u06a9\u0644\u0627\u062a_\u0634\u0631\u0648\u0639_\u0645\u06cc_\u0634\u0648\u0646\u062f", "label": "\u0628\u0627 \u06f1\u06f0\u06f0,\u06f0\u06f0\u06f0 \u06a9\u0627\u0631\u0628\u0631 \u2014 \u0645\u0634\u06a9\u0644\u0627\u062a \u0634\u0631\u0648\u0639 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L396"}, {"id": "docs_architecture_audit_\u0628\u0627_\u06f1_\u06f0\u06f0\u06f0_\u06f0\u06f0\u06f0_\u06a9\u0627\u0631\u0628\u0631_\u0646\u06cc\u0627\u0632_\u0628\u0647_refactoring_\u0627\u0633\u0627\u0633\u06cc", "label": "\u0628\u0627 \u06f1,\u06f0\u06f0\u06f0,\u06f0\u06f0\u06f0 \u06a9\u0627\u0631\u0628\u0631 \u2014 \u0646\u06cc\u0627\u0632 \u0628\u0647 Refactoring \u0627\u0633\u0627\u0633\u06cc", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L405"}, {"id": "docs_architecture_audit_\u06f9_\u062a\u062d\u0644\u06cc\u0644_\u0633\u0627\u062e\u062a\u0627\u0631_\u067e\u0631\u0648\u0698\u0647", "label": "\u06f9. \u062a\u062d\u0644\u06cc\u0644 \u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u0631\u0648\u0698\u0647", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L428"}, {"id": "docs_architecture_audit_\u0633\u0627\u062e\u062a\u0627\u0631_\u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc_\u0641\u0639\u0644\u06cc_\u0646\u0627\u0645\u0634\u062e\u0635", "label": "\u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc \u0641\u0639\u0644\u06cc (\u0646\u0627\u0645\u0634\u062e\u0635)", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L430"}, {"id": "docs_architecture_audit_\u0633\u0627\u062e\u062a\u0627\u0631_\u062a\u0648\u0635\u06cc\u0647_\u0634\u062f\u0647_domain_driven", "label": "\u0633\u0627\u062e\u062a\u0627\u0631 \u062a\u0648\u0635\u06cc\u0647\u200c\u0634\u062f\u0647 \u2014 Domain-Driven", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L442"}, {"id": "docs_architecture_audit_dependency_direction", "label": "Dependency Direction", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L490"}, {"id": "docs_architecture_audit_\u06f1\u06f0_\u0631\u06cc\u0633\u06a9_\u0647\u0627\u06cc_\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc_\u0634\u062f\u0647", "label": "\u06f1\u06f0. \u0631\u06cc\u0633\u06a9\u200c\u0647\u0627\u06cc \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc\u200c\u0634\u062f\u0647", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L505"}, {"id": "docs_architecture_audit_\u0631\u06cc\u0633\u06a9_\u0647\u0627\u06cc_\u0628\u062d\u0631\u0627\u0646\u06cc", "label": "\u0631\u06cc\u0633\u06a9\u200c\u0647\u0627\u06cc \u0628\u062d\u0631\u0627\u0646\u06cc", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L507"}, {"id": "docs_architecture_audit_\u0631\u06cc\u0633\u06a9_\u0647\u0627\u06cc_\u0645\u0647\u0645", "label": "\u0631\u06cc\u0633\u06a9\u200c\u0647\u0627\u06cc \u0645\u0647\u0645", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L516"}, {"id": "docs_architecture_audit_\u0631\u06cc\u0633\u06a9_\u0647\u0627\u06cc_\u0639\u0645\u0644\u06cc\u0627\u062a\u06cc", "label": "\u0631\u06cc\u0633\u06a9\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L526"}, {"id": "docs_architecture_audit_missing_requirements_\u06a9\u0627\u0645\u0644", "label": "Missing Requirements (\u06a9\u0627\u0645\u0644)", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L537"}, {"id": "docs_architecture_audit_architecture_violations", "label": "Architecture Violations", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L562"}, {"id": "docs_architecture_audit_recommended_improvements", "label": "Recommended Improvements", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L577"}, {"id": "docs_architecture_audit_\u0627\u0648\u0644\u0648\u06cc\u062a_\u06f1_\u0642\u0628\u0644_\u0627\u0632_\u0634\u0631\u0648\u0639_\u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc", "label": "\u0627\u0648\u0644\u0648\u06cc\u062a \u06f1 \u2014 \u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639 \u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L579"}, {"id": "docs_architecture_audit_\u0627\u0648\u0644\u0648\u06cc\u062a_\u06f2_\u062f\u0631_\u062d\u06cc\u0646_\u067e\u06cc\u0627\u062f\u0647_\u0633\u0627\u0632\u06cc", "label": "\u0627\u0648\u0644\u0648\u06cc\u062a \u06f2 \u2014 \u062f\u0631 \u062d\u06cc\u0646 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L627"}, {"id": "docs_architecture_audit_\u0627\u0648\u0644\u0648\u06cc\u062a_\u06f3_\u0628\u0631\u0627\u06cc_\u0622\u0645\u0627\u062f\u0647_\u0633\u0627\u0632\u06cc_\u062a\u0648\u0644\u06cc\u062f", "label": "\u0627\u0648\u0644\u0648\u06cc\u062a \u06f3 \u2014 \u0628\u0631\u0627\u06cc \u0622\u0645\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u062a\u0648\u0644\u06cc\u062f", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L670"}, {"id": "docs_architecture_audit_refactoring_plan", "label": "Refactoring Plan", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L706"}, {"id": "docs_architecture_audit_\u0641\u0627\u0632_\u06f0_\u0645\u0633\u062a\u0646\u062f\u0633\u0627\u0632\u06cc_\u06f3_\u062a\u0627_\u06f5_\u0631\u0648\u0632_\u0642\u0628\u0644_\u0627\u0632_\u0647\u0631_\u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc", "label": "\u0641\u0627\u0632 \u06f0 \u2014 \u0645\u0633\u062a\u0646\u062f\u0633\u0627\u0632\u06cc (\u06f3 \u062a\u0627 \u06f5 \u0631\u0648\u0632\u060c \u0642\u0628\u0644 \u0627\u0632 \u0647\u0631 \u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc)", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L708"}, {"id": "docs_architecture_audit_\u0641\u0627\u0632_\u06f1_\u0632\u06cc\u0631\u0633\u0627\u062e\u062a_\u067e\u0627\u06cc\u0647_task_01", "label": "\u0641\u0627\u0632 \u06f1 \u2014 \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u067e\u0627\u06cc\u0647 (task-01)", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L718"}, {"id": "docs_architecture_audit_\u0641\u0627\u0632_\u06f2_\u067e\u06cc\u0627\u062f\u0647_\u0633\u0627\u0632\u06cc_\u0645\u0627\u0698\u0648\u0644_\u0647\u0627_\u0628\u0647_\u062a\u0631\u062a\u06cc\u0628_dependency", "label": "\u0641\u0627\u0632 \u06f2 \u2014 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 (\u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 dependency)", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L727"}, {"id": "docs_architecture_audit_\u0641\u0627\u0632_\u06f3_\u0628\u0647\u06cc\u0646\u0647_\u0633\u0627\u0632\u06cc_\u0628\u0639\u062f_\u0627\u0632_\u067e\u06cc\u0627\u062f\u0647_\u0633\u0627\u0632\u06cc", "label": "\u0641\u0627\u0632 \u06f3 \u2014 \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc (\u0628\u0639\u062f \u0627\u0632 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc)", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L741"}, {"id": "docs_architecture_audit_\u0641\u0627\u0632_\u06f4_\u0622\u0645\u0627\u062f\u0647_\u0633\u0627\u0632\u06cc_\u062a\u0648\u0644\u06cc\u062f", "label": "\u0641\u0627\u0632 \u06f4 \u2014 \u0622\u0645\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u062a\u0648\u0644\u06cc\u062f", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L749"}, {"id": "docs_architecture_audit_\u0627\u0635\u0644\u0627\u062d\u0627\u062a_\u0627\u0639\u0645\u0627\u0644_\u0634\u062f\u0647_\u0628\u0639\u062f_\u0627\u0632_audit", "label": "\u0627\u0635\u0644\u0627\u062d\u0627\u062a \u0627\u0639\u0645\u0627\u0644\u200c\u0634\u062f\u0647 (\u0628\u0639\u062f \u0627\u0632 Audit)", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L758"}, {"id": "docs_architecture_audit_\u0645\u0634\u06a9\u0644\u0627\u062a_\u0627\u0645\u0646\u06cc\u062a\u06cc_\u0628\u0627\u0642\u06cc_\u0645\u0627\u0646\u062f\u0647_\u0646\u06cc\u0627\u0632_\u0628\u0647_\u062a\u0648\u062c\u0647_\u062f\u0631_\u067e\u06cc\u0627\u062f\u0647_\u0633\u0627\u0632\u06cc", "label": "\u0645\u0634\u06a9\u0644\u0627\u062a \u0627\u0645\u0646\u06cc\u062a\u06cc \u0628\u0627\u0642\u06cc\u200c\u0645\u0627\u0646\u062f\u0647 (\u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u0648\u062c\u0647 \u062f\u0631 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc)", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L792"}, {"id": "docs_architecture_audit_final_verdict_\u0628\u0639\u062f_\u0627\u0632_\u0627\u0635\u0644\u0627\u062d\u0627\u062a", "label": "Final Verdict (\u0628\u0639\u062f \u0627\u0632 \u0627\u0635\u0644\u0627\u062d\u0627\u062a)", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L804"}, {"id": "docs_architecture_audit_\u062f\u0644\u06cc\u0644_\u062a\u0635\u0645\u06cc\u0645", "label": "\u062f\u0644\u06cc\u0644 \u062a\u0635\u0645\u06cc\u0645", "file_type": "document", "source_file": "docs/Architecture_Audit.md", "source_location": "L810"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_architecture_audit_md", "target": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L1", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_executive_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L9", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_architecture_score_\u0628\u0639\u062f_\u0627\u0632_\u0627\u0635\u0644\u0627\u062d\u0627\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L17", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_\u06f1_\u062a\u0637\u0627\u0628\u0642_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0628\u0627_prd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L33", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f1_\u062a\u0637\u0627\u0628\u0642_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0628\u0627_prd", "target": "docs_architecture_audit_\u0645\u0627\u0698\u0648\u0644_\u0647\u0627\u06cc_\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc_\u0634\u062f\u0647_\u062f\u0631_prd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L35", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f1_\u062a\u0637\u0627\u0628\u0642_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0628\u0627_prd", "target": "docs_architecture_audit_\u0645\u0648\u0627\u0631\u062f_\u067e\u0648\u0634\u0634_\u062f\u0627\u062f\u0647_\u0646\u0634\u062f\u0647_\u0627\u0632_prd", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L60", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_\u06f2_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0641\u0639\u0644\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L69", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f2_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0641\u0639\u0644\u06cc", "target": "docs_architecture_audit_scalability", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L71", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f2_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0641\u0639\u0644\u06cc", "target": "docs_architecture_audit_maintainability", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L82", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f2_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0641\u0639\u0644\u06cc", "target": "docs_architecture_audit_security", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L93", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f2_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0641\u0639\u0644\u06cc", "target": "docs_architecture_audit_performance", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L107", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f2_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0641\u0639\u0644\u06cc", "target": "docs_architecture_audit_reliability", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L117", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f2_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0641\u0639\u0644\u06cc", "target": "docs_architecture_audit_testability", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L128", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f2_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0639\u0645\u0627\u0631\u06cc_\u0641\u0639\u0644\u06cc", "target": "docs_architecture_audit_observability", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L135", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_\u06f3_\u062a\u062d\u0644\u06cc\u0644_design_patterns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L146", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f3_\u062a\u062d\u0644\u06cc\u0644_design_patterns", "target": "docs_architecture_audit_pattern_\u0647\u0627\u06cc\u06cc_\u06a9\u0647_\u0627\u0633\u062a\u0641\u0627\u062f\u0647_\u0634\u062f\u0647_\u0627\u0646\u062f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L148", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f3_\u062a\u062d\u0644\u06cc\u0644_design_patterns", "target": "docs_architecture_audit_anti_pattern_\u0647\u0627\u06cc\u06cc_\u06a9\u0647_\u0645\u0634\u0627\u0647\u062f\u0647_\u0645\u06cc_\u0634\u0648\u0646\u062f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L159", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_\u06f4_\u062a\u062d\u0644\u06cc\u0644_domain_design", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L175", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f4_\u062a\u062d\u0644\u06cc\u0644_domain_design", "target": "docs_architecture_audit_domain_model_\u0647\u0627", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L177", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f4_\u062a\u062d\u0644\u06cc\u0644_domain_design", "target": "docs_architecture_audit_bounded_context_\u0647\u0627", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L190", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f4_\u062a\u062d\u0644\u06cc\u0644_domain_design", "target": "docs_architecture_audit_separation_of_concerns", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L203", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_\u06f5_\u062a\u062d\u0644\u06cc\u0644_database", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L214", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f5_\u062a\u062d\u0644\u06cc\u0644_database", "target": "docs_architecture_audit_\u062c\u062f\u0627\u0648\u0644_\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc_\u0634\u062f\u0647_\u06f3\u06f2_\u062c\u062f\u0648\u0644", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L216", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f5_\u062a\u062d\u0644\u06cc\u0644_database", "target": "docs_architecture_audit_\u0645\u0634\u06a9\u0644\u0627\u062a_database", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L242", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f5_\u062a\u062d\u0644\u06cc\u0644_database", "target": "docs_architecture_audit_\u0627\u06cc\u0646\u062f\u06a9\u0633_\u0647\u0627\u06cc_\u0645\u0646\u0627\u0633\u0628", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L270", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_\u06f6_\u062a\u062d\u0644\u06cc\u0644_api_design", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L283", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f6_\u062a\u062d\u0644\u06cc\u0644_api_design", "target": "docs_architecture_audit_\u0646\u0642\u0627\u0637_\u0642\u0648\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L285", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f6_\u062a\u062d\u0644\u06cc\u0644_api_design", "target": "docs_architecture_audit_\u0646\u0642\u0627\u0637_\u0636\u0639\u0641", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L293", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_\u06f7_\u062a\u062d\u0644\u06cc\u0644_\u0627\u0645\u0646\u06cc\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L327", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f7_\u062a\u062d\u0644\u06cc\u0644_\u0627\u0645\u0646\u06cc\u062a", "target": "docs_architecture_audit_authentication", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L329", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f7_\u062a\u062d\u0644\u06cc\u0644_\u0627\u0645\u0646\u06cc\u062a", "target": "docs_architecture_audit_authorization", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L339", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f7_\u062a\u062d\u0644\u06cc\u0644_\u0627\u0645\u0646\u06cc\u062a", "target": "docs_architecture_audit_rate_limiting", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L348", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f7_\u062a\u062d\u0644\u06cc\u0644_\u0627\u0645\u0646\u06cc\u062a", "target": "docs_architecture_audit_input_validation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L357", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f7_\u062a\u062d\u0644\u06cc\u0644_\u0627\u0645\u0646\u06cc\u062a", "target": "docs_architecture_audit_secrets_management", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L367", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f7_\u062a\u062d\u0644\u06cc\u0644_\u0627\u0645\u0646\u06cc\u062a", "target": "docs_architecture_audit_logging_security", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L376", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_\u06f8_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0642\u06cc\u0627\u0633_\u067e\u0630\u06cc\u0631\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L387", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f8_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0642\u06cc\u0627\u0633_\u067e\u0630\u06cc\u0631\u06cc", "target": "docs_architecture_audit_\u0628\u0627_\u06f1\u06f0_\u06f0\u06f0\u06f0_\u06a9\u0627\u0631\u0628\u0631_\u0645\u0634\u06a9\u0644_\u062c\u062f\u06cc_\u0646\u06cc\u0633\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L389", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f8_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0642\u06cc\u0627\u0633_\u067e\u0630\u06cc\u0631\u06cc", "target": "docs_architecture_audit_\u0628\u0627_\u06f1\u06f0\u06f0_\u06f0\u06f0\u06f0_\u06a9\u0627\u0631\u0628\u0631_\u0645\u0634\u06a9\u0644\u0627\u062a_\u0634\u0631\u0648\u0639_\u0645\u06cc_\u0634\u0648\u0646\u062f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L396", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f8_\u062a\u062d\u0644\u06cc\u0644_\u0645\u0642\u06cc\u0627\u0633_\u067e\u0630\u06cc\u0631\u06cc", "target": "docs_architecture_audit_\u0628\u0627_\u06f1_\u06f0\u06f0\u06f0_\u06f0\u06f0\u06f0_\u06a9\u0627\u0631\u0628\u0631_\u0646\u06cc\u0627\u0632_\u0628\u0647_refactoring_\u0627\u0633\u0627\u0633\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L405", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_\u06f9_\u062a\u062d\u0644\u06cc\u0644_\u0633\u0627\u062e\u062a\u0627\u0631_\u067e\u0631\u0648\u0698\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L428", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f9_\u062a\u062d\u0644\u06cc\u0644_\u0633\u0627\u062e\u062a\u0627\u0631_\u067e\u0631\u0648\u0698\u0647", "target": "docs_architecture_audit_\u0633\u0627\u062e\u062a\u0627\u0631_\u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc_\u0641\u0639\u0644\u06cc_\u0646\u0627\u0645\u0634\u062e\u0635", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L430", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f9_\u062a\u062d\u0644\u06cc\u0644_\u0633\u0627\u062e\u062a\u0627\u0631_\u067e\u0631\u0648\u0698\u0647", "target": "docs_architecture_audit_\u0633\u0627\u062e\u062a\u0627\u0631_\u062a\u0648\u0635\u06cc\u0647_\u0634\u062f\u0647_domain_driven", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L442", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f9_\u062a\u062d\u0644\u06cc\u0644_\u0633\u0627\u062e\u062a\u0627\u0631_\u067e\u0631\u0648\u0698\u0647", "target": "docs_architecture_audit_dependency_direction", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L490", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_\u06f1\u06f0_\u0631\u06cc\u0633\u06a9_\u0647\u0627\u06cc_\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc_\u0634\u062f\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L505", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f1\u06f0_\u0631\u06cc\u0633\u06a9_\u0647\u0627\u06cc_\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc_\u0634\u062f\u0647", "target": "docs_architecture_audit_\u0631\u06cc\u0633\u06a9_\u0647\u0627\u06cc_\u0628\u062d\u0631\u0627\u0646\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L507", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f1\u06f0_\u0631\u06cc\u0633\u06a9_\u0647\u0627\u06cc_\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc_\u0634\u062f\u0647", "target": "docs_architecture_audit_\u0631\u06cc\u0633\u06a9_\u0647\u0627\u06cc_\u0645\u0647\u0645", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L516", "weight": 1.0}, {"source": "docs_architecture_audit_\u06f1\u06f0_\u0631\u06cc\u0633\u06a9_\u0647\u0627\u06cc_\u0634\u0646\u0627\u0633\u0627\u06cc\u06cc_\u0634\u062f\u0647", "target": "docs_architecture_audit_\u0631\u06cc\u0633\u06a9_\u0647\u0627\u06cc_\u0639\u0645\u0644\u06cc\u0627\u062a\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L526", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_missing_requirements_\u06a9\u0627\u0645\u0644", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L537", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_architecture_violations", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L562", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_recommended_improvements", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L577", "weight": 1.0}, {"source": "docs_architecture_audit_recommended_improvements", "target": "docs_architecture_audit_\u0627\u0648\u0644\u0648\u06cc\u062a_\u06f1_\u0642\u0628\u0644_\u0627\u0632_\u0634\u0631\u0648\u0639_\u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L579", "weight": 1.0}, {"source": "docs_architecture_audit_recommended_improvements", "target": "docs_architecture_audit_\u0627\u0648\u0644\u0648\u06cc\u062a_\u06f2_\u062f\u0631_\u062d\u06cc\u0646_\u067e\u06cc\u0627\u062f\u0647_\u0633\u0627\u0632\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L627", "weight": 1.0}, {"source": "docs_architecture_audit_recommended_improvements", "target": "docs_architecture_audit_\u0627\u0648\u0644\u0648\u06cc\u062a_\u06f3_\u0628\u0631\u0627\u06cc_\u0622\u0645\u0627\u062f\u0647_\u0633\u0627\u0632\u06cc_\u062a\u0648\u0644\u06cc\u062f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L670", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_refactoring_plan", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L706", "weight": 1.0}, {"source": "docs_architecture_audit_refactoring_plan", "target": "docs_architecture_audit_\u0641\u0627\u0632_\u06f0_\u0645\u0633\u062a\u0646\u062f\u0633\u0627\u0632\u06cc_\u06f3_\u062a\u0627_\u06f5_\u0631\u0648\u0632_\u0642\u0628\u0644_\u0627\u0632_\u0647\u0631_\u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L708", "weight": 1.0}, {"source": "docs_architecture_audit_refactoring_plan", "target": "docs_architecture_audit_\u0641\u0627\u0632_\u06f1_\u0632\u06cc\u0631\u0633\u0627\u062e\u062a_\u067e\u0627\u06cc\u0647_task_01", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L718", "weight": 1.0}, {"source": "docs_architecture_audit_refactoring_plan", "target": "docs_architecture_audit_\u0641\u0627\u0632_\u06f2_\u067e\u06cc\u0627\u062f\u0647_\u0633\u0627\u0632\u06cc_\u0645\u0627\u0698\u0648\u0644_\u0647\u0627_\u0628\u0647_\u062a\u0631\u062a\u06cc\u0628_dependency", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L727", "weight": 1.0}, {"source": "docs_architecture_audit_refactoring_plan", "target": "docs_architecture_audit_\u0641\u0627\u0632_\u06f3_\u0628\u0647\u06cc\u0646\u0647_\u0633\u0627\u0632\u06cc_\u0628\u0639\u062f_\u0627\u0632_\u067e\u06cc\u0627\u062f\u0647_\u0633\u0627\u0632\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L741", "weight": 1.0}, {"source": "docs_architecture_audit_refactoring_plan", "target": "docs_architecture_audit_\u0641\u0627\u0632_\u06f4_\u0622\u0645\u0627\u062f\u0647_\u0633\u0627\u0632\u06cc_\u062a\u0648\u0644\u06cc\u062f", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L749", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_\u0627\u0635\u0644\u0627\u062d\u0627\u062a_\u0627\u0639\u0645\u0627\u0644_\u0634\u062f\u0647_\u0628\u0639\u062f_\u0627\u0632_audit", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L758", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_\u0645\u0634\u06a9\u0644\u0627\u062a_\u0627\u0645\u0646\u06cc\u062a\u06cc_\u0628\u0627\u0642\u06cc_\u0645\u0627\u0646\u062f\u0647_\u0646\u06cc\u0627\u0632_\u0628\u0647_\u062a\u0648\u062c\u0647_\u062f\u0631_\u067e\u06cc\u0627\u062f\u0647_\u0633\u0627\u0632\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L792", "weight": 1.0}, {"source": "docs_architecture_audit_architecture_audit_clinicpro_symfony_7_migration", "target": "docs_architecture_audit_final_verdict_\u0628\u0639\u062f_\u0627\u0632_\u0627\u0635\u0644\u0627\u062d\u0627\u062a", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L804", "weight": 1.0}, {"source": "docs_architecture_audit_final_verdict_\u0628\u0639\u062f_\u0627\u0632_\u0627\u0635\u0644\u0627\u062d\u0627\u062a", "target": "docs_architecture_audit_\u062f\u0644\u06cc\u0644_\u062a\u0635\u0645\u06cc\u0645", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/Architecture_Audit.md", "source_location": "L810", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}