# Todo 15 Static Package Data Plan **Status:** in_progress ## Goal Include the static debug UI assets in installed package builds. ## Why The FastAPI app serves `index.html`, `app.js`, and `styles.css` from `agent_lab.presentation.static`. Local source runs work because those files are present in the checkout. A built wheel needs explicit setuptools package-data configuration so installed console usage can still serve the UI. ## Scope This todo covers: - Add package-data configuration for static HTML, JS, and CSS files. - Add a focused test that prevents removing this packaging rule. - Build the package and inspect the wheel contents. This todo does not cover: - Changing runtime static path lookup. - Adding new frontend assets. - Production server entrypoint behavior. ## Files - Modify: `pyproject.toml` - Add/modify: `tests/test_packaging.py` - Modify: `docs/plans/todos.md` - Modify: this plan ## Steps 1. Add a failing test that reads `pyproject.toml` and asserts `agent_lab.presentation` includes `static/*.html`, `static/*.js`, and `static/*.css` package data. 2. Add `[tool.setuptools.package-data]` to `pyproject.toml`. 3. Run: ```bash uv run pytest tests/test_packaging.py uv run pytest ``` 4. Build and inspect package contents: ```bash uv build unzip -l dist/agent_lab-0.1.0-py3-none-any.whl | rg "agent_lab/presentation/static/(index.html|app.js|styles.css)" ``` 5. Update this plan and `docs/plans/todos.md`, then commit. ## Verification Expected result: - Packaging test passes. - Full suite passes. - Built wheel contains the three static UI files.