Skip to content

Fable5: Codebase never passed its own lint/style gates (black, isort, F824) #21

Description

@etiennechabert

Problem

Even with the workflow infrastructure repaired (#20), the lint-and-test check cannot pass because the codebase never satisfied its own gates:

  1. flake8 blocking step: 24 × F824 — global X declared in functions that only read or mutate X in place (e.g. global all_meeting_segments where only .append() is called) but never rebind it. F82 is in the workflow's blocking --select list, so this alone fails the job.
  2. black --check --line-length=120: 4 files would be reformatted (app.py, config.py, monitor_memory.py, verify_gpu.py) — the repo was never black-formatted.
  3. isort --check-only --profile black: 3 files fail.

Fix

  • Remove the never-assigned names from the 12 global statements (behavior-neutral: global is only required for rebinding).
  • One-time black + isort pass with the CI's exact flags.
  • Care points verified by hand: the order-sensitive transformers torchcodec monkeypatch in app.py still executes after the transformers imports and before any pipeline is built; isort does not move app.py's deliberate mid-file import blocks across statements.

Done as a dedicated PR (merging before the bug-fix PR #16) so functional changes stay reviewable and sit on top of formatted code.

Status

Fixed in PR #17.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions