chore: graphify!
Docker Build & Publish / build (push) Successful in 1m11s
Docker Build & Publish / push (push) Failing after 7s
Docker Build & Publish / Prune old image versions (push) Has been skipped

This commit is contained in:
Senko-san
2026-07-11 16:21:34 +03:00
parent e45e578f54
commit fb5ce3c708
189 changed files with 81357 additions and 0 deletions
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_core_init_py", "label": "__init__.py", "file_type": "code", "source_file": "app/core/__init__.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_core_init_rationale_1", "label": "Cross-cutting concerns: configuration, logging, security.", "file_type": "rationale", "source_file": "app/core/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_core_init_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_core_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/core/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_py", "label": "metadata.py", "file_type": "code", "source_file": "app/domain/entities/metadata.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_audiotags", "label": "AudioTags", "file_type": "code", "source_file": "app/domain/entities/metadata.py", "source_location": "L11", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_fingerprint", "label": "Fingerprint", "file_type": "code", "source_file": "app/domain/entities/metadata.py", "source_location": "L30", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_recordingmatch", "label": "RecordingMatch", "file_type": "code", "source_file": "app/domain/entities/metadata.py", "source_location": "L38", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_rationale_1", "label": "Value objects for the metadata-enrichment pipeline (plan \u00a76.2). Pure data carri", "file_type": "rationale", "source_file": "app/domain/entities/metadata.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_rationale_12", "label": "Embedded tags read from the file itself (ID3 / Vorbis / MP4 \u2026). Every field", "file_type": "rationale", "source_file": "app/domain/entities/metadata.py", "source_location": "L12"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_rationale_31", "label": "Chromaprint fingerprint plus the decoded duration (both needed by AcoustID).", "file_type": "rationale", "source_file": "app/domain/entities/metadata.py", "source_location": "L31"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_rationale_39", "label": "A single AcoustID result, flattened to the fields enrichment cares about. `", "file_type": "rationale", "source_file": "app/domain/entities/metadata.py", "source_location": "L39"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/domain/entities/metadata.py", "source_location": "L7", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_audiotags", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/domain/entities/metadata.py", "source_location": "L11", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_fingerprint", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/domain/entities/metadata.py", "source_location": "L30", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_recordingmatch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/domain/entities/metadata.py", "source_location": "L38", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/domain/entities/metadata.py", "source_location": "L1", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_rationale_12", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_audiotags", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/domain/entities/metadata.py", "source_location": "L12", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_rationale_31", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_fingerprint", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/domain/entities/metadata.py", "source_location": "L31", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_rationale_39", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_metadata_recordingmatch", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/domain/entities/metadata.py", "source_location": "L39", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_py", "label": "artist.py", "file_type": "code", "source_file": "app/infrastructure/db/models/artist.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_artistmodel", "label": "ArtistModel", "file_type": "code", "source_file": "app/infrastructure/db/models/artist.py", "source_location": "L10", "_callable": true}, {"id": "uuidprimarykeymixin", "label": "UUIDPrimaryKeyMixin", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/infrastructure/db/models/artist.py"}, {"id": "timestampmixin", "label": "TimestampMixin", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/infrastructure/db/models/artist.py"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/infrastructure/db/models/artist.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_rationale_1", "label": "ORM model for artists.", "file_type": "rationale", "source_file": "app/infrastructure/db/models/artist.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/artist.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/artist.py", "source_location": "L4", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_py", "target": "app_infrastructure_db_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/artist.py", "source_location": "L6", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_py", "target": "app_infrastructure_db_models_mixins", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/artist.py", "source_location": "L7", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_artistmodel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/artist.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_artistmodel", "target": "uuidprimarykeymixin", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/artist.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_artistmodel", "target": "timestampmixin", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/artist.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_artistmodel", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/artist.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_artist_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/artist.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_py", "label": "hashing.py", "file_type": "code", "source_file": "app/core/hashing.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_sha256_of_file", "label": "sha256_of_file()", "file_type": "code", "source_file": "app/core/hashing.py", "source_location": "L7", "_callable": true}, {"id": "path", "label": "Path", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/core/hashing.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_rationale_1", "label": "File hashing utilities.", "file_type": "rationale", "source_file": "app/core/hashing.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_py", "target": "hashlib", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/core/hashing.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_py", "target": "pathlib", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/core/hashing.py", "source_location": "L4", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_sha256_of_file", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/core/hashing.py", "source_location": "L7", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_sha256_of_file", "target": "path", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/core/hashing.py", "source_location": "L7", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/core/hashing.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_sha256_of_file", "callee": "sha256", "is_member_call": true, "source_file": "app/core/hashing.py", "source_location": "L8", "receiver": "hashlib"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_sha256_of_file", "callee": "read", "is_member_call": true, "source_file": "app/core/hashing.py", "source_location": "L10", "receiver": "f"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_sha256_of_file", "callee": "update", "is_member_call": true, "source_file": "app/core/hashing.py", "source_location": "L11", "receiver": "h"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_core_hashing_sha256_of_file", "callee": "hexdigest", "is_member_call": true, "source_file": "app/core/hashing.py", "source_location": "L12", "receiver": "h"}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_init_py", "label": "__init__.py", "file_type": "code", "source_file": "app/infrastructure/cache/__init__.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_init_rationale_1", "label": "Redis adapter: shared connection pool for cache and arq broker.", "file_type": "rationale", "source_file": "app/infrastructure/cache/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_init_py", "target": "app_infrastructure_cache_redis", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/cache/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_init_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/infrastructure/cache/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_py", "label": "like.py", "file_type": "code", "source_file": "app/infrastructure/db/models/like.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_likemodel", "label": "LikeModel", "file_type": "code", "source_file": "app/infrastructure/db/models/like.py", "source_location": "L19", "_callable": true}, {"id": "uuidprimarykeymixin", "label": "UUIDPrimaryKeyMixin", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/infrastructure/db/models/like.py"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/infrastructure/db/models/like.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_rationale_1", "label": "ORM model for likes \u2014 an append-only event log. A like/dislike is **never** upd", "file_type": "rationale", "source_file": "app/infrastructure/db/models/like.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_py", "target": "datetime", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/like.py", "source_location": "L9", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/like.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/like.py", "source_location": "L12", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/like.py", "source_location": "L13", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_py", "target": "app_infrastructure_db_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/like.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_py", "target": "app_infrastructure_db_models_mixins", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/like.py", "source_location": "L16", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_likemodel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/like.py", "source_location": "L19", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_likemodel", "target": "uuidprimarykeymixin", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/like.py", "source_location": "L19", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_likemodel", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/like.py", "source_location": "L19", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_models_like_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/models/like.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_playlist_py", "label": "playlist.py", "file_type": "code", "source_file": "app/domain/entities/playlist.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_playlist_playlist", "label": "Playlist", "file_type": "code", "source_file": "app/domain/entities/playlist.py", "source_location": "L9", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_playlist_rationale_1", "label": "Playlist domain entity.", "file_type": "rationale", "source_file": "app/domain/entities/playlist.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_playlist_py", "target": "datetime", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/domain/entities/playlist.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_playlist_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/domain/entities/playlist.py", "source_location": "L4", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_playlist_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/domain/entities/playlist.py", "source_location": "L5", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_playlist_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_playlist_playlist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/domain/entities/playlist.py", "source_location": "L9", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_playlist_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_playlist_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/domain/entities/playlist.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_py", "label": "20260608_1200-subsonic_app_password.py", "file_type": "code", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_upgrade", "label": "upgrade()", "file_type": "code", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L24", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_downgrade", "label": "downgrade()", "file_type": "code", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L31", "_callable": true}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L13", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_py", "target": "sqlalchemy", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_py", "target": "alembic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L16", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_py", "target": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_upgrade", "relation": "contains", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L24", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_py", "target": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_downgrade", "relation": "contains", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L31", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_upgrade", "callee": "add_column", "is_member_call": true, "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L25", "receiver": "op"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_upgrade", "callee": "Column", "is_member_call": true, "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L27", "receiver": "sa"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1200_subsonic_app_password_downgrade", "callee": "drop_column", "is_member_call": true, "source_file": "alembic/versions/20260608_1200-subsonic_app_password.py", "source_location": "L32", "receiver": "op"}]}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_upload_py", "label": "upload.py", "file_type": "code", "source_file": "app/api/schemas/upload.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_upload_uploadresponse", "label": "UploadResponse", "file_type": "code", "source_file": "app/api/schemas/upload.py", "source_location": "L8", "_callable": true}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/schemas/upload.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_upload_rationale_1", "label": "Schemas for upload responses.", "file_type": "rationale", "source_file": "app/api/schemas/upload.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_upload_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/upload.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_upload_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/upload.py", "source_location": "L5", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_upload_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_upload_uploadresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/schemas/upload.py", "source_location": "L8", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_upload_uploadresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/api/schemas/upload.py", "source_location": "L8", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_upload_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_upload_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/schemas/upload.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_py", "label": "20260614_1000-download_job_track_id.py", "file_type": "code", "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_upgrade", "label": "upgrade()", "file_type": "code", "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L26", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_downgrade", "label": "downgrade()", "file_type": "code", "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L41", "_callable": true}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_py", "target": "sqlalchemy", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L17", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_py", "target": "alembic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L18", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_py", "target": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_upgrade", "relation": "contains", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L26", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_py", "target": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_downgrade", "relation": "contains", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L41", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_upgrade", "callee": "add_column", "is_member_call": true, "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L27", "receiver": "op"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_upgrade", "callee": "Column", "is_member_call": true, "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L29", "receiver": "sa"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_upgrade", "callee": "Uuid", "is_member_call": true, "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L29", "receiver": "sa"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_upgrade", "callee": "create_foreign_key", "is_member_call": true, "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L31", "receiver": "op"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_upgrade", "callee": "f", "is_member_call": true, "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L32", "receiver": "op"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_downgrade", "callee": "drop_constraint", "is_member_call": true, "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L42", "receiver": "op"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_downgrade", "callee": "f", "is_member_call": true, "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L43", "receiver": "op"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260614_1000_download_job_track_id_downgrade", "callee": "drop_column", "is_member_call": true, "source_file": "alembic/versions/20260614_1000-download_job_track_id.py", "source_location": "L47", "receiver": "op"}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_py", "label": "history.py", "file_type": "code", "source_file": "app/api/schemas/history.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_historyin", "label": "HistoryIn", "file_type": "code", "source_file": "app/api/schemas/history.py", "source_location": "L9", "_callable": true}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/schemas/history.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_historyout", "label": "HistoryOut", "file_type": "code", "source_file": "app/api/schemas/history.py", "source_location": "L16", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_rationale_1", "label": "Play history request/response schemas.", "file_type": "rationale", "source_file": "app/api/schemas/history.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_py", "target": "datetime", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/history.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/history.py", "source_location": "L4", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/history.py", "source_location": "L6", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_historyin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/schemas/history.py", "source_location": "L9", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_historyin", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/api/schemas/history.py", "source_location": "L9", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_historyout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/schemas/history.py", "source_location": "L16", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_historyout", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/api/schemas/history.py", "source_location": "L16", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_history_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/schemas/history.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_py", "label": "20260608_1132-rename_track_file_path_to_storage_uri.py", "file_type": "code", "source_file": "alembic/versions/20260608_1132-rename_track_file_path_to_storage_uri.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_upgrade", "label": "upgrade()", "file_type": "code", "source_file": "alembic/versions/20260608_1132-rename_track_file_path_to_storage_uri.py", "source_location": "L20", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_downgrade", "label": "downgrade()", "file_type": "code", "source_file": "alembic/versions/20260608_1132-rename_track_file_path_to_storage_uri.py", "source_location": "L24", "_callable": true}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_py", "target": "collections_abc", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1132-rename_track_file_path_to_storage_uri.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_py", "target": "alembic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1132-rename_track_file_path_to_storage_uri.py", "source_location": "L12", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_py", "target": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_upgrade", "relation": "contains", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1132-rename_track_file_path_to_storage_uri.py", "source_location": "L20", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_py", "target": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_downgrade", "relation": "contains", "confidence": "EXTRACTED", "source_file": "alembic/versions/20260608_1132-rename_track_file_path_to_storage_uri.py", "source_location": "L24", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_upgrade", "callee": "alter_column", "is_member_call": true, "source_file": "alembic/versions/20260608_1132-rename_track_file_path_to_storage_uri.py", "source_location": "L21", "receiver": "op"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_alembic_versions_20260608_1132_rename_track_file_path_to_storage_uri_downgrade", "callee": "alter_column", "is_member_call": true, "source_file": "alembic/versions/20260608_1132-rename_track_file_path_to_storage_uri.py", "source_location": "L25", "receiver": "op"}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_track_py", "label": "track.py", "file_type": "code", "source_file": "app/domain/entities/track.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_track_artist", "label": "Artist", "file_type": "code", "source_file": "app/domain/entities/track.py", "source_location": "L9", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_track_track", "label": "Track", "file_type": "code", "source_file": "app/domain/entities/track.py", "source_location": "L19", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_track_rationale_1", "label": "Track and Artist domain entities.", "file_type": "rationale", "source_file": "app/domain/entities/track.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_track_py", "target": "datetime", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/domain/entities/track.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_track_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/domain/entities/track.py", "source_location": "L4", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_track_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/domain/entities/track.py", "source_location": "L5", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_track_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_track_artist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/domain/entities/track.py", "source_location": "L9", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_track_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_track_track", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/domain/entities/track.py", "source_location": "L19", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_track_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_track_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/domain/entities/track.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_py", "label": "sync.py", "file_type": "code", "source_file": "app/api/v1/sync.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_get_changes", "label": "get_changes()", "file_type": "code", "source_file": "app/api/v1/sync.py", "source_location": "L11", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/v1/sync.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_push_changes", "label": "push_changes()", "file_type": "code", "source_file": "app/api/v1/sync.py", "source_location": "L15", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_rationale_1", "label": "Client sync endpoints (offline-first event log).", "file_type": "rationale", "source_file": "app/api/v1/sync.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/v1/sync.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/v1/sync.py", "source_location": "L5", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_get_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/v1/sync.py", "source_location": "L11", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_get_changes", "target": "any", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/sync.py", "source_location": "L11", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_push_changes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/v1/sync.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_push_changes", "target": "any", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/sync.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_sync_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/v1/sync.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_sources_init_py", "label": "__init__.py", "file_type": "code", "source_file": "app/infrastructure/sources/__init__.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_sources_init_rationale_1", "label": "Source backends \u2014 driven adapters that discover/fetch tracks.", "file_type": "rationale", "source_file": "app/infrastructure/sources/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_sources_init_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_sources_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/infrastructure/sources/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_like_py", "label": "like.py", "file_type": "code", "source_file": "app/domain/entities/like.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_like_like", "label": "Like", "file_type": "code", "source_file": "app/domain/entities/like.py", "source_location": "L9", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_like_rationale_1", "label": "Like domain entity \u2014 append-only event log entry.", "file_type": "rationale", "source_file": "app/domain/entities/like.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_like_py", "target": "datetime", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/domain/entities/like.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_like_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/domain/entities/like.py", "source_location": "L4", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_like_py", "target": "dataclasses", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/domain/entities/like.py", "source_location": "L5", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_like_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_like_like", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/domain/entities/like.py", "source_location": "L9", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_like_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_entities_like_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/domain/entities/like.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_py", "label": "auth.py", "file_type": "code", "source_file": "app/api/schemas/auth.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_loginrequest", "label": "LoginRequest", "file_type": "code", "source_file": "app/api/schemas/auth.py", "source_location": "L8", "_callable": true}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/schemas/auth.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_registerrequest", "label": "RegisterRequest", "file_type": "code", "source_file": "app/api/schemas/auth.py", "source_location": "L13", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_refreshrequest", "label": "RefreshRequest", "file_type": "code", "source_file": "app/api/schemas/auth.py", "source_location": "L18", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_tokenresponse", "label": "TokenResponse", "file_type": "code", "source_file": "app/api/schemas/auth.py", "source_location": "L22", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_rationale_1", "label": "Auth request/response schemas. Tokens are returned in the body (the client store", "file_type": "rationale", "source_file": "app/api/schemas/auth.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/auth.py", "source_location": "L5", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_loginrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/schemas/auth.py", "source_location": "L8", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_loginrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/api/schemas/auth.py", "source_location": "L8", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_registerrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/schemas/auth.py", "source_location": "L13", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_registerrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/api/schemas/auth.py", "source_location": "L13", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_refreshrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/schemas/auth.py", "source_location": "L18", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_refreshrequest", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/api/schemas/auth.py", "source_location": "L18", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_tokenresponse", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/schemas/auth.py", "source_location": "L22", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_tokenresponse", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/api/schemas/auth.py", "source_location": "L22", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_auth_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/schemas/auth.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_api_init_py", "label": "__init__.py", "file_type": "code", "source_file": "app/api/__init__.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_init_rationale_1", "label": "Driving adapter \u2014 FastAPI routers, schemas, dependency wiring.", "file_type": "rationale", "source_file": "app/api/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_api_init_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_storage_init_py", "label": "__init__.py", "file_type": "code", "source_file": "app/infrastructure/storage/__init__.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_storage_init_rationale_1", "label": "File storage adapters.", "file_type": "rationale", "source_file": "app/infrastructure/storage/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_storage_init_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_storage_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/infrastructure/storage/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_init_py", "label": "__init__.py", "file_type": "code", "source_file": "app/infrastructure/db/repositories/__init__.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_init_rationale_1", "label": "SQLAlchemy repository adapters implementing the domain ports.", "file_type": "rationale", "source_file": "app/infrastructure/db/repositories/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_init_py", "target": "app_infrastructure_db_repositories_album_repository", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_init_py", "target": "app_infrastructure_db_repositories_artist_repository", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/__init__.py", "source_location": "L4", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_init_py", "target": "app_infrastructure_db_repositories_download_job_repository", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/__init__.py", "source_location": "L5", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_init_py", "target": "app_infrastructure_db_repositories_history_repository", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/__init__.py", "source_location": "L8", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_init_py", "target": "app_infrastructure_db_repositories_like_repository", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/__init__.py", "source_location": "L9", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_init_py", "target": "app_infrastructure_db_repositories_playlist_repository", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/__init__.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_init_py", "target": "app_infrastructure_db_repositories_refresh_token_repository", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/__init__.py", "source_location": "L11", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_init_py", "target": "app_infrastructure_db_repositories_track_repository", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/__init__.py", "source_location": "L14", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_init_py", "target": "app_infrastructure_db_repositories_user_repository", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/__init__.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_init_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_repositories_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/repositories/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_py", "label": "redis.py", "file_type": "code", "source_file": "app/infrastructure/cache/redis.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_get_redis", "label": "get_redis()", "file_type": "code", "source_file": "app/infrastructure/cache/redis.py", "source_location": "L10", "_callable": true}, {"id": "redis", "label": "Redis", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/infrastructure/cache/redis.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_close_redis", "label": "close_redis()", "file_type": "code", "source_file": "app/infrastructure/cache/redis.py", "source_location": "L22", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_rationale_1", "label": "Redis client provider \u2014 a single shared async connection pool.", "file_type": "rationale", "source_file": "app/infrastructure/cache/redis.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_rationale_11", "label": "Return the process-wide Redis client (created on first use).", "file_type": "rationale", "source_file": "app/infrastructure/cache/redis.py", "source_location": "L11"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_py", "target": "redis_asyncio", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/cache/redis.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_py", "target": "app_core_config", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/cache/redis.py", "source_location": "L5", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_get_redis", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/infrastructure/cache/redis.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_get_redis", "target": "redis", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/infrastructure/cache/redis.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_close_redis", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/infrastructure/cache/redis.py", "source_location": "L22", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/infrastructure/cache/redis.py", "source_location": "L1", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_rationale_11", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_get_redis", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/infrastructure/cache/redis.py", "source_location": "L11", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_get_redis", "callee": "from_url", "is_member_call": true, "source_file": "app/infrastructure/cache/redis.py", "source_location": "L14", "receiver": "Redis"}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_get_redis", "callee": "get_settings", "is_member_call": false, "source_file": "app/infrastructure/cache/redis.py", "source_location": "L15", "receiver": null}, {"caller_nid": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_cache_redis_close_redis", "callee": "aclose", "is_member_call": true, "source_file": "app/infrastructure/cache/redis.py", "source_location": "L25", "receiver": "_client"}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_workers_init_py", "label": "__init__.py", "file_type": "code", "source_file": "app/workers/__init__.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_workers_init_rationale_1", "label": "arq worker \u2014 background tasks (downloads, enrichment, transcoding). CPU/IO-heav", "file_type": "rationale", "source_file": "app/workers/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_workers_init_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_workers_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/workers/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_py", "label": "user_settings.py", "file_type": "code", "source_file": "app/api/v1/user_settings.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_get_settings", "label": "get_settings()", "file_type": "code", "source_file": "app/api/v1/user_settings.py", "source_location": "L11", "_callable": true}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/v1/user_settings.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_update_settings", "label": "update_settings()", "file_type": "code", "source_file": "app/api/v1/user_settings.py", "source_location": "L15", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_get_scrobbling_settings", "label": "get_scrobbling_settings()", "file_type": "code", "source_file": "app/api/v1/user_settings.py", "source_location": "L19", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_set_scrobbling_settings", "label": "set_scrobbling_settings()", "file_type": "code", "source_file": "app/api/v1/user_settings.py", "source_location": "L23", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_rationale_1", "label": "User settings endpoints, including scrobbling configuration.", "file_type": "rationale", "source_file": "app/api/v1/user_settings.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/v1/user_settings.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/v1/user_settings.py", "source_location": "L5", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_get_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/v1/user_settings.py", "source_location": "L11", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_get_settings", "target": "any", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/user_settings.py", "source_location": "L11", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_update_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/v1/user_settings.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_update_settings", "target": "any", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/user_settings.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_get_scrobbling_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/v1/user_settings.py", "source_location": "L19", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_get_scrobbling_settings", "target": "any", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/user_settings.py", "source_location": "L19", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_set_scrobbling_settings", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/v1/user_settings.py", "source_location": "L23", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_set_scrobbling_settings", "target": "any", "relation": "references", "context": "return_type", "confidence": "EXTRACTED", "source_file": "app/api/v1/user_settings.py", "source_location": "L23", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_v1_user_settings_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/v1/user_settings.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_base_py", "label": "base.py", "file_type": "code", "source_file": "app/infrastructure/db/base.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_base_base", "label": "Base", "file_type": "code", "source_file": "app/infrastructure/db/base.py", "source_location": "L19", "_callable": true}, {"id": "declarativebase", "label": "DeclarativeBase", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/infrastructure/db/base.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_base_rationale_1", "label": "Declarative base with a fixed naming convention. The naming convention makes Al", "file_type": "rationale", "source_file": "app/infrastructure/db/base.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_base_rationale_20", "label": "Base for all ORM models. Import models so Alembic sees their metadata.", "file_type": "rationale", "source_file": "app/infrastructure/db/base.py", "source_location": "L20"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_base_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/base.py", "source_location": "L7", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_base_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/base.py", "source_location": "L8", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_base_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_base_base", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/base.py", "source_location": "L19", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_base_base", "target": "declarativebase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/base.py", "source_location": "L19", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_base_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_base_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/base.py", "source_location": "L1", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_base_rationale_20", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_base_base", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/base.py", "source_location": "L20", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_init_py", "label": "__init__.py", "file_type": "code", "source_file": "app/domain/__init__.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_domain_init_rationale_1", "label": "Pure business core \u2014 entities, value objects, errors, and ports (Protocols). Th", "file_type": "rationale", "source_file": "app/domain/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_domain_init_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_domain_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/domain/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_artist_py", "label": "artist.py", "file_type": "code", "source_file": "app/api/schemas/artist.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_artist_artistout", "label": "ArtistOut", "file_type": "code", "source_file": "app/api/schemas/artist.py", "source_location": "L9", "_callable": true}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/schemas/artist.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_artist_rationale_1", "label": "Artist request/response schemas.", "file_type": "rationale", "source_file": "app/api/schemas/artist.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_artist_py", "target": "datetime", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/artist.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_artist_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/artist.py", "source_location": "L4", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_artist_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/artist.py", "source_location": "L6", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_artist_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_artist_artistout", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/schemas/artist.py", "source_location": "L9", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_artist_artistout", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/api/schemas/artist.py", "source_location": "L9", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_artist_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_artist_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/schemas/artist.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_init_py", "label": "__init__.py", "file_type": "code", "source_file": "app/infrastructure/db/__init__.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_init_rationale_1", "label": "Database adapter: declarative base, async engine, session factory.", "file_type": "rationale", "source_file": "app/infrastructure/db/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_init_py", "target": "app_infrastructure_db_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/__init__.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_init_py", "target": "app_infrastructure_db_engine", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/__init__.py", "source_location": "L4", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_init_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_infrastructure_db_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/infrastructure/db/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_workers_tasks_init_py", "label": "__init__.py", "file_type": "code", "source_file": "app/workers/tasks/__init__.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_workers_tasks_init_rationale_1", "label": "arq task functions. Registered in ``app.workers.arq_worker.WorkerSettings``.", "file_type": "rationale", "source_file": "app/workers/tasks/__init__.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_workers_tasks_init_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_workers_tasks_init_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/workers/tasks/__init__.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"nodes": [{"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_py", "label": "like.py", "file_type": "code", "source_file": "app/api/schemas/like.py", "source_location": "L1"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_likeevent", "label": "LikeEvent", "file_type": "code", "source_file": "app/api/schemas/like.py", "source_location": "L10", "_callable": true}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/senko/Work/mcma-compose/mcma-backend/app/api/schemas/like.py"}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_likestate", "label": "LikeState", "file_type": "code", "source_file": "app/api/schemas/like.py", "source_location": "L15", "_callable": true}, {"id": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_rationale_1", "label": "Like request/response schemas.", "file_type": "rationale", "source_file": "app/api/schemas/like.py", "source_location": "L1"}], "edges": [{"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_py", "target": "datetime", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/like.py", "source_location": "L3", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_py", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/like.py", "source_location": "L4", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/like.py", "source_location": "L5", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/schemas/like.py", "source_location": "L7", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_likeevent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/schemas/like.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_likeevent", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/api/schemas/like.py", "source_location": "L10", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_py", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_likestate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/api/schemas/like.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_likestate", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/api/schemas/like.py", "source_location": "L15", "weight": 1.0}, {"source": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_rationale_1", "target": "users_senko_work_mcma_compose_mcma_backend_app_api_schemas_like_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/api/schemas/like.py", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More