testsAndMisc/docs/superpowers/contracts/tether-enforcer-split-2026-08-17.json
Krzysztof kuhy Rudnicki 2cd62587d6 tether_enforcer: split 267 -> 182 + 103, and grow both deploy lists
First phone_focus_mode split, so it sets the pattern. The nine iptables and
tethering-offload functions move to a SIBLING file, not a lib/ member:
deploy.sh copies a hardcoded per-file list into REMOTE_DIR and never deploys
lib/, so anything sourced on the phone has to sit beside the entry script.

deploy.sh has two hardcoded lists, not one - an adb push into the staging
dir and an adb_root cp out of it. Both were updated; missing the push would
have left the copy pointing at a file that was never staged.

The test harness copies only the entry script into its scratch dir, so it
was taught to copy the sibling too. That is the same coupling as the phone
deployment, in a form that can actually be run - and running it is the
evidence: 17 passed, 0 failed, identical to the pre-split baseline, with the
daemon sourcing the new sibling exactly as it will on the device.

This script is #!/system/bin/sh with no `set -e`, so the extractor refused to
guess an anchor rather than placing the source line somewhere wrong. It went
after the existing config.sh source by hand.

All 20 functions verbatim. Not verified on the phone - the next deploy is
where that gets confirmed.

Over-cap files 25 -> 24.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
2026-08-17 14:38:53 +02:00

18 lines
1.3 KiB
JSON

{
"title": "Split tether_enforcer.sh, the first phone_focus_mode target",
"objective": "tether_enforcer.sh is 17 lines over the cap - the cheapest file left. It is also the first split in phone_focus_mode, where deploy.sh copies a hardcoded per-file list into REMOTE_DIR and never deploys lib/, so the seam must be a sibling file and both of deploy.sh's lists must grow in the same commit. Establish that pattern here, where a runnable test can prove it.",
"acceptance_criteria": [
"Both resulting files are under 250 lines; the over-cap total falls 25 -> 24",
"All 20 top-level functions are verbatim",
"test_tether_enforcer.sh reports 17 passed, 0 failed - the same as the pre-split baseline",
"deploy.sh pushes AND copies the new sibling, mirroring how the entry script is handled",
"shellcheck passes on the sibling standalone with no suppression"
],
"out_of_scope": [
"Deploying to the phone, which needs the device and a focus-mode window",
"The other seven phone_focus_mode scripts",
"The pacman-wrapper pair"
],
"verifier": "bash phone_focus_mode/lib/tests/test_tether_enforcer.sh for the behaviour claim; bash meta/scripts/verify_shell_split.sh for the verbatim claim; grep for the sibling in both of deploy.sh's lists; shellcheck standalone; bash ~/utils/scripts/check_file_length.sh --all."
}