Skip to content

Python: [Bug]: poe syntax fails with FileNotFoundError for azurefunctions/pyproject.toml #7508

Description

Description

What happened:
When running the uv run poe syntax command from the python directory, the workspace task script crashes with a FileNotFoundError. The script workspace_poe_tasks.py attempts to discover all workspace projects and tries to open packages/azurefunctions/pyproject.toml, but the file does not exist in the repository.


What did I expect to happen:
I expected the poe syntax command to successfully run formatting (fmt) and linting (lint) checks across all available workspace packages without crashing.


Steps to reproduce this issue:

Clone the repository and checkout the branch.
Navigate to the python directory: cd python
Ensure dependencies are installed (e.g., via uv sync).
Run the syntax command: uv run poe syntax

Code Sample

Error Messages / Stack Traces

Poe => python scripts/workspace_poe_tasks.py syntax
Traceback (most recent call last):
  File "C:\Users\prati\agent-framework\python\scripts\workspace_poe_tasks.py", line 833, in <module>
    main()
  File "C:\Users\prati\agent-framework\python\scripts\workspace_poe_tasks.py", line 673, in main
    run_syntax(
  File "C:\Users\prati\agent-framework\python\scripts\workspace_poe_tasks.py", line 659, in run_syntax
    run_fan_out(["fmt", "lint"], project_pattern, [])
  File "C:\Users\prati\agent-framework\python\scripts\workspace_poe_tasks.py", line 239, in run_fan_out
    selected_projects = select_projects(project_pattern)
  File "C:\Users\prati\agent-framework\python\scripts\workspace_poe_tasks.py", line 179, in select_projects
    for project in discover_workspace_projects()
  File "C:\Users\prati\agent-framework\python\scripts\workspace_poe_tasks.py", line 149, in discover_workspace_projects
    pyproject = load_toml(WORKSPACE_ROOT / project_path / "pyproject.toml")
  File "C:\Users\prati\agent-framework\python\scripts\workspace_poe_tasks.py", line 141, in load_toml
    with file_path.open("rb") as file:
  File "C:\Users\prati\AppData\Roaming\uv\python\cpython-3.14.0-windows-x86_64-none\Lib\pathlib\__init__.py", line 776, in open
    return io.open(self, mode, buffering, encoding, errors, newline)
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\prati\\agent-framework\\python\\packages\\azurefunctions\\pyproject.toml'

Package Versions

Workspace version: 1.13.0

Python Version

3.14

Additional Context

No response

Activity

  1. added
    reproducedUsage: [Issues], Target: all issues that can be reproduced by the triage workflow
    on Aug 4, 2026
  2. github-actions commented on Aug 4, 2026

    @github-actions
    Contributor

    🤖 Automated triage reproduction notes (agent-authored — trust but verify)

    Agent analysis

    Repro: discover_workspace_projects() in python/scripts/workspace_poe_tasks.py:149 calls load_toml() on every path returned by discover_projects() (in python/scripts/task_runner.py:35-60) without checking that pyproject.toml exists. Trigger: any subdirectory under packages/ that lacks a pyproject.toml (e.g., stale packages/azurefunctions/ left after the extraction in commit 4330901). Minimal repro: create an empty packages/azurefunctions/ directory and run uv run poe syntax from the python/ directory.

    • Failing test: none
    • Files examined: python/scripts/workspace_poe_tasks.py, python/scripts/task_runner.py, python/pyproject.toml
    • Tests run: inline reproduction script confirming FileNotFoundError when packages/azurefunctions/ exists without pyproject.toml
    • Reported version: 1.13.0
    • Current version: 1.13.0
  3. added
    pythonUsage: [Issues, PRs], Target: Python
    triageUsage: [Issues], Target: All issues that still need to be triaged
    on Aug 4, 2026
  4. luisangelrod commented on Aug 4, 2026

    @luisangelrod
    Contributor

    I can take this. I reproduced the discovery path from the report and plan to make the shared workspace project discovery ignore glob matches that do not contain a pyproject.toml, with a regression test covering a stale package directory. That keeps syntax and the other workspace task consumers consistent.

  5. removed
    triageUsage: [Issues], Target: All issues that still need to be triaged
    reproducedUsage: [Issues], Target: all issues that can be reproduced by the triage workflow
    on Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

pythonUsage: [Issues, PRs], Target: Python

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions