Private
Public Access
0
0
Files
manual_slop/conductor/tracks/clean_install_test_20260603/spec.md
T

1.4 KiB

Clean Install Test (clean_install_test_20260603)

Opt-in pytest test that clones the Manual Slop repo to a temp dir, runs uv sync, launches sloppy.py --enable-test-hooks, and verifies the Hook API responds. Catches "works on my machine" failures by exercising the full install-and-launch path in an isolated environment.

Goal

Add a single integration test file tests/test_clean_install.py that, when opted in via RUN_CLEAN_INSTALL_TEST=1, performs a full clean install + launch verification of Manual Slop. Skipped by default to avoid breaking CI for users without network access to the Gitea clone URL.

Plan Source

This track executes the plan at docs/superpowers/plans/2026-06-02-clean-install-test.md and references the spec at docs/superpowers/specs/2026-06-02-clean-install-test-design.md.

Files Touched

File Action
pyproject.toml Modify: add clean_install marker
tests/test_clean_install.py Create: opt-in clone-and-verify test

Deviation from Plan

The plan uses requests library, but requests is not a project dependency. Per conductor/tech-stack.md "Dependency Minimalism" rule and the existing pattern in src/mcp_client.py web tools (which use urllib.request + html.parser from stdlib), the test will use urllib.request from Python stdlib instead. This avoids adding a new external dependency for a single opt-in test.