testsAndMisc/docs/superpowers
Krzysztof kuhy Rudnicki e6b9c730f2 focus_owner: split FocusPolicy.kt 277 -> 238 + types
Moved the four declarations the policy is built from -- the schema version,
PolicyFormatException, CurfewWindow with its midnight-wrapping contains(), and
HomeLocation with its hasCoordinates guard -- to PolicyTypes.kt (48). Same
package, so no call site and no import changed.

Not the loader, though it is the bigger block: FocusPolicy.parse is called at
eight sites, four of them in tests, and making it top-level would rewrite all
of them. That also corrects an earlier reading of mine -- a declaration-name
scan had `parse` down as untested, but every fixture in EnforcementFixtures.kt
goes through it. The scan undercounts transitive exercise, so the seam, not the
file percentage, is what decides these.

40 gradle tests and 94 flutter tests still pass, analyze clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
2026-08-17 10:45:27 +02:00
..
contracts Split reverse_survivors types.ts 295 -> 157 + roster + statuses 2026-08-17 09:57:26 +02:00
evidence focus_owner: split FocusPolicy.kt 277 -> 238 + types 2026-08-17 10:45:27 +02:00
memory style(prettier): apply markdown/json formatting updates 2026-05-07 22:08:00 +02:00
plans feat(phone-focus): add recovery workflow, automation scripts, and docs 2026-05-01 19:07:27 +02:00
sessions chore(agent): add governance checks and artifact workflow scaffolding 2026-05-07 22:03:43 +02:00
specs Bring every markdown file under the cap 2026-08-16 19:25:59 +02:00
workflows chore(agent): add governance checks and artifact workflow scaffolding 2026-05-07 22:03:43 +02:00