Narrow the path parameter type hint in FileSystemError.__init__ from Any to
str | os.PathLike[str] | None. This improves static analysis accuracy since
path is semantically a filesystem path, not an arbitrary value.
Changes:
- Add import os to exceptions.py
- Replace path: Any = None with path: str | os.PathLike[str] | None = None
- Reformat __init__ signature to multi-line for line-length compliance
- Audit call-sites (context_service.py, project_service.py): both pass
pathlib.Path which implements os.PathLike[str], no changes needed
- Add BDD feature file covering str, pathlib.Path, None, and annotation check
- Add corresponding step definitions
ISSUES CLOSED: #3034