You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The generic extractor exposes Python files, but Ferrus cannot navigate packages, modules, declarations, imports, or inheritance as structured graph facts.
Proposed solution
Add a deterministic Python extractor through the existing Extractor boundary.
Scope:
Support .py and .pyi files, package directories, and namespace-package layouts.
Emit modules, classes, functions, async functions, methods, properties, type aliases, and bounded declaration metadata with evidence spans.
Emit import, from ... import, relative import, re-export, and statically explicit inheritance relationships.
Resolve repository-local modules and packages conservatively across __init__.py, namespace packages, and supported source-root declarations.
Parse relevant static pyproject.toml package metadata without importing modules, running Python, loading plugins, or invoking build backends.
Preserve dynamic imports, wildcard ambiguity, runtime path mutation, and unsupported targets as unresolved evidence.
What problem does this solve?
The generic extractor exposes Python files, but Ferrus cannot navigate packages, modules, declarations, imports, or inheritance as structured graph facts.
Proposed solution
Add a deterministic Python extractor through the existing
Extractorboundary.Scope:
.pyand.pyifiles, package directories, and namespace-package layouts.import,from ... import, relative import, re-export, and statically explicit inheritance relationships.__init__.py, namespace packages, and supported source-root declarations.pyproject.tomlpackage metadata without importing modules, running Python, loading plugins, or invoking build backends.Acceptance criteria
Impact on workflow
None. This extends optional derived repository context and must not alter task, run, lease, review, or approval state.