mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-11 19:34:03 +01:00
RunnerUp needs to stay enabled after a run to export the TCX file screen-locker verifies against; being disabled by focus mode at home silently blocked that. It's straightforwardly beneficial, so treat it like the other always-available apps: present in both WHITELIST and NIGHT_WHITELIST. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013SH7XBkpEqQX4KghHdgx9T
38 lines
2.9 KiB
JSON
38 lines
2.9 KiB
JSON
{
|
|
"intent": "Whitelist RunnerUp so it stays enabled everywhere (home, away, curfew), since being disabled at home was blocking its TCX auto-export, which screen-locker's workout verification depends on.",
|
|
"scope": [
|
|
"phone_focus_mode/config.sh",
|
|
"focus_owner/assets/policy.json",
|
|
"Non-goal: root-DB fallback verification, or changing verification thresholds -- those live in screen-locker, not this repo"
|
|
],
|
|
"changes": [
|
|
"Added org.runnerup and org.runnerup.free to both WHITELIST (day) and NIGHT_WHITELIST (curfew) in config.sh -- both lists are required because model.py enforces night_allowed_packages as a subset of allowed_packages.",
|
|
"Regenerated focus_owner/assets/policy.json via `python3 -m python_pkg.focus_policy --config phone_focus_mode/config.sh --output focus_owner/assets/policy.json --redact-home`, keeping home coordinates redacted in the committed asset."
|
|
],
|
|
"verification": [
|
|
{
|
|
"command": "python3 -c \"import json; p=json.load(open('focus_owner/assets/policy.json')); print([x for x in p['allowed_packages'] if 'runnerup' in x], [x for x in p['night_allowed_packages'] if 'runnerup' in x], p['home'])\"",
|
|
"result": "pass",
|
|
"evidence": "org.runnerup and org.runnerup.free present in both lists; home lat/lon still null (redacted)."
|
|
},
|
|
{
|
|
"command": "flutter build apk --release (focus_owner, signed with the existing kuhy-release.jks) then adb install -r on the connected Pixel 6a (23181JEGR08034)",
|
|
"result": "pass",
|
|
"evidence": "Build succeeded; install succeeded (release signature matched the already-installed app, so no uninstall was needed)."
|
|
},
|
|
{
|
|
"command": "adb shell pm list packages -d | grep -i runnerup",
|
|
"result": "pass",
|
|
"evidence": "Empty output -- RunnerUp (org.runnerup, the installed variant) is not disabled after reinstalling focus_owner with the updated policy."
|
|
}
|
|
],
|
|
"risks": [
|
|
"Curfew-specific enforcement was not directly observed live (would require waiting for 23:00 or forcing a curfew-state transition on the live device-owner policy, which was avoided to not disrupt the running phone). Confidence rests on the policy.json content itself (RunnerUp present in night_allowed_packages) plus the day-state confirmation, not an on-device curfew trigger.",
|
|
"org.runnerup.free is not installed on this phone (only org.runnerup is); the .free entry is harmless but unverified since there's nothing to test it against."
|
|
],
|
|
"rollback": [
|
|
"Remove org.runnerup / org.runnerup.free from both WHITELIST and NIGHT_WHITELIST in config.sh, regenerate policy.json with the same --redact-home flag, rebuild focus_owner --release, adb install -r.",
|
|
"After rollback, confirm via `adb shell pm list packages -d | grep -i runnerup` that focus mode can disable it again as expected (a positive result there is a no-op-check only when curfew/away actually applies)."
|
|
]
|
|
}
|