{
  "python": {
    "sqlalchemy": {
      "docs_url": "https://docs.sqlalchemy.org",
      "description": "SQLAlchemy is the Database Toolkit for Python, providing a comprehensive suite of tools for working with databases including an Object Relational Mapper (ORM) and Core expression language for SQL operations.",
      "capabilities": {
        "relational_database": {
          "description": "SQLAlchemy ORM declarative models and relational database operations.",
          "operations": {
            "db_data_model": {
              "description": "Base class for SQLAlchemy declarative models.",
              "absolute_paths": [
                "sqlalchemy.ext.declarative.declarative_base",
                "sqlalchemy.orm.declarative_base",
                "unoplat_code_confluence_commons.base_models.sql_base.SQLBase"
              ],
              "target_level": "class",
              "concept": "Inheritance"
            },
            "db_sql": {
              "description": "SQLAlchemy insert, update, and delete construction plus Session persistence calls.",
              "absolute_paths": [
                "sqlalchemy.insert",
                "sqlalchemy.sql.expression.insert",
                "sqlalchemy.dialects.postgresql.insert",
                "sqlalchemy.update",
                "sqlalchemy.sql.expression.update",
                "sqlalchemy.delete",
                "sqlalchemy.sql.expression.delete",
                "sqlalchemy.orm.Session",
                "sqlalchemy.ext.asyncio.AsyncSession"
              ],
              "target_level": "function",
              "concept": "CallExpression",
              "construct_query": {
                "match_policy": "import_guarded_regex",
                "callee_regex": "^(?:(?:[A-Za-z_][A-Za-z0-9_]*\\.)+(?:Session|AsyncSession)|(?:insert|update|delete)[A-Za-z0-9_]*|[A-Za-z_][A-Za-z0-9_]*(?:insert|update|delete)[A-Za-z0-9_]*|(?:[A-Za-z_][A-Za-z0-9_]*\\.)+(?:execute|add|add_all|insert|update|delete))$"
              },
              "base_confidence": 0.49,
              "notes": "Treat sqlalchemy.orm.Session and sqlalchemy.ext.asyncio.AsyncSession constructor calls as low-confidence discovery seeds for persistence operations, not as database writes themselves. Trace the created receiver, including attributes such as self.session, through exports, imports, assignments, dependency injection, or annotations. Reject the constructor seed after discovery and reject unrelated objects exposing generic execute, add, add_all, or delete methods. For execute calls, inspect the statement and surrounding flow to confirm a relational database write; reject read-only select/query execution and non-SQLAlchemy calls. For bare or module-qualified insert, update, and delete calls, confirm the imported or aliased symbol resolves to a supported SQLAlchemy construction path. Session.update is not an ORM persistence API and must be rejected unless the receiver/API provenance proves a supported SQLAlchemy write surface."
            }
          }
        }
      }
    }
  }
}
