Import Resolution
Enforces canonical import patterns per E8 Protocol v4.0. Source: .github/agents/import-resolution-agent.md.
When to Use This Skill
- Reviewing Python imports in
qig-backend/
- Fixing circular dependency errors
- Validating
__init__.py barrel exports
- Ensuring absolute import patterns
Step 1: Check for Import Errors
cd qig-backend
python -c "import qig_core; import olympus; import routes" 2>&1
Step 2: Validate Canonical Import Patterns
# Find relative imports (should be minimal)
rg "^from \.\." qig-backend/ --type py
# Verify absolute imports from qig_backend
rg "^from qig_backend\." qig-backend/ --type py | head -20
Step 3: Check Barrel Exports
# Ensure all modules have __init__.py with __all__
find qig-backend -name "__init__.py" -exec grep -L "__all__" {} \;
Canonical Import Patterns
# ā
CORRECT: Absolute imports from qig_backend
from qig_backend.qig_core.consciousness_4d import measure_phi
from qig_backend.qig_geometry.canonical import fisher_rao_distance
from qig_backend.olympus.zeus import ZeusKernel
# ā WRONG: Relative imports in non-test code
from ..qig_core import consciousness_4d # FORBIDDEN
from . import utils # Only allowed in __init__.py
Critical Checks
| Check |
Requirement |
| Absolute paths |
All imports use qig_backend.module |
| No relative |
No from .. except in tests |
| Barrel exports |
Every module has __init__.py with __all__ |
| No circular |
No circular dependency chains |
Validation Commands
# Run ruff import checks
cd qig-backend && ruff check --select I .
# Check for circular imports
python -c "
import sys
sys.setrecursionlimit(100)
import qig_backend
"
Response Format
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
IMPORT RESOLUTION REPORT
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Import Validation:
- Absolute imports: ā
/ ā
- Circular deps: ā
/ ā
- Barrel exports: ā
/ ā
Violations Found: [list]
Priority: CRITICAL / HIGH / MEDIUM
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā