| # HF Runtime Fix Receipt 5 — Dependency Topology Settlement |
|
|
| ## Observed failure |
| The Space started on `0.0.0.0:7860`, then Gradio failed while rendering the main route through Starlette/Jinja2: |
|
|
| ```text |
| File "/usr/local/lib/python3.11/site-packages/gradio/routes.py", line 432, in main |
| return templates.TemplateResponse( |
| File "/usr/local/lib/python3.11/site-packages/starlette/templating.py", line 148, in TemplateResponse |
| template = self.get_template(name) |
| ... |
| TypeError: unhashable type: 'dict' |
| ``` |
|
|
| ## Cause |
| The previous packet still allowed Hugging Face / pip to resolve a FastAPI/Starlette/Jinja template stack that was not aligned with Gradio 4.44.1. The app code was launching, but the framework route renderer failed before the UI could settle. |
|
|
| ## Patch |
| Pinned the web framework substrate under Gradio 4.44.1: |
|
|
| ```text |
| gradio==4.44.1 |
| gradio_client==1.3.0 |
| huggingface_hub==0.25.2 |
| fastapi==0.112.2 |
| starlette==0.37.2 |
| pydantic<2.10 |
| opencv-python-headless |
| numpy |
| pandas |
| pillow |
| ``` |
|
|
| ## Preserved |
| - Video atomization logic unchanged |
| - Hashing logic unchanged |
| - Trace-stack logic unchanged |
| - Receipt generation unchanged |
| - OpenCV extraction logic unchanged |
| - Gradio UI component layout unchanged |
| - HF launch binding preserved |
|
|
| ## Route state |
| PATCHED7 is a dependency-substrate settlement patch, not a feature change. |
|
|