This was generated by AI during triage.
Summary
Task 10 of the PR A plan (docs/superpowers/plans/2026-05-12-live-contract-tests-pr-a-scaffold.md) is maintainer-only — requires a real sandbox PAT scoped to teamrocket.network. Once the cassette is recorded and committed, the @pytest.mark.skipif on test_user_info_smoke becomes inert and the test runs in CI.
Why this is ready-for-human
Requires a Gandi sandbox PAT. Cannot be done by an agent.
Steps for the maintainer
- Create a sandbox PAT at https://account.gandi.net/, scoped to
teamrocket.network only.
- Store it:
pass insert gandi/pat-sandbox (or equivalent).
- From the repo root:
GANDI_TOKEN=$(pass show gandi/pat-sandbox) make refresh-cassettes
- Review the cassette diff for unredacted PII per
CONTRIBUTING.md "Recording contract cassettes".
- Commit
tests/contract/cassettes/test_user_info_smoke.yaml.
- Remove the
@pytest.mark.skipif decorator from tests/contract/test_smoke.py::test_user_info_smoke (the cassette now exists, the skip is no longer load-bearing).
- Open a PR with the cassette + the skipif removal.
Acceptance
Summary
Task 10 of the PR A plan (
docs/superpowers/plans/2026-05-12-live-contract-tests-pr-a-scaffold.md) is maintainer-only — requires a real sandbox PAT scoped toteamrocket.network. Once the cassette is recorded and committed, the@pytest.mark.skipifontest_user_info_smokebecomes inert and the test runs in CI.Why this is
ready-for-humanRequires a Gandi sandbox PAT. Cannot be done by an agent.
Steps for the maintainer
teamrocket.networkonly.pass insert gandi/pat-sandbox(or equivalent).GANDI_TOKEN=$(pass show gandi/pat-sandbox) make refresh-cassettesCONTRIBUTING.md"Recording contract cassettes".tests/contract/cassettes/test_user_info_smoke.yaml.@pytest.mark.skipifdecorator fromtests/contract/test_smoke.py::test_user_info_smoke(the cassette now exists, the skip is no longer load-bearing).Acceptance
test_user_info_smokeon replay-only.