Files
noteflow/.agent/rules/forbidden-code-patterns.md

1.7 KiB

trigger
trigger
always_on

Forbidden Code Patterns (Python Files Only)

Pattern Why Blocked Alternative
Type suppression comments (# type: ignore, # pyright: ignore) Bypasses type safety Fix the actual type error, use cast() as last resort
Any type annotations Creates type safety holes Use specific types, Protocol, TypeVar, or object
Magic numbers in assignments Hidden intent, hard to maintain Define named constants with typing.Final
Loops/conditionals in tests Non-deterministic tests Use @pytest.mark.parametrize
Multiple assertions without messages Hard to debug failures Add assertion messages or separate tests
Duplicate fixture definitions Maintenance burden Use fixtures from tests/conftest.py

Blocked Fixtures (Already in tests/conftest.py)

Do not redefine these fixtures—they are globally available:

  • mock_uow, crypto, meetings_dir, webhook_config, webhook_config_all_events
  • sample_datetime, calendar_settings, meeting_id, sample_meeting, recording_meeting
  • mock_grpc_context, mock_asr_engine, mock_optional_extras