Skip to content

[Enhancement]: make lint reports thousands of flake8 errors #275

@longdafeng

Description

@longdafeng

Description

Description

Running make lint (which runs flake8 src tests) reports ~3,970+ lint errors across the codebase, causing the lint target to fail.

Steps to Reproduce

  1. Clone the repository and enter the project directory.
  2. Run: make lint
  3. Observe flake8 output and non-zero exit code.

Error Summary

Code Description Approx. Count
E501 Line too long (> 79 characters) ~3,544
F401 Module imported but unused ~155
F841 Local variable assigned but never used several
F601 Dictionary key repeated with different values 2 (e.g. src/powermem/agent/agent.py)
F541 f-string is missing placeholders several
W293 Blank line contains whitespace several

Errors affect both src/ and tests/ (unit, integration, e2e, regression).

Sample of Errors (first 120 lines)

flake8 src tests
src/powermem/__init__.py:4:80: E501 line too long (112 > 79 characters)
src/powermem/__init__.py:24:1: F401 '.core.memory._auto_convert_config' imported but unused
src/powermem/__init__.py:74:80: E501 line too long (86 > 79 characters)
src/powermem/__init__.py:80:80: E501 line too long (143 > 79 characters)
...
src/powermem/agent/agent.py:10:1: F401 'datetime.datetime' imported but unused
src/powermem/agent/agent.py:11:1: F401 'typing.Union' imported but unused
src/powermem/agent/agent.py:13:1: F401 '..agent.types.AccessPermission' imported but unused
...
src/powermem/agent/agent.py:296:13: F601 dictionary key 'default_scope' repeated with different values
src/powermem/agent/agent.py:326:13: F601 dictionary key 'default_scope' repeated with different values
...
src/powermem/agent/components/scope_controller.py:396:13: F841 local variable 'memory_data' is assigned to but never used
src/powermem/agent/components/scope_controller.py:598:1: W293 blank line contains whitespace
...

(Full output is ~3,973 lines; run make lint 2>&1 | tee lint-errors.txt to capture it.)

Suggested Next Steps

  • Consider relaxing E501 in setup.cfg / .flake8 (e.g. max-line-length = 88) to align with Black, and/or run black + isort to fix formatting, then re-enforce line length if desired.
  • Remove unused imports (F401) and unused variables (F841).
  • Fix duplicate dict keys (F601) and f-strings without placeholders (F541).
  • Trim trailing whitespace on blank lines (W293).

Environment

  • Linter: flake8 (via make lint in Makefile line 63).
  • Scope: src and tests directories.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions