mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-10 19:27:03 +01:00
github.com/kuhyx/phone-focus-mode The two halves go as one repo: focus_policy parses phone_focus_mode's config.sh into the typed policy that focus-owner consumes, and nothing else references it. 77 commits of history, plus the two Python suites from linux_configuration/tests/ and the six mutation fixtures from meta/scripts/fixtures/, all of which named phone_focus_mode paths. Running the suites -- not reading them -- turned up a real defect the extraction would otherwise have inherited. config.sh sources the untracked config_secrets.sh, and ctl_libs_harness.sh never pinned HOME_LAT/HOME_LON, so the distance assertions were checking against whatever real coordinates that file happened to hold. The suite passed on this machine and could not run anywhere else, and a real home location was load-bearing in a pass/fail condition. The harness now pins a pair 4300 m south of the coordinate its own case seeds, and config.sh sources the secrets file only when it exists. 136/136 pass with no secrets file present. Before making the repo public I scanned the whole history for the known home coordinates and for any committed config_secrets.sh: zero hits, and the file was never tracked. The new repo also gained a .gitignore, since none came across in the filter-repo pass. test_magisk_service.sh hangs. It hangs identically in the pre-extraction baseline worktree and appears in no CI list here, so the new repo's CI skips it with that reason rather than pretending it passes. check_python_location.sh loses its phone_focus_mode exception now that the directory is gone; every tracked .py still passes it. The .gitignore rules for config_secrets.sh and the keystore STAY -- the working copy is still on this machine and still holds a real location. Depth 262 -> 248. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PJrqKERAo5QUeEHWS5Asgp
22 lines
2.0 KiB
JSON
22 lines
2.0 KiB
JSON
{
|
|
"title": "Extract phone_focus_mode with focus_policy into one public repo",
|
|
"objective": "Move the GPS focus enforcer and its Python policy half out together, since focus_policy parses phone_focus_mode's config.sh and is referenced by nothing else. The repo is public and the subject matter is a home location, so proving no coordinate leaks is part of the job, not an afterthought.",
|
|
"acceptance_criteria": [
|
|
"Both trees land in one public repo with full history and python_pkg.focus_policy imports rewritten.",
|
|
"The full git history contains no real home coordinate and no committed config_secrets.sh, verified BEFORE the repo is made public.",
|
|
"The new repo has a .gitignore covering config_secrets.sh; none came across in the filter-repo pass.",
|
|
"The Python suites pass from a clean clone: 161 tests.",
|
|
"The shell suites pass with NO config_secrets.sh present, which means the harness must pin its own coordinates instead of inheriting real ones.",
|
|
"config.sh can be sourced without a secrets file, so CI and a fresh clone work.",
|
|
"Any suite that does not pass is skipped in CI with a stated reason, and its behaviour is compared against the pre-extraction baseline to establish whether the split caused it.",
|
|
"The monorepo's remaining tests still pass and no config, hook or workflow names a removed path.",
|
|
"pre-commit passes without --no-verify."
|
|
],
|
|
"out_of_scope": [
|
|
"hosts and digital_wellbeing, deferred while the guard-lib repoint is pending.",
|
|
"Fixing test_magisk_service.sh, which was already broken and is not a regression from this split.",
|
|
"python-tests.yml's stale lichess_bot and tests/ path filters, absent since May 2026."
|
|
],
|
|
"verifier": "git log --all -p greps clean for the home coordinates; pytest reports 161 passed in the new repo; the shell suites run with the secrets file moved away; pytest linux_configuration/tests reports 178 passed here; check_shell_coverage.sh --all and check_python_location.sh over every .py both exit 0; check_directory_depth.sh --all drops 262 -> 248."
|
|
}
|