testsAndMisc/docs/superpowers/evidence
Krzysztof kuhy Rudnicki b50b146dad report_live_state: also scan installed scripts under /usr/local
Found while surveying system-maintenance: /usr/local/bin holds copies
that hardcode repo paths, and no section of the inventory looked there.
The installed copy is what actually runs, so grepping the repo for its
own paths never finds them.

Three were invisible until now:

  periodic-system-maintenance.sh  3 paths into digital_wellbeing + hosts
  hosts-file-monitor.sh           1 path into hosts
  wsg-grabber                     PYTHONPATH into the repo root

The first runs hourly, which means the two subsystem extractions coming
next have to reinstall it -- editing the repo copy alone would leave the
live one pointing at a directory that no longer exists.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PJrqKERAo5QUeEHWS5Asgp
2026-08-23 17:44:10 +02:00
..
agent-automation-bootstrap.json style(prettier): apply markdown/json formatting updates 2026-05-07 22:08:00 +02:00
always-blocked-geofence-exempt-2026-08-10.json Take the geofence out of YouTube's reach, and pin infakt on 2026-08-10 21:28:25 +02:00
always-on-vpn-network-block-2026-08-10.json Pin RethinkDNS as always-on VPN, the layer that reaches every app 2026-08-10 21:40:04 +02:00
analyze-repo-runtime-fix-2026-08-16.json Fix two runtime defects the analyze_repo.sh split introduced 2026-08-16 22:02:17 +02:00
analyze-repo-split-2026-08-16.json Split analyze_repo.sh into an entry script and five libs 2026-08-16 21:47:03 +02:00
android-ui-element-driver-2026-08-10.json Add android_ui: drive Android apps by element, never by coordinates 2026-08-10 17:01:28 +02:00
app-icons-anvil-octoforge-2026-08-09.json app_icons: add the anvil glyph and register octoforge 2026-08-09 15:24:09 +02:00
app-icons-generator-2026-07-19.json Add shared launcher-icon generator for the Flutter apps 2026-07-19 16:55:48 +02:00
app-icons-home-inventory-linux-2026-07-27.json app_icons: home_inventory has a Linux desktop target 2026-07-27 11:26:26 +02:00
app-icons-pubspec-background-sync-2026-07-21.json app_icons: auto-sync pubspec.yaml's adaptive_icon_background 2026-07-21 21:38:22 +02:00
app-icons-track-bars-kuhylog-2026-08-09.json app_icons: add the kuhylog app and its track-bars glyph 2026-08-09 15:26:55 +02:00
app-icons-warm-palette-2026-07-21.json app_icons: warm-tint the shared icon family palette 2026-07-21 21:20:41 +02:00
arch-cpu-tests-2026-08-22.json Test arch_cpu.sh to 100% and take it off the allowlist (91 -> 90) 2026-08-22 21:14:57 +02:00
arch-hardware-tests-2026-08-22.json Test arch_hardware.sh to 100%, fix its dead journal vacuum (90 -> 89) 2026-08-22 21:46:42 +02:00
arch-perf-fixes-coverage-2026-08-22.json Test arch_perf_fixes.sh to 93.48% and fix the journal regex a third time 2026-08-22 19:34:12 +02:00
arch-perf-probes-coverage-2026-08-22.json Test arch_perf_probes.sh to 100%: allowlist 93 -> 92 2026-08-22 19:04:50 +02:00
arch-perf-report-coverage-2026-08-22.json Test arch_perf_report.sh to 98.33% and fix its dead journal-size check 2026-08-22 18:06:57 +02:00
arch-sysctl-tests-2026-08-22.json Test arch_sysctl.sh and open the optimize_arch_desktop lib family 2026-08-22 20:54:47 +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
archive-libre-translate-2026-08-18.json Archive libre_translate.sh: unused, moved to testsAndMisc-archive 2026-08-18 21:00:33 +02:00
archive-plagiarism-tools-2026-08-18.json Archive install_plagiarism_tools.sh: unused, moved to testsAndMisc-archive 2026-08-18 20:50:05 +02:00
archive-setup-hosts-guard-2026-08-18.json Archive legacy hosts-guard subsystem: superseded by guard-lib 2026-08-18 22:49:54 +02:00
archive-unmaintained-2026-01.json chore: archive 41 unmaintained directories to testsAndMisc-archive 2026-05-14 20:21:05 +02:00
archwiki-rag-corpus-2026-07-19.json archwiki_rag: offline semantic search over the Arch Wiki 2026-08-10 15:33:18 +02:00
archwiki-reindex-path-independent-test-2026-08-23.json Fix a test that only passed in a directory named testsAndMisc 2026-08-23 14:53:29 +02:00
array-literal-continuation-2026-08-22.json Instrument: multi-line array elements are not statements; clear arch_perf_fixes 2026-08-22 20:13:45 +02:00
artgate-blender-agx-view-transform-2026-08-15.json artgate: render 3D route with Standard view transform, not AgX 2026-08-15 23:09:06 +02:00
artgate-harness-2026-08-15.json artgate: deterministic exit-code gates for generated game art 2026-08-15 22:20:36 +02:00
artgate-phase3-routes-2026-08-15.json artgate: procedural + vector routes, and the shared finishing stage 2026-08-15 22:31:59 +02:00
artgate-phase4-diffusion-2026-08-15.json artgate: diffusion + 3D routes, full vector coverage, and the margin gate 2026-08-15 22:51:31 +02:00
artgate-pixel-icon-64-spec-2026-08-15.json artgate: add 64px icon spec for the diffusion route 2026-08-15 23:30:32 +02:00
atop-agg-split-2026-08-17.json atop_agg: split atop_agg.c 478 -> 204 + state + emit 2026-08-17 10:49:46 +02:00
aw-autostart-suite-2026-08-22.json Cover aw_autostart.sh (82.93%), executing the script it generates 2026-08-22 12:49:51 +02:00
billsplit-apk-buildable-2026-08-03.json billsplit: build a real APK by dropping file_picker for file_selector 2026-08-03 14:15:40 +02:00
billsplit-ci-green-2026-08-17.json billsplit: fix the two CI gates that were already red on main 2026-08-17 11:11:04 +02:00
billsplit-drop-unused-platforms-2026-08-17.json billsplit: drop the four unused platform runner directories 2026-08-17 11:14:32 +02:00
billsplit-move-2026-08-03.json Move billsplit Flutter app into the monorepo 2026-08-03 12:22:22 +02:00
billsplit-shared-palette-2026-08-14.json billsplit: adopt the shared palette, retire the teal seed 2026-08-14 23:35:08 +02:00
billsplit-shared-section-header-2026-08-15.json billsplit: use the shared SectionHeader instead of the local copy 2026-08-15 15:26:55 +02:00
billsplit-split-2026-08-16.json Split every over-cap billsplit Dart file 2026-08-16 20:57:56 +02:00
block-compulsive-opening-split-2026-08-21.json block_compulsive_opening: test the allow/block decision 2026-08-21 15:53:54 +02:00
boot-repair-bios-guard-2026-08-22.json boot-repair: refuse shadow-file cleanup on BIOS systems with no ESP 2026-08-22 23:46:20 +02:00
boot-repair-esp-recovery-20260730.json Add boot-repair: offline recovery for a stale EFI System Partition 2026-07-30 12:48:56 +02:00
brother-printer-cups-fallback-split-2026-08-16.json Split brother_printer CUPS fallback query out of cups_service 2026-08-16 17:02:42 +02:00
brother-printer-display-partial-2026-08-16.json Reduce brother_printer/display.py and dedup the consumable bars 2026-08-16 16:39:02 +02:00
brother-printer-file-length-split-2026-07-17.json fix(brother-printer): split oversized files, fix order-dependent entry test 2026-07-17 15:06:25 +02:00
brother-printer-page-count-split-2026-08-16.json Split brother_printer page-count display into its own module 2026-08-16 16:50:02 +02:00
brother-printer-page-delivery-split-2026-08-16.json Split brother_printer dropped-page detection out of consumables 2026-08-16 17:07:21 +02:00
brother-printer-pjl-io-split-2026-08-16.json Split brother_printer PJL wire transport out of usb_query 2026-08-16 17:11:15 +02:00
brother-printer-queue-fix-split-2026-08-16.json Split brother_printer queue display and fix prompt out of cups_queue 2026-08-16 16:53:51 +02:00
brother-printer-status-accuracy-2026-07-17.json fix(brother-printer): report the truth, not invented status codes 2026-07-17 14:49:23 +02:00
brother-printer-test-cups-queue-split-2026-08-16.json Split the brother_printer cups_queue test modules under the cap 2026-08-16 17:15:55 +02:00
brother-printer-test-cups-service-split-2026-08-16.json Split the brother_printer cups_service test modules under the cap 2026-08-16 17:19:55 +02:00
brother-printer-test-display-usb-split-2026-08-16.json Split the brother_printer display and usb_query test modules 2026-08-16 17:23:47 +02:00
brother-printer-test-final-split-2026-08-16.json Clear the last three brother_printer test modules over the cap 2026-08-16 17:27:07 +02:00
bt-adapter-coverage-2026-08-22.json Test bt_adapter.sh to 98.55%; line 97 is unreachable by construction 2026-08-22 17:10:15 +02:00
bt-audio-coverage-2026-08-22.json Test bt_audio.sh to 96.97% and fix its wpctl health check 2026-08-22 17:52:24 +02:00
bt-pairing-coverage-2026-08-22.json Test bt_pairing.sh to 100%: allowlist 97 -> 96 2026-08-22 16:47:40 +02:00
bt-report-coverage-2026-08-22.json Test bt_report.sh to 100%: allowlist 98 -> 97 2026-08-22 16:33:33 +02:00
bucket-catch-2026-06-26.json Add evidence artifact for the bucket_catch app 2026-07-11 00:16:35 +02:00
bucket-catch-2026-06-27.json Add bucket_catch: osu!catch browser game with 100% frontend test coverage 2026-06-27 12:21:35 +02:00
bucket-catch-design-tokens-2026-07-22.json bucket_catch: introduce a real design-token system, fix reversed gradients 2026-07-22 19:18:12 +02:00
bucket-catch-eslint-2026-08-17.json bucket_catch: 45 eslint errors -> 5, no suppressions 2026-08-17 11:48:45 +02:00
bucket-catch-lint-baseline-2026-08-17.json bucket_catch: fix typecheck so build works and eslint runs 2026-08-17 10:02:58 +02:00
bucket-catch-phase-union-2026-08-17.json bucket_catch: make the done phase carry its result 2026-08-17 11:55:05 +02:00
bucket-catch-puzzle-loop-split-2026-08-17.json bucket_catch: split usePuzzleGameLoop.ts 386 -> 194 + two modules 2026-08-17 10:05:37 +02:00
bucket-catch-puzzle-test-split-2026-08-17.json bucket_catch: split usePuzzleGameLoop.test.ts 332 -> 125 + 210 2026-08-17 10:07:38 +02:00
bucket-catch-shared-dom-helper-2026-08-17.json bucket_catch: share the must() DOM helper from src/test/ 2026-08-17 11:57:53 +02:00
byox-ladder-2026-07-17.json feat(byox_ladder): add build-your-own-x difficulty ladder generator 2026-07-17 18:31:21 +02:00
cache-ci-python-deps-2026-08-23.json Cache pip and pre-commit envs in CI 2026-08-23 16:24:17 +02:00
calc-live-split-2026-08-16.json Split calc-live.zsh: extract the qalc coprocess 2026-08-16 22:12:32 +02:00
check-and-enable-services-coverage-2026-08-21.json check_and_enable_services: 100% coverage via a redirectable path prefix 2026-08-21 14:08:11 +02:00
check-and-enable-services-split-2026-08-21.json check_and_enable_services: split into lib/ under the 250-line cap 2026-08-21 13:47:05 +02:00
check-file-length-gate-2026-08-17.json meta: add the check_file_length.sh gate the splits assumed existed 2026-08-17 14:52:24 +02:00
checker-false-errors-2026-07-17.json fix(checker): stop reporting healthy services as errors; drop thesis_tracker 2026-07-17 08:32:55 +02:00
ci-mirror-gate-2026-07-11.json Add CI-mirror pre-push gate + requirements-sync check (monorepo variant) 2026-07-11 18:06:17 +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
ci-phase0-python-tests-self-trigger-2026-08-18.json CI: make python-tests.yml self-triggering + add workflow_dispatch 2026-08-18 23:19:43 +02:00
ci-phase0-rsvg-convert-2026-08-18.json CI: install rsvg-convert on GitHub Actions runners (Phase 0 fix) 2026-08-18 23:10:38 +02:00
ci-pipeline-and-lint-backlog-fix-2026-06-22.json Fix CI pipeline and clear the lint backlog it had been hiding 2026-06-22 07:52:44 +02:00
ci-skips-kcov-jail-suites-2026-08-22.json CI: skip the kcov-jail suites instead of failing to install kcov 2026-08-22 12:31:36 +02:00
claude-md-terse-rewrite-2026-08-16.json Cut CLAUDE.md 259 -> 141 lines: delete what hooks already enforce, fix what was wrong 2026-08-16 15:17:02 +02:00
clean-audio-filters-suite-2026-08-22.json Cover clean_audio_filters.sh (89.25%), completing testsAndMisc-bash/lib 2026-08-22 13:27:44 +02:00
cleanup-meta-folder-2026-05.json chore: consolidate root configs into meta/, drop unused C dir + split/pdfCentered/geo_data 2026-05-14 20:40:12 +02:00
clear-bt-audio-arch-perf-report-2026-08-22.json Clear bt_audio.sh and arch_perf_report.sh: allowlist 95 -> 93 2026-08-22 18:40:05 +02:00
closing-brace-continuation-2026-08-22.json Coverage instrument: a closing brace plus an operator is not a statement 2026-08-22 18:29:47 +02:00
cloud-gallery-2026-07-12.json cloud_gallery: React media-gallery SPA served by dufs (Phase 3) 2026-07-12 06:05:52 +02:00
cloud-gallery-coverage-lint-deploy-2026-07-12.json cloud_gallery: fix build, 100% coverage, aggressive lint; whitelist dufs_client 2026-07-12 17:29:39 +02:00
code-tutor-2026-07-10.json Add code_tutor: interactive codebase-learning CLI 2026-07-11 00:15:46 +02:00
code-tutor-analyzer-split-2026-08-16.json Split the code_tutor import graph and scan tables out of _analyzer 2026-08-16 17:48:32 +02:00
code-tutor-challenge-flows-split-2026-08-16.json Split the code_tutor challenge flows out of _challenge 2026-08-16 17:42:50 +02:00
code-tutor-challenge-support-split-2026-08-16.json Split the code_tutor pytest runner and verdict streaming out 2026-08-16 17:33:58 +02:00
code-tutor-claude-backend-split-2026-08-16.json Split the Claude backend out of code_tutor/_llm 2026-08-16 18:00:53 +02:00
code-tutor-cli-verifier-split-2026-08-16.json Split code_tutor cli and verifier, deleting two lint suppressions 2026-08-16 17:57:38 +02:00
code-tutor-test-split-2026-08-16.json Clear the seven over-cap code_tutor test modules 2026-08-16 18:06:38 +02:00
code-tutor-test-version-fix-2026-07-11.json Make code_tutor OSError fingerprint test Python-version-robust 2026-07-11 00:22:57 +02:00
config-sh-split-2026-08-17.json config.sh: split 571 -> 250, with a fingerprint that actually works 2026-08-17 17:17:02 +02:00
curfew-net-split-2026-08-17.json curfew_enforcer: split 367 -> 244 + 156, net layer at 100% 2026-08-17 16:18:05 +02:00
deploy-sh-split-2026-08-17.json deploy: split 875 -> 241 + 6, finishing phone_focus_mode 2026-08-17 17:53:52 +02:00
device-owner-enforcement-live-2026-08-10.json Make the enforcer real: block YouTube, and refuse to be uninstalled 2026-08-10 21:12:53 +02:00
diet-guard-app-focus-whitelist-2026-06-22.json style: prettier format pre-existing evidence JSON 2026-06-27 12:25:13 +02:00
diet-guard-app-night-whitelist-2026-07-11.json phone_focus_mode: night-whitelist com.kuhy.diet_guard_app 2026-07-11 23:58:22 +02:00
diet-guard-gatelock-migration-2026-06-21.json Migrate diet_guard to the shared gatelock backend 2026-06-21 18:16:45 +02:00
diet-guard-meal-and-trigger-fix-2026-06-10.json feat(diet_guard): add meal-logging screen-lock gate with trigger fix 2026-06-10 22:32:39 +02:00
diet-guard-test-isolation-fix-2026-06-22.json Fix non-hermetic diet_guard gate tests depending on a real X display 2026-06-22 08:12:02 +02:00
digital-wellbeing-bypass-hardening-2026-05.json security: harden digital-wellbeing bypass vectors 2026-05-16 15:41:40 +02:00
disk-cleanup-check-split-2026-08-16.json Split disk_cleanup_check.sh: extract the helpers and the output blocks 2026-08-16 22:57:06 +02:00
dns-enforcer-split-2026-08-17.json dns_enforcer: split 325 -> 171 + 170, and give it a working test 2026-08-17 15:10:10 +02:00
dns-filtering-parked-2026-08-05.json Park phone DNS filtering: Private DNS fails closed, so the PC cannot host it 2026-08-05 10:05:16 +02:00
dot-resolver-and-policy-asset-2026-08-05.json Serve the blocklist over DoT and hand the policy to the app as an asset 2026-08-05 09:36:11 +02:00
dwm-config-suite-2026-08-22.json Cover dwm_config.sh and fix its unreachable upstream-drift warning 2026-08-22 12:44:12 +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
enforcement-log-test-split-2026-08-16.json Split the fix-selection tests out of EnforcementLogTest 2026-08-16 22:46:51 +02:00
epopeja-karta-icon-2026-08-03.json app_icons: finish the epopeja_karta entry; whitelist it on the phone 2026-08-03 12:41:13 +02:00
extract-dufs-cloud-repo-2026-07-12.json Extract dufs cloud (web + app + scripts) to github.com/kuhyx/dufs-cloud 2026-07-12 18:38:37 +02:00
extract-inline-python-2026-06-06.json refactor: extract all inline Python from shell scripts into proper .py files 2026-06-06 10:31:48 +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-session-autopsy-2026-07-26.json Point the hook test at the extracted session_autopsy, add the artifacts 2026-07-26 20:50:44 +02:00
extract-shell-functions-keyword-form-2026-08-21.json extract_shell_functions: recognise the function name() spelling 2026-08-21 16:11: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
extract-tool-duplication-fix-2026-08-17.json extract_shell_functions: never leave a function defined twice 2026-08-17 15:15:25 +02:00
feedback-appimage-install-2026-08-10.json feedback: local-only pacman package build, and ignore build artifacts 2026-08-10 15:33:18 +02:00
file-length-split-2026-06-14.json style: apply prettier formatting to evidence JSON and dwm/gaming READMEs 2026-06-14 07:22:04 +02:00
file-length-test-venv-blindspot-2026-07-25.json python_pkg: the file-length test was blind to its own CI venv 2026-07-25 16:32:32 +02:00
five-pacman-hook-stall-off-allowlist-2026-08-22.json Clear five pacman_hook_stall libs: allowlist 103 -> 98 2026-08-22 14:57:01 +02:00
fix-hosts-guard-pacman-integration-test-2026-08-18.json Fix test_hosts_guard_pacman_integration.sh: broken by the hosts-guard archive 2026-08-18 22:58:35 +02:00
fix-hosts-guard-silent-aborts-2026-07-17.json fix(hosts-guard): stop setup aborting silently, so the guards actually enable 2026-07-17 08:25:51 +02:00
fix-install-failures.json style: prettier formatting for evidence JSON files 2026-05-16 15:46:33 +02:00
fix-midnight-shutdown-heredoc-2026-06-22.json fix: shutdown timer crashing on every fire due to heredoc escaping bug 2026-06-22 07:09:55 +02:00
fix-python-tests-ci-resolution-too-deep-2026-08-23.json Fix the Python tests CI workflow: drop mitmproxy 2026-08-23 16:13:28 +02:00
fix-remaining-wellbeing-services-2026-07-17.json fix(wellbeing): clear every remaining error/warning; drop thesis_tracker 2026-07-17 08:58:43 +02:00
fixes-lib-run-all-2026-08-22.json Add fixes/lib run_all.sh; the previous handoff was wrong about that directory 2026-08-22 14:40:31 +02:00
flag-system-sweep-2026-08-10.json Let the sweep hide preinstalled apps, one named package at a time 2026-08-10 20:24:31 +02:00
flutter-git-env-wrapper-2026-07-26.json Fix: stop the Flutter SDK reading your own repo as itself inside git hooks 2026-07-26 15:39:33 +02:00
focus-ctl-split-2026-08-17.json focus_ctl: split 1091 -> 171 + 8 siblings, one per enforcer 2026-08-17 17:46:04 +02:00
focus-daemon-split-2026-08-17.json focus_daemon: split 543 -> 206 + 165 + 140 + 94, with 110 tests 2026-08-17 16:54:04 +02:00
focus-mode-daemon-file-length-2026-07-17.json fix(wellbeing): split focus_mode_daemon to satisfy the 500-line limit 2026-07-17 17:36:30 +02:00
focus-mode-installer-symlink-2026-07-17.json fix(wellbeing): symlink focus-mode-daemon so edits actually deploy 2026-07-17 14:02:33 +02:00
focus-mode-zombie-steam-2026-07-17.json fix(wellbeing): stop focus mode reading zombie processes as running Steam 2026-07-17 13:55:24 +02:00
focus-owner-analyzer-exclude-2026-08-16.json Commit the Flutter-generated analyzer exclude in focus_owner 2026-08-16 22:41:19 +02:00
focus-owner-dart-split-2026-08-16.json Split the focus_owner Dart files under the cap 2026-08-16 20:39:13 +02:00
focus-owner-decision-wiring-2026-08-09.json Wire the enforcement decision to the DPM hide call 2026-08-09 22:00:52 +02:00
focus-owner-device-policy-bridge-split-2026-08-18.json focus_owner: split DevicePolicyBridge.kt under the 250-line cap 2026-08-18 23:56:21 +02:00
focus-owner-enforcement-decision-split-2026-08-17.json focus_owner: split EnforcementDecision.kt 274 -> 221 + types 2026-08-17 10:26:18 +02:00
focus-owner-enforcement-engine-2026-08-09.json Prove DPM app-hiding survives a reboot; build the enforcement decision layer 2026-08-09 21:36:26 +02:00
focus-owner-enforcement-runner-split-2026-08-18.json focus_owner: split EnforcementRunner.kt under the 250-line cap 2026-08-21 13:17:59 +02:00
focus-owner-focus-policy-split-2026-08-17.json focus_owner: split FocusPolicy.kt 277 -> 238 + types 2026-08-17 10:45:27 +02:00
focus-owner-geofence-and-observability-2026-08-14.json Make the geofence tell the truth, and the phone explain itself 2026-08-14 13:43:05 +02:00
focus-owner-kotlin-test-split-2026-08-16.json Split the largest focus_owner Kotlin test file 2026-08-16 20:48:56 +02:00
focus-owner-location-and-workout-2026-08-09.json Provision home coordinates out of git; layer the workout signal; drop the test hook 2026-08-09 21:42:20 +02:00
focus-owner-release-signing-2026-08-10.json Make the enforcer real: block YouTube, and refuse to be uninstalled 2026-08-10 21:12:53 +02:00
focus-owner-restore-path-2026-08-09.json focus_owner: keep the unhide path reachable, never hide the enforcer 2026-08-10 15:33:18 +02:00
focus-owner-service-layer-2026-08-09.json Run enforcement from exact alarms, and re-arm it before first unlock 2026-08-09 21:50:58 +02:00
focus-owner-shared-palette-and-todo-night-whitelist-2026-08-14.json Put focus_owner on the shared palette, and stop curfew hiding todo 2026-08-14 23:21:06 +02:00
focus-owner-status-page-split-2026-08-18.json focus_owner: split status_page_state.dart under the 250-line cap 2026-08-18 23:38:09 +02:00
focus-owner-status-page-test-split-2026-08-16.json Split the last over-cap focus_owner Dart test file 2026-08-16 20:44:03 +02:00
fresh-install-main-split-2026-08-17.json fresh-install: split main.sh 308 -> 200 + 121 2026-08-17 14:11:26 +02:00
gate-reads-jail-args-2026-08-22.json Make the gate read jail_args and refuse a suite that dies partway 2026-08-22 13:36:54 +02:00
generate-study-materials-split-2026-08-21.json generate_study_materials: split into lib/ under the 250-line cap 2026-08-21 14:32:08 +02:00
geofenced-allowlist-rewrite-2026-08-11.json Block by hiding apps, which the phone cannot undo 2026-08-11 19:49:11 +02:00
glyph-art-split-2026-08-21.json glyph-art evidence: describe the commit that actually landed 2026-08-21 16:43:01 +02:00
guard-lib-migration-2026-07-04.json feat: migrate hosts-guard and shutdown-schedule-guard to guard-lib 2026-07-04 11:54:08 +02:00
habit-stack-icon-2026-07-20.json app_icons: register habit_stack with a new chain-link glyph; whitelist it 2026-07-20 11:09:23 +02:00
harden-vpn-layer-2026-08-10.json Close the two holes that made the network block advisory 2026-08-10 22:33:11 +02:00
home-inventory-icon-and-whitelist-2026-07-27.json app_icons: add home_inventory storage-box glyph; whitelist it on the phone 2026-07-27 07:35:55 +02:00
hosts-enforcer-split-2026-08-17.json hosts_enforcer: split 421 -> 207 + 166 + 91, both libs at 100% 2026-08-17 16:30:56 +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
hosts-install-split-2026-08-21.json hosts/install: split into lib/ under the 250-line cap 2026-08-21 14:45:04 +02:00
i3-idle-inhibitor-path-2026-07-25.json fix(i3): repair the dead idle-inhibitor autostart and make it a singleton 2026-07-25 19:57:57 +02:00
i3bar-claude-usage-icons-cleanup-2026-08-10.json i3blocks: add Claude usage block, fix icon rendering, drop dead blocks 2026-08-10 15:14:34 +02:00
i3blocks-claude-usage-ci-jq-2026-08-10.json ci: install jq for the shell tests, and probe for it explicitly 2026-08-10 15:40:42 +02:00
idle-inhibit-zero-fork-20260604.json perf(idle-off): replace controller-watch fork storm with a single systemd-inhibit 2026-06-04 18:14:07 +02:00
import-media-archives-2026-07-12.json import_media_archives.sh: fold Downloads media_archive zips into the cloud 2026-07-12 17:43:23 +02:00
infakt-2fa-wipe-safety-2026-08-09.json inFakt is SMS-only 2FA, so the wipe cannot strand the account 2026-08-10 20:04:06 +02:00
install-core-system-cleanup.json Add install_core_system.sh; remove pc_startup and thesis_tracker 2026-05-15 01:13:28 +02:00
install-leechblock-split-2026-08-21.json install_leechblock: first test suite for the split libs 2026-08-21 15:39:15 +02:00
install-pacman-wrapper-split-2026-08-17.json Split install_pacman_wrapper.sh into an entry plus four libs 2026-08-17 07:42:31 +02:00
install-plagiarism-tools-split-2026-08-18.json Fix prettier formatting on the plagiarism-tools split evidence JSON 2026-08-18 20:43:16 +02:00
install-usage-monitoring-split-2026-08-17.json Split install_usage_monitoring.sh into an entry plus five libs 2026-08-17 07:26:56 +02:00
jail-aware-libtests-gate-2026-08-22.json Teach both lib/tests gates to run jail-requiring suites 2026-08-22 12:05:45 +02:00
jail-case-timeout-2026-08-22.json Bound every coverage-jail case with a timeout and closed stdin 2026-08-22 11:40:16 +02:00
jail-propagates-case-failure-2026-08-22.json Make the jailed lib/tests gate able to fail, without breaking measurement 2026-08-22 12:16:18 +02:00
kcd2-app-split-2026-08-17.json Split kcd2 App.tsx 306 -> 217 + useInventoryState 2026-08-17 09:46:49 +02:00
kcd2-badgevalue-split-2026-08-17.json Split kcd2 badgeValue.ts 334 -> 172 + baseline 2026-08-17 09:43:06 +02:00
kcd2-balatro-joker-face-confirmed-2026-07-25.json kcd2_dice_solver: Balatro's joker replaces the one, confirmed 2026-07-25 16:33:08 +02:00
kcd2-balatro-single-joker-face-2026-07-25.json kcd2_dice_solver: Balatro's die has one joker face, not six 2026-07-25 16:14:04 +02:00
kcd2-data-split-2026-08-16.json Split the kcd2_dice_solver data tables under the cap 2026-08-16 19:50:54 +02:00
kcd2-dice-inventory-io-2026-07-26.json kcd2 dice solver: serve it at dice.kuhy.duckdns.org, fit all 43 dice, move inventories between devices 2026-07-26 20:01:21 +02:00
kcd2-dice-solver-deploy-responsive-io-2026-07-26.json kcd2 dice solver: lock deploy_build.sh so two runs cannot publish half a bundle 2026-07-26 20:33:38 +02:00
kcd2-dice-solver-run-sh-2026-07-21.json Apply prettier formatting to new kcd2_dice_solver files 2026-07-21 18:17:45 +02:00
kcd2-dice-solver-warm-palette-2026-07-22.json chore: fix prettier formatting on the kcd2 evidence JSON 2026-07-22 18:05:04 +02:00
kcd2-scoring-split-2026-08-17.json Split kcd2 scoring.ts 361 -> 172 + move generator 2026-08-17 09:39:31 +02:00
kcd2-search-split-2026-08-17.json Split kcd2 search.ts 417 -> 100 + two modules 2026-08-17 09:26:42 +02:00
kcd2-simulate-inventory-split-2026-08-16.json Split kcd2 simulate and inventoryIo; revert two seams 2026-08-16 19:55:52 +02:00
kcd2-test-split-2026-08-16.json Split the kcd2_dice_solver test files under the cap 2026-08-16 20:03:33 +02:00
kcov-cross-process-underreport-2026-08-22.json Correct the cause of rpi_nc_ca.sh's missing line: it is cross-process 2026-08-22 13:05:52 +02:00
kcov-instrument-two-pass-2026-08-22.json Fix both kcov defects: dwm_config 47.95% -> 98.48%, rpi_nc_install 11.36% -> 96.59% 2026-08-22 14:24:25 +02:00
kcov-numerator-bug-proven-2026-08-22.json Prove kcov's under-report is TWO defects, one of them a numerator bug 2026-08-22 13:57:33 +02:00
kcov-offset-lines-2026-08-22.json Name the lines outside kcov's line set; bound defect (c) as fail-closed 2026-08-22 14:30:39 +02:00
keepass-multidevice-sync-2026-07-12.json linux_configuration: unified multi-device KeePass sync over dufs 2026-07-12 05:00:27 +02:00
leechblock-deploy-lib-2026-08-21.json install_leechblock: deploy lib/ alongside the entry script 2026-08-21 15:44:10 +02:00
lint-python-split-2026-08-16.json Split lint_python.sh: output helpers and the full-mode linters 2026-08-16 23:08:02 +02:00
lint-python-symlink-fix-2026-08-16.json Resolve the symlink in lint_python.sh's SCRIPT_DIR 2026-08-16 23:13:07 +02:00
linux-config-android-hosts-split-2026-08-16.json Split update_android_hosts.sh; extract its blocklist as data 2026-08-16 21:23:39 +02:00
linux-config-batch6-2026-08-16.json Split three large linux_configuration scripts, defer a fourth 2026-08-16 19:06:16 +02:00
linux-config-batch7-2026-08-16.json Split offline docs and arch optimiser; defer libre_translate 2026-08-16 20:09:54 +02:00
linux-config-batch8-2026-08-16.json Split three more scripts; make the verifier catch heredoc cuts 2026-08-16 20:16:08 +02:00
linux-config-batch9-2026-08-16.json Split the Pi flasher and the boot-repair test harness 2026-08-16 20:21:44 +02:00
linux-config-bluetooth-split-2026-08-16.json Split fix_bluetooth.sh 720 -> 186; defer steam_compatibility.sh 2026-08-16 19:17:05 +02:00
linux-config-cleanup-2026-05.json style: prettier formatting fixes 2026-05-15 01:15:52 +02:00
linux-config-common-lib-split-2026-08-16.json Split scripts/lib/common.sh, the library 49 scripts source 2026-08-16 21:14:48 +02:00
linux-config-dns-blocker-split-2026-08-16.json Split setup_dns_blocker.sh, a live systemd unit target 2026-08-16 21:31:03 +02:00
linux-config-giants-2026-08-16.json Split three more linux_configuration giants 2026-08-16 19:43:55 +02:00
linux-config-joplin-split-2026-08-16.json Split install_joplin.sh and establish the shell-split pattern 2026-08-16 18:33:59 +02:00
linux-config-mtk-lib-split-2026-08-16.json Split scripts/lib/mtk_common.sh with the same entry-point pattern 2026-08-16 21:17:50 +02:00
linux-config-near-miss-batch1-2026-08-16.json Split three near-miss linux_configuration scripts 2026-08-16 18:38:43 +02:00
linux-config-near-miss-batch2-2026-08-16.json Split two more linux_configuration scripts; revert a third 2026-08-16 18:44:18 +02:00
linux-config-near-miss-batch3-2026-08-16.json Split three more linux_configuration feature and fix scripts 2026-08-16 18:48:01 +02:00
linux-config-near-miss-batch4-2026-08-16.json Split five more linux_configuration single_use scripts 2026-08-16 18:51:28 +02:00
linux-config-near-miss-batch5-2026-08-16.json Split seven more linux_configuration scripts 2026-08-16 18:56:05 +02:00
linux-config-nextcloud-split-2026-08-16.json Split setup_nextcloud_raspberry.sh 1383 -> 231 2026-08-16 19:37:07 +02:00
linux-config-polling-hardening-2026-05-14.json fix(linux_configuration): harden polling/runtime scripts and add tests 2026-05-14 19:55:42 +02:00
linux-config-runtime-hardening-2026-05-08.json Harden runtime script deployment and enforce installer safety 2026-05-08 17:44:22 +02:00
linux-config-scripts-split-2026-05.json refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
linux-config-searxng-split-2026-08-16.json Split setup_searxng.sh 912 -> 184 2026-08-16 19:11:40 +02:00
live-state-installed-scripts-2026-08-23.json report_live_state: also scan installed scripts under /usr/local 2026-08-23 17:44:10 +02:00
loud-maintenance-failures-2026-07-17.json fix(maintenance): make repair failures loud instead of silently exiting 0 2026-07-17 08:17:51 +02:00
lyricanki-focus-whitelist-2026-08-22.json Whitelist com.kuhy.lyricanki in focus mode 2026-08-22 16:26:52 +02:00
makepkg-stale-lock-wrapper-2026-07-16.json fix(pacman): wrap makepkg so an orphaned db.lck can't hang makepkg -i 2026-07-17 07:46:31 +02:00
mandatory-hooks-2026-08-03.json fix(hooks): make git hooks and their toolchain mandatory and fail-closed 2026-08-03 11:09:11 +02:00
media-cloud-sync-2026-07-12.json linux_configuration: move Downloads media into the dufs cloud (browsable) 2026-07-12 05:19:31 +02:00
metrolist-night-allowlist-2026-08-22.json Allow Metrolist during the night curfew, deploy to phone 2026-08-22 23:20:27 +02:00
monitor-coverage-backfill-2026-08-17.json monitor: backfill to 100% coverage, fixing two defects it exposed 2026-08-17 15:54:04 +02:00
monitor-split-2026-08-17.json monitor: split 449 -> 215 + 138 + 136, partitioned by probe kind 2026-08-17 14:59:41 +02:00
morning-routine-unified-2026-05-25.json morning_routine: unified alarm+lock orchestrator, fix alarm audio/reliability 2026-05-25 18:55:27 +02:00
move-install-core-system.json style: prettier formatting for evidence JSON files 2026-05-16 15:46:33 +02:00
mtk-root-run-tests-split-2026-08-16.json Split mtk_root run_tests.sh: assertions and the dump-test group 2026-08-16 23:02:09 +02:00
mtk-root-toolkit-2026-08-04.json mtk_root: build the rooting toolkit before the phone lands 2026-08-04 20:38:44 +02:00
music-parallelism-split-2026-08-16.json Split music_parallelism.sh into an entry script and three libs 2026-08-16 21:50:34 +02:00
mutate-shell-tool-2026-08-17.json meta: make this session's 65 mutations reproducible from the repo 2026-08-17 16:38:46 +02:00
nc-php-suite-2026-08-22.json Cover nc_php.sh (98.82%) and teach the jail to measure foreign platforms 2026-08-22 11:30:32 +02:00
network-diagnostics-2026-07-19.json Add network diagnostics: duty-cycle and line-speed probes 2026-07-19 18:46:18 +02:00
next-session-brief-2026-08-17.json Rewrite the brief around what this session proved wrong 2026-08-17 18:15:18 +02:00
night-lockdown-2026-07-17.json feat(shutdown): night lockdown instead of power-off, so servers stay up 2026-07-17 09:09:54 +02:00
night-lockdown-drop-morning-alarm-2026-07-20.json night-lockdown: stop firing the morning alarm on a fixed hour 2026-07-20 08:50:45 +02:00
night-lockdown-dynamic-wake-floor-2026-07-18.json fix(night-lockdown): schedule a dynamic wake-floor trigger for any shutdown time 2026-07-18 06:51:26 +02:00
night-lockdown-power-save-and-dnsmasq-watchdog-2026-07-23.json Add overnight power-save to night-lockdown; harden dnsmasq with a watchdog 2026-07-23 11:58:37 +02:00
night-lockdown-wake-fixes-2026-07-18.json fix(night-lockdown): close console-blank gap, recover DP link, floor wake alarm 2026-07-18 06:44:17 +02:00
no-inline-python-gate-2026-08-16.json Gate the no-inline-Python rule instead of asking people to remember it 2026-08-16 15:11:56 +02:00
nvidia-config-allowlist-2026-08-23.json Take nvidia_config.sh off the allowlist for real (85 -> 84) 2026-08-23 14:13:24 +02:00
nvidia-config-seams-restore-2026-08-23.json Restore nvidia_config.sh's four test seams 2026-08-23 13:33:35 +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
nvidia-passwordless-splits-2026-08-17.json fixes/utils: split nvidia_troubleshoot 336 -> 169+181, passwordless 374 -> 195+193 2026-08-17 14:18:06 +02:00
pacman-hook-stall-2026-08-03.json Diagnose the pacman first-hook stall; fix the drift that hid a stale wrapper 2026-08-03 15:15:34 +02:00
pacman-tests-follow-split-2026-08-21.json pacman tests: follow the wrapper split so Shell tests goes green 2026-08-21 16:25:15 +02:00
pacman-wrapper-split-2026-08-21.json pacman_wrapper: split into flat libs under the 250-line cap 2026-08-21 16:19:26 +02:00
pacman-wrapper-u-flag-fix-2026-08-12.json Fix pacman whitelist matching for yay's -U package-file installs 2026-08-12 22:43:30 +02:00
pc-polling-runtime-validation-2026-05-10.json Optimize polling/runtime scripts, add regressions, and sync verification artifacts 2026-05-10 02:58:11 +02:00
persistent-adb-2026-08-03.json phone_focus_mode: reach the phone over adb without touching it 2026-08-03 13:33:45 +02:00
personal-website-2026-07-13.json Add personal website deploy + move Gitea to a subdomain 2026-07-13 19:10:48 +02:00
phase2-cap-and-ci-gates-2026-08-21.json Phase 2: enforce the 250-line cap and stop pushing red 2026-08-21 16:41:31 +02:00
phase3-namespace-jail-feasibility-2026-08-21.json Phase 3: prove 100% shell coverage is reachable via a namespace jail 2026-08-21 17:08:05 +02:00
phone-backup-and-ublock-2026-08-09.json Back up what adb can actually reach, and block YouTube in Firefox too 2026-08-10 19:43:28 +02:00
phone-backup-capture-split-2026-08-17.json phone_backup: split 333 -> 229 + 114, with the library at 100% 2026-08-17 16:02:25 +02:00
phone-blackview-recents-fix-2026-05-31.json fix(phone): restore Blackview launcher for recents gesture 2026-05-31 16:27:08 +02:00
phone-curfew-demo-net-stopgap-2026-06-13.json feat(phone_focus_mode): add on-demand demo curfew + netd-resistant net stopgap 2026-06-13 22:01:32 +02:00
phone-focus-adb-common-split-2026-08-17.json phone_focus_mode: split adb_common.sh 346 -> 155 + two libs 2026-08-17 10:31:34 +02:00
phone-focus-adb-test-split-2026-08-17.json phone_focus_mode: split test_adb_common.sh 287 -> 134 + 105 2026-08-17 10:34:55 +02:00
phone-focus-cpu-hardening-2026-07-10.json Harden phone_focus_mode CPU use; whitelist wake_alarm_sync 2026-07-11 00:16:11 +02:00
phone-focus-mode-fresh-install-2026-05-31.json feat(phone): automate BL-9000 fresh-phone recovery after factory reset 2026-05-31 16:22:49 +02:00
phone-focus-mode-netd-cache-fix-2026-05.json phone_focus_mode: fix YouTube DNS blocking via netd cache restart 2026-05-22 15:58:36 +02:00
phone-focus-whitelist-foss-and-run-apps-2026-07-11.json phone_focus_mode: whitelist run-with-music apps + FOSS stock-app replacements 2026-07-11 22:39:36 +02:00
phone-night-curfew-2026-06-13.json feat(phone_focus_mode): enable curfew per-UID network allow-list; build companion button 2026-06-13 16:58:49 +02:00
pin-all-system-tools-2026-08-04.json Pin prettier, shfmt and zsh too, not just shellcheck 2026-08-04 21:07:49 +02:00
pin-shellcheck-version-2026-08-04.json Pin shellcheck in CI so local and CI agree on what a finding is 2026-08-04 21:01:01 +02:00
poker-stakes-file-length-2026-08-16.json Split poker-stakes' four oversized files under the 250-line cap 2026-08-16 15:26:18 +02:00
poker-stakes-ui-wiring-2026-08-14.json Track poker-stakes so the file-length cap can reach it 2026-08-16 15:19:07 +02:00
pre-commit-default-stages-2026-05-14.json perf(pre-commit): default_stages=[pre-commit] so push only runs pytest+prettier 2026-05-14 21:21:40 +02:00
pre-commit-prettier-isolated-scope-2026-05-14.json perf(pre-commit): run prettier in its own systemd-run scope 2026-05-14 21:12:32 +02:00
pre-commit-prettier-scope-fix-2026-05-14.json perf(pre-commit): tighten prettier scope to fit in pre-push cgroup 2026-05-14 21:09:14 +02:00
pre-commit-pytest-batch-2026-05-14.json perf(pre-commit): batch+parallelize pytest on commit; kill 15s sleeps in steam_backlog_enforcer tests 2026-05-14 21:52:52 +02:00
pre-commit-pytest-scope-fix-2026-05-14.json fix(pre-commit): skip deleted/missing python_pkg subpackages 2026-05-14 21:05:49 +02:00
pre-commit-stage-rebalance-2026-05-14.json perf(pre-commit): move mypy/pylint/bandit from pre-push to pre-commit 2026-05-14 21:20:21 +02:00
precommit-workflow-dispatch-2026-08-23.json Allow Pre-commit checks to be run manually 2026-08-23 16:38:15 +02:00
prettier-and-gradle-caps-2026-08-03.json Format last three markdown files; cap billsplit's Android build memory 2026-08-03 13:25:48 +02:00
prettier-endurain-readme-2026-08-23.json Apply prettier to endurain/README.md 2026-08-23 13:43:22 +02:00
prose-files-under-cap-2026-08-16.json Bring every markdown file under the cap 2026-08-16 19:25:59 +02:00
protondb-coverage-fix.json fix: remove dead code in unplayable_reason; add coverage for playable path 2026-05-08 20:35:55 +02:00
protondb-gold-silver-fix.json fix: accept ProtonDB gold+silver combinations; add explicit skip reasons 2026-05-08 20:31:16 +02:00
pylint10-r0801-schema-validation-2026-06.json feat: split oversized modules for 500-line limit, fix kasa coverage gap 2026-06-14 07:19:37 +02:00
pytest-xdist-coverage-flake-fix-2026-06-22.json Drop -n 4 xdist parallelism from the pytest-coverage pre-commit hook 2026-06-22 08:29:54 +02:00
python-pkg-five-packages-2026-08-16.json Clear five python_pkg packages under the cap 2026-08-16 18:14:36 +02:00
python-tests-minimal-deps-2026-08-23.json Install only the test deps in Python tests CI: 79 packages -> 17 2026-08-23 16:29:24 +02:00
python-tests-path-filter-symlink-2026-08-23.json Trigger Python tests when meta/requirements.txt changes 2026-08-23 16:20:10 +02:00
quarantine-arch-sysctl-cases-2026-08-22.json Quarantine the arch_sysctl cases: they broke bt_audio's measurement 2026-08-23 10:15:11 +02:00
remove-build-your-x-2026-07-17.json chore: remove byox_ladder — extracted to its own repo 2026-07-17 20:06:14 +02:00
remove-diet-guard-2026-06-22.json Remove diet_guard: extracted to its own repo (kuhyx/diet-guard) 2026-06-22 12:22:41 +02:00
remove-focus-mode-daemon-2026-07-19.json remove(digital-wellbeing): delete unusable focus-mode daemon entirely 2026-07-19 13:15:04 +02:00
remove-hosts-script-self-chattr-2026-07-16.json fix(hosts): stop chattr +i'ing install.sh and generate_hosts_file.sh sources 2026-07-17 08:06:46 +02:00
remove-screen-locker-2026-05-28.json chore: remove screen_locker — extracted to own repo 2026-05-28 07:44:14 +02:00
remove-screen-replay-2026-06-06.json remove: uninstall unused ffmpeg screen-replay feature 2026-06-06 10:44:36 +02:00
remove-setup-script-self-chattr-2026-07-16.json fix(shutdown): stop chattr +i'ing this script's own git-tracked source 2026-07-17 07:55:07 +02:00
remove-steam-backlog-enforcer-2026-05-28.json chore: remove steam_backlog_enforcer — extracted to own repo 2026-05-28 07:27:32 +02:00
remove-thorium-fitatu-autostart-2026-08-17.json Remove the dead Thorium/Fitatu autostart instead of splitting it 2026-08-17 08:08:09 +02:00
remove-wake-alarm-2026-06-22.json Remove wake_alarm (extracted to kuhyx/wake-alarm) and fix the orchestrator 2026-06-22 12:47:06 +02:00
requirements-sync-foreign-imports-2026-07-19.json requirements-sync: map bs4 and exempt foreign-runtime imports 2026-07-19 18:58:35 +02:00
restore-apps-after-wipe-2026-08-10.json Make the enforcer real: block YouTube, and refuse to be uninstalled 2026-08-10 21:12:53 +02:00
restructure-step0-safety-net-2026-08-23.json Restructure step 0: live-state inventory + depth gate dry run 2026-08-23 16:59:54 +02:00
reverse-survivors-2026-08-03.json feat(reverse_survivors): migrate Reverse Survivors game into the monorepo 2026-08-03 10:45:12 +02:00
reverse-survivors-difficulty-tiers-2026-08-09.json reverse_survivors: difficulty tiers 2026-08-09 23:17:07 +02:00
reverse-survivors-director-powers-2026-08-09.json reverse_survivors: director powers — ambush, frenzy, rift 2026-08-09 23:10:38 +02:00
reverse-survivors-new-enemies-2026-08-09.json reverse_survivors: add splitter, artillery, warden and the leech boss 2026-08-09 23:06:20 +02:00
reverse-survivors-sim-split-2026-08-17.json Split reverse_survivors sim.ts 361 -> 69 + three modules 2026-08-17 09:52:19 +02:00
reverse-survivors-status-effects-2026-08-09.json reverse_survivors: survivor status effects (slow, suppress, bleed) 2026-08-09 23:08:51 +02:00
reverse-survivors-test-split-2026-08-16.json Split the reverse_survivors test files; defer its two core sources 2026-08-16 20:26:59 +02:00
reverse-survivors-types-split-2026-08-17.json Split reverse_survivors types.ts 295 -> 157 + roster + statuses 2026-08-17 09:57:26 +02:00
root-cleanup-2026-05-14.json chore: spring-clean repo root (move docs, relocate batch3 script, drop stale outputs) 2026-05-14 20:01:09 +02:00
rpi-nc-ca-suite-2026-08-22.json Cover rpi_nc_ca.sh (98.63%) and bind the two paths its suite needed 2026-08-22 12:59:51 +02:00
rpi-nc-install-suite-2026-08-22.json Cover rpi_nc_install.sh and fix two latent bugs in the nc_php suite 2026-08-22 11:49:47 +02:00
run-sh-wrapper-smoke.json style(prettier): apply markdown/json formatting updates 2026-05-07 22:08:00 +02:00
runnerup-always-available-2026-08-12.json Whitelist RunnerUp day and night, so it can always sync 2026-08-12 19:22:50 +02:00
screen-locker-scheduled-skip-2026-05.json screen_locker: add scheduled-skip date mechanism + hibernate on alarm nights 2026-05-22 16:00:15 +02:00
screen-locker-sick-tracker-2026-05-14.json feat(screen-locker): add sick-day tracker and commitment debt flow 2026-05-14 19:52:15 +02:00
screen-locker-weekly-check-2026-05-28.json screen_locker: add weekly check feature with UI integration 2026-05-28 07:04:18 +02:00
security-apps-follow-cco-split-2026-08-21.json security_apps: follow the cco split so Shell tests goes green 2026-08-21 16:06:28 +02:00
security-hardening-guard-lib-units-2026-07-19.json security-hardening: check guard-lib units, not the retired ones 2026-07-19 19:58:32 +02:00
security-hardening-shutdown-guard-2026-07-19.json security-hardening: recognise the guard-lib shutdown guard 2026-07-19 20:09:24 +02:00
security-hardening-split-aware-2026-08-21.json test_security_hardening: look for the blocker's code where it now lives 2026-08-21 16:06:08 +02:00
self-hosted-gitea-2026-07-04.json Add self-hosted Gitea deployment, mirroring all GitHub repos publicly 2026-07-04 07:45:00 +02:00
services-status-downgrade-fix-2026-08-21.json check_and_enable_services: a warning must never mask an error 2026-08-21 14:16:01 +02:00
session-autopsy-badge-and-aliases-2026-07-25.json session_autopsy: badge counts only significant candidates; zero-token aliases 2026-07-25 18:05:49 +02:00
session-autopsy-drop-explain-diff-2026-07-25.json session_autopsy: handled candidates leave the nudge; drop explain-diff 2026-07-25 18:12:38 +02:00
session-autopsy-hook-mutation-gate-2026-07-25.json Make the hook tests' non-vacuity re-verifiable, and gate it 2026-07-25 17:37:34 +02:00
session-autopsy-hook-tests-2026-07-25.json session_autopsy: test the hooks, the untested half of the analyzer 2026-07-25 17:27:30 +02:00
session-autopsy-mutations-split-2026-08-16.json Split test_security_hardening.sh; finish the mutation-driver split 2026-08-16 22:24:02 +02:00
session-autopsy-package-2026-07-25.json python_pkg: track session_autopsy, finishing its interrupted refactor 2026-07-25 16:56:43 +02:00
session-autopsy-turn-efficiency-2026-07-26.json session-autopsy: measure turn efficiency, the dominant token cost 2026-07-26 19:29:25 +02:00
set-home-and-vpn-lock-2026-08-10.json Let the app set its own home, and lock VPN configuration 2026-08-10 22:17:31 +02:00
setup-dns-blocker-2026-07-10.json feat: add Pi-hole-like LAN DNS blocking served from the PC (dnsmasq) 2026-07-10 19:02:46 +02:00
setup-dufs-cloud-2026-07-12.json linux_configuration: self-hosted dufs cloud storage + KeePass WebDAV auto-sync 2026-07-12 03:40:54 +02:00
setup-local-llm-2026-06-27.json Add local-LLM setup script (ollama-cuda + qwen3 + Open WebUI) 2026-07-11 00:16:24 +02:00
setup-midnight-shutdown-split-2026-08-21.json setup_midnight_shutdown: split into lib/ — the cap is now zero 2026-08-21 16:27:54 +02:00
setup-midnight-shutdown-violation-checks-disabled.json fix(digital-wellbeing): disable schedule leniency violation checks 2026-05-07 22:06:34 +02:00
setup-night-lockdown-split-2026-08-21.json setup_night_lockdown: define _NL_PAYLOAD_DIR where it is used 2026-08-21 16:02:59 +02:00
setup-searxng-2026-08-09.json Fix engine pruning: disabled -> inactive (they were still running) 2026-08-09 17:56:59 +02:00
setup-syncyomi-2026-07-13.json Add setup_syncyomi.sh: self-hosted SyncYomi manga sync 2026-07-13 17:20:02 +02:00
setup-wireguard-ssh-2026-06-19.json feat: add self-hosted WireGuard+SSH remote access from Android, across networks 2026-06-21 20:07:13 +02:00
shell-check-split-2026-08-16.json Split shell_check.sh into an entry script and three libs 2026-08-16 21:57:19 +02:00
shell-coverage-100pct-bar-2026-08-22.json Shell coverage: convert the ratchet to a measured 100% bar 2026-08-22 11:20:58 +02:00
shell-coverage-bar-back-to-presence-2026-08-23.json Drop the 100% shell coverage bar; back to a presence ratchet 2026-08-23 15:47:04 +02:00
shell-coverage-gate-2026-08-17.json meta: measurable shell coverage, and dns_iptables.sh at 100% 2026-08-17 15:29:08 +02:00
shell-coverage-ratchet-2026-08-21.json Phase 3: ratchet shell libraries onto test suites 2026-08-21 17:00:26 +02:00
shell-coverage-ratchet-fixes-2026-08-21.json Shell ratchet: fix tests/lib misread, enforce shrink-only, correct docs 2026-08-21 17:09:20 +02:00
shell-extract-tool-2026-08-17.json shell splits: add extract_shell_functions.py 2026-08-17 14:14:41 +02:00
shell-ratchet-scripts-lib-suite-2026-08-21.json Shrink the shell-coverage allowlist 115 -> 106: cover scripts/lib 2026-08-21 23:52:09 +02:00
shell-ratchet-wiring-handoff-2026-08-21.json Hand off the shell-ratchet hook paste, with the tests/ exclusion measured 2026-08-21 23:42:52 +02:00
shell-split-harness-2026-08-17.json shell splits: add a verbatim-move harness and triage all 29 targets 2026-08-17 14:07:20 +02:00
shell-splits-batch-2026-08-17.json shell: split clean_audio, enforce_vbox_hosts and migrate_hosts_guard 2026-08-17 14:27:57 +02:00
shell-tests-arch-container-2026-07-19.json Run Arch-only shell tests in a container; harden worktree stubbing 2026-07-19 19:27:36 +02:00
shell-tests-ci-2026-07-19.json Run shell tests in CI and repair three broken by a reorg 2026-07-19 19:06:23 +02:00
shell-tests-complete-coverage-2026-07-19.json Run all 14 shell tests in CI 2026-07-19 19:39:28 +02:00
shell-tests-libtests-discovery-2026-08-21.json shell-tests: actually run the lib/tests suites in CI 2026-08-21 15:42:51 +02:00
shell-tests-stale-assertions-2026-07-19.json Repair two stale shell tests; CI now runs all six 2026-07-19 19:13:51 +02:00
shellcheck-ci-green-2026-08-04.json Fix the 11 shellcheck findings that kept CI red since b83ce5d 2026-08-04 20:55:02 +02:00
shellcheck-strict-gate-2026-08-03.json Fail the build on any shellcheck finding; fix the 222 the old gate hid 2026-08-03 19:49:11 +02:00
shfmt-fixes-libs-preformat-2026-08-22.json Reformat three fixes libs with shfmt ahead of coverage work 2026-08-22 20:22:23 +02:00
shutdown-monitor-test-split-aware-2026-08-21.json test_shutdown_timer_monitor: actually populate SETUP_SOURCES 2026-08-21 16:32:51 +02:00
shutdown-override-i3blocks-sync-2026-07-10.json feat(digital-wellbeing): time-boxed shutdown overrides + drift-proof i3blocks deploy 2026-07-10 21:57:05 +02:00
skip-duplicated-pytest-in-precommit-ci-2026-08-23.json Stop running the Python suite twice per push in CI 2026-08-23 16:30:27 +02:00
split-diagnose-pacman-hook-stall-2026-08-18.json diagnose_pacman_hook_stall.sh: split 493 -> 249 + 6 libs, 100% coverage 2026-08-18 22:33:57 +02:00
split-pacman-i3blocks-tests-2026-08-16.json Split the last two over-cap shell test suites 2026-08-16 22:27:44 +02:00
split-shfmt-conformance-2026-08-16.json Keep this session's splits shfmt-clean 2026-08-16 22:05:01 +02:00
split-test-security-hardening-2026-08-16.json Split test_security_hardening.sh; finish the mutation-driver split 2026-08-16 22:24:02 +02:00
stats-hltb-fixes-2026-05-28.json steam_backlog_enforcer: fix stats command — show real Rush/Leisure/Worst data 2026-05-28 07:02:48 +02:00
steam-backlog-cache-behavior-fix-2026-05-08.json steam_backlog_enforcer: reduce repeated cache refetches 2026-05-08 15:13:25 +02:00
steam-backlog-done-install-retry-2026-05-08.json steam_backlog_enforcer: retry install after library hide restart 2026-05-08 14:56:46 +02:00
steam-backlog-finished-only-next-pick-2026-05.json steam_backlog_enforcer: only prompt next pick after game is finished 2026-05-23 21:19:44 +02:00
steam-backlog-module-split-2026-05.json Split modules, fix tests, fix pre-commit batching 2026-05-22 22:48:28 +02:00
steam-backlog-protected-ids-2026-05-14.json feat(steam-backlog): protect four additional Steam app IDs 2026-05-14 19:58:40 +02:00
steam-backlog-whitelist-hardening-2026-05.json feat(steam_backlog_enforcer): harden whitelist against circumvention 2026-05-17 20:44:05 +02:00
steam-compatibility-split-2026-08-17.json steam_compatibility: split 663 -> 140 + 199 + 156 + 124 + 103 2026-08-17 14:32:41 +02:00
steam-library-hide-fix-2026-05-17.json steam_backlog_enforcer: fix library_hider crash on invalid AppIDs + improve HLTB hour extraction 2026-05-22 15:59:18 +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
sync-tests-fix-coverage-2026-05.json fix: sync test paths, drop stale assertions, fix coverage gap 2026-05-16 15:46:02 +02:00
syncyomi-library-recovery-2026-08-09.json syncyomi_guard: refuse a collapsed payload as the new good copy 2026-08-10 15:33:18 +02:00
template.json style(prettier): apply markdown/json formatting updates 2026-05-07 22:08:00 +02:00
tether-enforcer-hotspot-bypass-2026-07-13.json phone_focus_mode: block hotspot/tethering to close the second-phone bypass 2026-07-13 10:48:59 +02:00
tether-enforcer-split-2026-08-17.json tether_enforcer: split 267 -> 182 + 103, and grow both deploy lists 2026-08-17 14:38:53 +02:00
thorium-crash-logging-2026-08-09.json Log why Chromium browsers die; whitelist librewolf 2026-08-09 22:27:16 +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
todo-night-whitelist-2026-07-11.json phone_focus_mode: night-whitelist dev.kuhy.todo 2026-07-11 23:32:57 +02:00
token-audit-2026-08-14.json Add token_audit package: per-session token attribution and reporting 2026-08-14 22:20:44 +02:00
token-audit-standing-cost-2026-08-22.json Land the token_audit standing-cost checkup (116 tests, 100% branch coverage) 2026-08-22 14:33:03 +02:00
trace-harness-extra-stubs-2026-08-16.json Let trace_shell_split.sh stub extra binaries per run 2026-08-16 22:51:20 +02:00
trace-harness-stub-values-2026-08-16.json Let trace stubs emit values, so traces reach guarded branches 2026-08-16 22:59:40 +02:00
trace-prefix-writes-2026-08-16.json Close three fail-open paths in the prefix trace harness 2026-08-16 23:38:38 +02:00
trace-shell-split-harness-2026-08-16.json Add an execution-trace harness for shell splits 2026-08-16 22:49:48 +02:00
transcribe-diarize-split-2026-08-17.json _transcribe_diarize: split 356 -> 164 + 143 + 105 2026-08-17 13:59:39 +02:00
transcribe-diarize-tests-2026-08-17.json _transcribe_diarize: cover 0% -> 100% before splitting 2026-08-17 13:54:04 +02:00
transcribe-fw-split-2026-08-17.json transcribe_fw: split 302 -> 236 + 91 2026-08-17 13:43:49 +02:00
transcribe-fw-tests-2026-08-17.json transcribe_fw: cover 0% -> 100% before splitting 2026-08-17 13:40:47 +02:00
transcribe-helpers-split-2026-08-17.json transcribe_helpers: split 289 -> 177 + 142 2026-08-17 13:33:38 +02:00
transcribe-helpers-tests-2026-08-17.json transcribe_helpers: cover 0% -> 100% before splitting 2026-08-17 13:29:07 +02:00
transcribe-lib-tests-2026-08-22.json Give testsAndMisc-bash/lib a harness; cover transcribe_deps and _pkgmgr 2026-08-22 13:14:02 +02:00
transcribe-venv-off-allowlist-2026-08-22.json Clear transcribe_venv.sh: 100%, off the allowlist, 104 -> 103 2026-08-22 13:24:28 +02:00
ublock-origin-wrapper-integration-2026-08-12.json Wire uBlock Origin into every real Chromium launch, alongside LeechBlock 2026-08-12 22:44:28 +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
ubuntu-perf-more-coverage-2026-08-22.json Test ubuntu_perf_more.sh to 100%: allowlist 93 -> 92 2026-08-22 19:25:21 +02:00
unity-handler-off-allowlist-2026-08-22.json Clear unity_handler.sh: 100%, off the allowlist, 105 -> 104 2026-08-22 13:20:54 +02:00
unrooted-focus-mode-policy-and-owner-app-2026-08-05.json Make focus policy and blocklist usable without root; fix workout CDN unblock 2026-08-05 09:15:02 +02:00
untools-app-icon-2026-08-09.json app_icons: add a decision-tree glyph and register untools 2026-08-09 17:23:35 +02:00
usage-report-drop-compute-window-2026-08-17.json usage_report: delete the dead _compute_window shim 2026-08-17 12:57:52 +02:00
usage-report-drop-import-barrel-2026-08-17.json usage_report: import _fmt_h from its owner, not through the render module 2026-08-17 11:38:24 +02:00
usage-report-hz-cpu-fix-20260604.json fix(usage_report): stop charging atop's HZ field as CPU; bundle since-last-report mode 2026-06-04 18:13:47 +02:00
usage-report-main-split-2026-08-17.json usage_report: split usage_report.py 426 -> 101 + 195 + 117 + 68 2026-08-17 12:46:06 +02:00
usage-report-main-tests-2026-08-17.json usage_report: cover usage_report.py 47% -> 100% 2026-08-17 12:21:21 +02:00
usage-report-parsing-split-2026-08-17.json usage_report: split _usage_report_parsing.py 425 -> 243 + 206 2026-08-17 12:12:11 +02:00
usage-report-parsing-tests-2026-08-17.json usage_report: cover _usage_report_parsing.py 39% -> 100% 2026-08-17 12:04:13 +02:00
usage-report-render-split-2026-08-17.json usage_report: split _usage_report_render.py 310 -> 181 + 123 + 24 2026-08-17 11:34:08 +02:00
usage-report-render-tests-2026-08-17.json usage_report: cover _usage_report_render.py 21% -> 100% 2026-08-17 11:20:02 +02:00
usage-report-test-split-2026-08-17.json usage_report: split test_usage_report_since.py 480 -> 186 + 145 + 178 2026-08-17 10:40:06 +02:00
vendor-agent-skills-import.json chore(third_party): vendor agent-skills snapshot 2026-05-07 22:06:00 +02:00
verify-shell-split-script-2026-08-16.json Commit the shell-split verifier and the traps it found 2026-08-16 18:59:20 +02:00
vscode-optimizer-intel-gpu-fix-2026-08-17.json vscode_optimizer: detect Intel iGPUs as Intel, not AMD 2026-08-17 14:49:43 +02:00
vscode-optimizer-move-tests-2026-08-17.json vscode_optimizer: move under python_pkg and cover 0% -> 100% 2026-08-17 13:10:10 +02:00
vscode-optimizer-split-2026-08-17.json vscode_optimizer: split _optimize.py 498 -> 100 + 5 modules 2026-08-17 13:15:50 +02:00
wake-alarm-gatelock-migration-2026-06-22.json Migrate wake_alarm to the shared gatelock backend 2026-06-22 07:33:49 +02:00
wake-alarm-hibernate-2026-05.json wake_alarm + midnight_shutdown: hibernate on alarm nights instead of poweroff 2026-05-22 16:01:04 +02:00
wake-alarm-loudness-typeable-2026-05.json wake_alarm: louder + typeable + multi-fan 2026-05-24 16:20:34 +02:00
wake-alarm-plug-fans-warnings-2026-05.json wake_alarm: Tapo P110 plug control, fan ramp via sudo, loud warnings 2026-05-23 19:51:26 +02:00
wake-alarm-refactor-2026-05-30.json style: prettier format CLAUDE.md and evidence JSON 2026-05-30 22:13:54 +02:00
wake-alarm-restore-display-test-gap-2026-06-22.json Fix the real cause of the wake_alarm CI coverage gap 2026-06-22 09:14:29 +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
wsg-grabber-2026-07-27.json wsg_grabber: scrape /wsg/, download every new video, triage with keep/pass 2026-07-27 14:55:30 +02:00
wsg-grabber-catalog-split-2026-08-16.json Split wsg_grabber/catalog.py under the 250-line cap 2026-08-16 15:36:02 +02:00
wsg-grabber-cli-split-2026-08-16.json Split wsg_grabber/cli.py under the 250-line cap 2026-08-16 15:39:10 +02:00
wsg-grabber-downloader-split-2026-08-16.json Split wsg_grabber/downloader.py under the 250-line cap 2026-08-16 16:01:11 +02:00
wsg-grabber-net-split-2026-08-16.json Split wsg_grabber/net.py under the 250-line cap 2026-08-16 15:45:39 +02:00
wsg-grabber-player-split-2026-08-16.json Split wsg_grabber/player.py under the 250-line cap 2026-08-16 16:05:41 +02:00
wsg-grabber-review-split-2026-08-16.json Split wsg_grabber/review.py under the 250-line cap 2026-08-16 15:42:10 +02:00
wsg-grabber-store-split-2026-08-16.json Split wsg_grabber/store.py under the 250-line cap 2026-08-16 15:52:08 +02:00
wsg-grabber-test-review-split-2026-08-16.json Split wsg_grabber/tests/test_review.py under the 250-line cap 2026-08-16 16:24:48 +02:00
wsg-grabber-test-split-2026-08-16.json Clear the wsg_grabber test modules: python_pkg is now under the cap 2026-08-16 18:19:26 +02:00
wsg-grabber-ui-split-2026-08-16.json Split wsg_grabber/ui.py under the 250-line cap 2026-08-16 16:18:13 +02:00
youtube-block-unrooted-2026-08-09.json Block YouTube on the unrooted Pixel, and trust more than one phone 2026-08-10 19:16:01 +02:00