[MASTER]
# Disable warnings that conflict with design patterns and code style
disable=
    # Callback handlers require all arguments for interface compatibility
    unused-argument,
    # Lazy imports are intentional for optional dependencies
    import-outside-toplevel,
    # Import errors due to lazy import pattern in __init__.py
    no-name-in-module,
    import-error,
    # Code style preferences
    no-else-return,
    consider-using-in,
    unnecessary-dict-index-lookup,
    # API design choices
    too-many-arguments,
    too-many-positional-arguments,
    too-many-instance-attributes,
    # Test fixture patterns (redefining names is intentional)
    redefined-outer-name,
    # Pylint limitation with lazy __all__
    undefined-all-variable,
    # Broad exception catching (intentional in error handlers and integrations)
    broad-exception-caught,
    # f-string logging (we'll keep our logging style)
    logging-fstring-interpolation,
    # Test classes don't need public methods
    too-few-public-methods,
    # Duplicate code across test and non-test files
    duplicate-code,
    # Tests intentionally access protected members for white-box testing
    protected-access,
    # Notebook naming conventions (01_basic_rag is standard for examples)
    invalid-name,
    # Unnecessary dunder calls and minor style issues
    unnecessary-dunder-call,
    missing-class-docstring,
    use-implicit-booleaness-not-comparison,
    f-string-without-interpolation,

[DESIGN]
max-args=7
max-attributes=9
