testsAndMisc/docs/superpowers/contracts
Krzysztof kuhy Rudnicki f72455662c Extract the hosts blocker into its own repo
linux_configuration/periodic_background/hosts/ is now
github.com/kuhyx/hosts-blocker, cloned at ~/hosts-blocker. Clears 5 of the 46
directory-depth violations; the remaining 41 are all digital_wellbeing, so
--warn stays on the depth hook until that unit moves too.

History was filtered across ALL FOUR paths the unit has lived at (hosts/,
linux_configuration/hosts/, linux_configuration/scripts/periodic_background/
hosts/, and the current one). Filtering on the current path alone would have
preserved 1 commit out of 51 -- the flatten moved it recently, so a naive
single --path silently truncates the history to the flatten commit and still
looks fine in `git log | head`.

No source line changed: all 15 files are byte-identical to the copies removed
here. install.sh already resolved its lib/ via BASH_SOURCE.

The six callers now resolve the checkout through a new shared helper,
linux_configuration/lib/extracted_repos.sh, which reads the invoking user's
home from SUDO_USER's passwd entry rather than $HOME -- several of these
scripts re-exec under sudo, where $HOME is /root. A missing checkout fails
loudly with a clone instruction; it is never a silent skip, which is the
failure mode that left screen-locker's self-repair dead for five months after
the 2026-05-15 reorg.

The live blocker is untouched: /etc/hosts keeps its chattr +i, and the guards
load their plugins from /usr/local/share/guard-lib-plugins/ (byte-identical by
md5), not from a repo path.

Verified: 25 tests pass from ~/hosts-blocker; shellcheck clean on the helper
and all six callers; sudo resolution prints /home/kuhy/hosts-blocker;
test_setup_dns_blocker.sh passes; report_live_state.sh --check is byte-identical
before and after, so no new stale references.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PJrqKERAo5QUeEHWS5Asgp
2026-08-23 20:30:18 +02:00
..
archive-billsplit-2026-08-23.json Archive billsplit and everything coupled to it 2026-08-23 17:17:22 +02:00
archive-bucket-catch-poker-stakes-2026-08-23.json Archive bucket_catch and poker-stakes to testsAndMisc-archive 2026-08-23 17:12:54 +02:00
ci-mirror-scoped-push-gate-2026-08-23.json Make the push gate check the push, and make its pytest stage real 2026-08-23 15:12:23 +02:00
endurain-db-dedupe-2026-08-23.json Dedupe endurain imports against postgres when the API cannot answer 2026-08-23 15:23:08 +02:00
endurain-import-dedupe-and-adb-serial-2026-08-23.json Stop the endurain importer duplicating RunnerUp's own uploads 2026-08-23 14:36:03 +02:00
endurain-runnerup-webdav-2026-08-23.json feat(endurain): self-hosted run viewer fed by RunnerUp WebDAV exports 2026-08-23 13:09:18 +02:00
extract-android-guardian-2026-08-23.json Extract android_guardian; heavy_job_lock goes to its installer 2026-08-23 18:00:58 +02:00
extract-hosts-blocker-2026-08-23.json Extract the hosts blocker into its own repo 2026-08-23 20:30:18 +02:00
extract-mtk-root-2026-08-23.json Extract mtk_root, with the libraries that lived outside it 2026-08-23 17:39:27 +02:00
extract-phone-focus-mode-2026-08-23.json Extract phone_focus_mode together with focus_policy 2026-08-23 18:32:58 +02:00
extract-system-maintenance-2026-08-23.json Extract system-maintenance, the isolated subsystem 2026-08-23 17:55:29 +02:00
extract-three-apps-2026-08-23.json Extract reverse_survivors, kcd2_dice_solver and focus_owner 2026-08-23 17:34:02 +02:00
flatten-i3-and-misc-2026-08-23.json Flatten i3-configuration and misc/testsAndMisc-bash 2026-08-23 19:02:18 +02:00
flatten-linux-configuration-2026-08-23.json Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
hosts-guard-tests-2026-08-23.json Clear both hosts-guard libs; teach the instrument done <redirect> (88 -> 86) 2026-08-23 11:50:13 +02:00
nvidia-config-tests-2026-08-23.json Test nvidia_config.sh to 100%; the 8-lib campaign is done (85 -> 84) 2026-08-23 13:14:37 +02:00
split-boot-repair-2026-08-23.json Cap extensionless scripts, and split the one that was hiding 2026-08-23 19:13:40 +02:00
suite-speedup-2026-08-23.json Take the fixes/lib suite from 110s to 37s, same 645 assertions 2026-08-23 14:00:13 +02:00
template.json style(prettier): apply markdown/json formatting updates 2026-05-07 22:08:00 +02:00
thorium-repairs-tests-2026-08-23.json Test thorium_repairs.sh to 100%, lift the gate timeout (89 -> 88) 2026-08-23 11:05:56 +02:00
ubuntu-perf-fixes-tests-2026-08-23.json Test ubuntu_perf_fixes.sh to 100%, take it off the allowlist (86 -> 85) 2026-08-23 12:38:40 +02:00
wire-shell-coverage-ratchet-2026-08-23.json Wire the shell ratchet into pre-commit, and test the coverage tooling 2026-08-23 15:51:29 +02:00