Name: [Campaign] Brain v17 Complete: v1.4 + v2.0 Foundation — WI-1..WI-11

State: Failed finished in 105m

PR State: merged

PR Author: David Tran

PR Author Email:

PR: #22

Committer: David Tran

Committer Email: davidtran.hp@gmail.com

Commit: 82ed53272bcda76a36f527db092d8ce4fb1582eb

Description:

                                            [REF] viin_*: replace inline noqa markers with project-level ruff config

Repo-wide cleanup: 78 noqa comments scattered across 9 files removed.
Each suppression was investigated and replaced with either a root-cause
fix (E731) or a project-level ruff per-file-ignores rule that documents
the policy centrally instead of leaking it into every line.

* pyproject.toml (new) — minimal ruff config:
  - "__init__.py" = ["F401"]: Odoo registers models/tests via import
    side-effects; F401 (unused-import) does not apply.
  - viin_ai_chat/controllers/chat_controller.py = ["BLE001"]: HTTP
    boundary controllers must broad-catch to convert exceptions into
    JSON-RPC error payloads instead of leaking tracebacks.
  - viin_ai_chat/models/discuss_channel.py = ["BLE001"]: discuss bot
    reply trigger runs after super().message_post() and must never
    propagate — a misconfigured agent or vendor outage cannot be allowed
    to break the user's chat post.

* viin_ai_agent/models/agent.py — drop the lambda-as-default-no-op
  pattern (E731). run_streaming() now accepts on_delta=None directly
  and guards the call site with `if on_delta is not None`. Eliminates
  the noqa without introducing a module-level helper.

* 6 __init__.py files (viin_brain/tests, viin_ai_base/tests,
  viin_brain_account_reports/tests, viin_web_editor + tests + tools) —
  74 inline `# noqa: F401` markers removed.

* viin_ai_chat/{controllers/chat_controller.py,models/discuss_channel.py}
  — 3 inline `# noqa: BLE001` markers removed; broad-except behavior
  preserved (it is the correct pattern for these boundary points).

No runtime behavior change. No new dependencies. CI does not run ruff
today (.github/workflows/*.yml has no lint job), so this commit is
purely about code clarity and future-proofing the lint policy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
                                            

Branch: 17.0

Instance ID: 0

Age:

Up-time: