[flake8]
# Match black's line length so flake8 and black agree.
max-line-length = 100

exclude =
    .git,
    __pycache__,
    .venv,
    dist,
    build,
    .eggs,
    packages

# Ignored codes — aligned with `../culture/.flake8` so the migrated harness
# code (shared tier, vendored utility modules, harness tests) lints clean
# without behavior-altering reformat. New cultureagent-only code still has
# to pass black + isort.
#
# E203: whitespace before ':' — conflicts with black's slice formatting.
# E303: too many blank lines (kept for parity with culture).
# E402: module-level import not at top of file — used by tests that gate
#       imports behind pytest.importorskip for 0.3.0-only artifacts.
# E501: line too long — culture-compatible; black + max-line-length = 100
#       still enforce most cases, but legacy migrated lines may exceed.
# E741: ambiguous variable name 'l' — present in migrated code.
# W503: line break before binary operator — opposite of black's W504-style.
# F401, F541, F811, F841: import/string/redef/unused-local — culture parity;
#       harness fixtures legitimately need re-exports and unused locals.
extend-ignore =
    E203,
    E303,
    E402,
    E501,
    E741,
    W503,
    F401,
    F541,
    F811,
    F841
